Tests for module 'sqrt-ieee'.
[gnulib.git] / ChangeLog
1 2012-02-27  Bruno Haible  <bruno@clisp.org>
2
3         Tests for module 'sqrt-ieee'.
4         * modules/sqrt-ieee-tests: New file.
5         * tests/test-sqrt-ieee.c: New file.
6
7         New module 'sqrt-ieee'.
8         * modules/sqrt-ieee: New file.
9
10         Tests for module 'sqrtf-ieee'.
11         * modules/sqrtf-ieee-tests: New file.
12         * tests/test-sqrtf-ieee.c: New file.
13         * tests/test-sqrt-ieee.h: New file.
14
15         New module 'sqrtf-ieee'.
16         * modules/sqrtf-ieee: New file.
17
18 2012-02-27  Bruno Haible  <bruno@clisp.org>
19
20         remainderl-ieee: Work around test failure on OSF/1.
21         * m4/remainderl-ieee.m4: New file.
22         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
23         present, test whether remainderl works with a zero second argument.
24         Replace it if not.
25         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
26         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
27         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
28         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
29         (Depends-on): Update conditions.
30         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
31         (Depends-on): Add remainder-ieee.
32         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
33         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
34         module.
35
36         remainderf-ieee: Work around test failure on OSF/1.
37         * m4/remainderf-ieee.m4: New file.
38         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
39         present, test whether remainderf works with a zero second argument.
40         Replace it if not.
41         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
42         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
43         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
44         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
45         (Depends-on): Update conditions.
46         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
47         (Depends-on): Add remainder-ieee.
48         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
49         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
50         module.
51
52         remainder-ieee: Work around test failure on OSF/1.
53         * m4/remainder-ieee.m4: New file.
54         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
55         present, test whether remainder works with a zero second argument.
56         Replace it if not.
57         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
58         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
59         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
60         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
61         (Depends-on): Update dependencies.
62         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
63         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
64         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
65
66         Tests for module 'remainderl-ieee'.
67         * modules/remainderl-ieee-tests: New file.
68         * tests/test-remainderl-ieee.c: New file.
69
70         New module 'remainderl-ieee'.
71         * modules/remainderl-ieee: New file.
72
73         Tests for module 'remainder-ieee'.
74         * modules/remainder-ieee-tests: New file.
75         * tests/test-remainder-ieee.c: New file.
76
77         New module 'remainder-ieee'.
78         * modules/remainder-ieee: New file.
79
80         Tests for module 'remainderf-ieee'.
81         * modules/remainderf-ieee-tests: New file.
82         * tests/test-remainderf-ieee.c: New file.
83         * tests/test-remainder-ieee.h: New file.
84
85         New module 'remainderf-ieee'.
86         * modules/remainderf-ieee: New file.
87
88 2012-02-27  Bruno Haible  <bruno@clisp.org>
89
90         modff, modfl: Fix configure syntax error.
91         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
92         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
93
94 2012-02-27  Bruno Haible  <bruno@clisp.org>
95
96         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
97         * m4/fmodl-ieee.m4: New file.
98         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
99         whether fmodl works with zero arguments. Replace it if not.
100         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
101         (Depends-on): Add fmod-ieee.
102         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
103         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
104
105         fmodf-ieee: Work around test failure on OSF/1.
106         * m4/fmodf-ieee.m4: New file.
107         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
108         whether fmodf works with zero arguments. Replace it if not.
109         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
111         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
112         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
113         (Depends-on): Update dependencies.
114         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
115         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
116         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
117
118         fmodf-ieee: Work around test failure on MSVC 9.
119         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
120         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
121
122         fmod-ieee: Work around test failures on OSF/1, mingw.
123         * m4/fmod-ieee.m4: New file.
124         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
125         whether fmod works with zero arguments. Replace it if not.
126         * lib/math.in.h (fmod): New declaration.
127         * lib/fmod.c: New file.
128         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
129         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
130         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
131         * modules/fmod (Files): Add lib/fmod.c.
132         (Depends-on): Add math, isinf, trunc, fma.
133         (configure.ac): Arrange to compile lib/fmod.c if needed.
134         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
135         m4/signbit.m4.
136         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
137         * tests/test-math-c++.cc: Check the declaration of fmod.
138         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
139
140         fmodl-ieee: Fix test failures.
141         * lib/fmodl.c (fmodl): Treat Inf specially.
142         * modules/fmodl (Depends-on): Add isinf.
143
144         Tests for module 'fmodl-ieee'.
145         * modules/fmodl-ieee-tests: New file.
146         * tests/test-fmodl-ieee.c: New file.
147
148         New module 'fmodl-ieee'.
149         * modules/fmodl-ieee: New file.
150
151         Tests for module 'fmod-ieee'.
152         * modules/fmod-ieee-tests: New file.
153         * tests/test-fmod-ieee.c: New file.
154
155         New module 'fmod-ieee'.
156         * modules/fmod-ieee: New file.
157
158         Tests for module 'fmodf-ieee'.
159         * modules/fmodf-ieee-tests: New file.
160         * tests/test-fmodf-ieee.c: New file.
161         * tests/test-fmod-ieee.h: New file.
162
163         New module 'fmodf-ieee'.
164         * modules/fmodf-ieee: New file.
165
166 2012-02-27  Bruno Haible  <bruno@clisp.org>
167
168         Tests for module 'rintl-ieee'.
169         * modules/rintl-ieee-tests: New file.
170         * tests/test-rintl-ieee.c: New file.
171
172         New module 'rintl-ieee'.
173         * modules/rintl-ieee: New file.
174
175         Tests for module 'rint-ieee'.
176         * modules/rint-ieee-tests: New file.
177         * tests/test-rint-ieee.c: New file.
178
179         New module 'rint-ieee'.
180         * modules/rint-ieee: New file.
181
182         Tests for module 'rintf-ieee'.
183         * modules/rintf-ieee-tests: New file.
184         * tests/test-rintf-ieee.c: New file.
185         * tests/test-rint-ieee.h: New file.
186
187         New module 'rintf-ieee'.
188         * modules/rintf-ieee: New file.
189
190 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
191
192         regex: re_search etc. should return -2 when memory exhausted
193         This bug was uncovered when testing 'grep'.  Without the fix,
194         re_search and friends return -1 when memory is exhausted, but -1
195         means no match, and this causes grep to falsely report no-match
196         instead of memory-exhaustion.  See
197         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
198         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
199         trouble; this can occur if re_search_internal ran out of memory.
200
201 2012-02-26  Bruno Haible  <bruno@clisp.org>
202
203         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
204         * m4/modfl-ieee.m4: New file.
205         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
206         whether modfl works with Inf. Replace it if not.
207         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
208         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
209         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
210         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
211         (Depends-on): Update dependencies.
212         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
213         m4/signbit.m4.
214         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
215         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
216
217         modfl-ieee: Fix dependencies.
218         * modules/modfl-ieee (Depends-on): Add modf-ieee.
219
220         modfl-ieee: Fix test failures.
221         * lib/modfl.c (modfl): Treat NaN and Inf specially.
222         * modules/modfl (Depends-on): Add isfinite, isinf.
223
224         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
225         * m4/modff-ieee.m4: New file.
226         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
227         whether modff works with NaN and Inf. Replace it if not.
228         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
229         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
230         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
231         * modules/modff (configure.ac): Consider REPLACE_MODFF.
232         (Depends-on): Update dependencies.
233         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
234         m4/signbit.m4.
235         (Depends-on): Add modf-ieee.
236         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
237         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
238
239         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
240         * m4/modf-ieee.m4: New file.
241         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
242         whether modf works with NaN and Inf. Replace it if not.
243         * lib/math.in.h (modf): New declaration.
244         * lib/modf.c: New file.
245         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
246         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
247         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
248         * modules/modf (Files): Add lib/modf.c.
249         (Depends-on): Add math, isfinite, trunc, isinf.
250         (configure.ac): Addrange to compile lib/modf.c if needed.
251         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
252         m4/signbit.m4.
253         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
254         * tests/test-math-c++.cc: Check the declaration of modf.
255         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
256
257         Tests for module 'modfl-ieee'.
258         * modules/modfl-ieee-tests: New file.
259         * tests/test-modfl-ieee.c: New file.
260
261         New module 'modfl-ieee'.
262         * modules/modfl-ieee: New file.
263
264         Tests for module 'modf-ieee'.
265         * modules/modf-ieee-tests: New file.
266         * tests/test-modf-ieee.c: New file.
267
268         New module 'modf-ieee'.
269         * modules/modf-ieee: New file.
270
271         Tests for module 'modff-ieee'.
272         * modules/modff-ieee-tests: New file.
273         * tests/test-modff-ieee.c: New file.
274         * tests/test-modf-ieee.h: New file.
275
276         New module 'modff-ieee'.
277         * modules/modff-ieee: New file.
278
279 2012-02-26  Bruno Haible  <bruno@clisp.org>
280
281         Tests for module 'fabsl-ieee'.
282         * modules/fabsl-ieee-tests: New file.
283         * tests/test-fabsl-ieee.c: New file.
284
285         New module 'fabsl-ieee'.
286         * modules/fabsl-ieee: New file.
287
288         Tests for module 'fabs-ieee'.
289         * modules/fabs-ieee-tests: New file.
290         * tests/test-fabs-ieee.c: New file.
291
292         New module 'fabs-ieee'.
293         * modules/fabs-ieee: New file.
294
295         Tests for module 'fabsf-ieee'.
296         * modules/fabsf-ieee-tests: New file.
297         * tests/test-fabsf-ieee.c: New file.
298         * tests/test-fabs-ieee.h: New file.
299
300         New module 'fabsf-ieee'.
301         * modules/fabsf-ieee: New file.
302
303 2012-02-26  Bruno Haible  <bruno@clisp.org>
304
305         Tests for module 'fmal-ieee'.
306         * modules/fmal-ieee-tests: New file.
307         * tests/test-fmal-ieee.c: New file.
308
309         New module 'fmal-ieee'.
310         * modules/fmal-ieee: New file.
311
312         Tests for module 'fma-ieee'.
313         * modules/fma-ieee-tests: New file.
314         * tests/test-fma-ieee.c: New file.
315
316         New module 'fma-ieee'.
317         * modules/fma-ieee: New file.
318
319         Tests for module 'fmaf-ieee'.
320         * modules/fmaf-ieee-tests: New file.
321         * tests/test-fmaf-ieee.c: New file.
322         * tests/test-fma-ieee.h: New file.
323
324         New module 'fmaf-ieee'.
325         * modules/fmaf-ieee: New file.
326
327 2012-02-26  Bruno Haible  <bruno@clisp.org>
328
329         Tests for module 'ldexpl-ieee'.
330         * modules/ldexpl-ieee-tests: New file.
331         * tests/test-ldexpl-ieee.c: New file.
332
333         New module 'ldexpl-ieee'.
334         * modules/ldexpl-ieee: New file.
335
336         Tests for module 'ldexp-ieee'.
337         * modules/ldexp-ieee-tests: New file.
338         * tests/test-ldexp-ieee.c: New file.
339
340         New module 'ldexp-ieee'.
341         * modules/ldexp-ieee: New file.
342
343         Tests for module 'ldexpf-ieee'.
344         * modules/ldexpf-ieee-tests: New file.
345         * tests/test-ldexpf-ieee.c: New file.
346         * tests/test-ldexp-ieee.h: New file.
347
348         New module 'ldexpf-ieee'.
349         * modules/ldexpf-ieee: New file.
350
351 2012-02-26  Bruno Haible  <bruno@clisp.org>
352
353         Refactor frexp*-ieee tests.
354         * tests/test-frexp-ieee.h: New file.
355         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
356         (main): Just call test_function.
357         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
358         (main): Just call test_function.
359         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
360         (main): Just call test_function.
361         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
362         * modules/frexp-ieee-tests (Files): Likewise.
363         * modules/frexpl-ieee-tests (Files): Likewise.
364
365         Tests for module 'frexpl-ieee'.
366         * modules/frexpl-ieee-tests: New file.
367         * tests/test-frexpl-ieee.c: New file.
368
369         New module 'frexpl-ieee'.
370         * modules/frexpl-ieee: New file.
371
372         Tests for module 'frexp-ieee'.
373         * modules/frexp-ieee-tests: New file.
374         * tests/test-frexp-ieee.c: New file.
375
376         New module 'frexp-ieee'.
377         * modules/frexp-ieee: New file.
378
379         Tests for module 'frexpf-ieee'.
380         * modules/frexpf-ieee-tests: New file.
381         * tests/test-frexpf-ieee.c: New file.
382
383         New module 'frexpf-ieee'.
384         * modules/frexpf-ieee: New file.
385
386 2012-02-26  Bruno Haible  <bruno@clisp.org>
387
388         roundl-ieee tests: More tests.
389         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
390         (main): Add tests for [MX] shaded specification in POSIX.
391         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
392         (Depends-on): Add isnanl-nolibm.
393
394         round-ieee tests: More tests.
395         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
396         (main): Add tests for [MX] shaded specification in POSIX.
397         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
398         (Depends-on): Add isnand-nolibm.
399
400         roundf-ieee tests: More tests.
401         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
402         (main): Add tests for [MX] shaded specification in POSIX.
403         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
404         (Depends-on): Add isnanf-nolibm.
405
406         truncl-ieee tests: More tests.
407         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
408         (main): Add tests for [MX] shaded specification in POSIX.
409         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
410         (Depends-on): Add isnanl-nolibm.
411
412         trunc-ieee tests: More tests.
413         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
414         (main): Add tests for [MX] shaded specification in POSIX.
415         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
416         (Depends-on): Add isnand-nolibm.
417
418         truncf-ieee tests: More tests.
419         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
420         (main): Add tests for [MX] shaded specification in POSIX.
421         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
422         (Depends-on): Add isnanf-nolibm.
423
424         ceill-ieee tests: More tests.
425         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
426         (main): Add tests for [MX] shaded specification in POSIX.
427         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
428         (Depends-on): Add isnanl-nolibm.
429
430         ceil-ieee tests: More tests.
431         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
432         (main): Add tests for [MX] shaded specification in POSIX.
433         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
434         (Depends-on): Add isnand-nolibm.
435
436         ceilf-ieee tests: More tests.
437         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
438         (main): Add tests for [MX] shaded specification in POSIX.
439         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
440         (Depends-on): Add isnanf-nolibm.
441
442         floorl-ieee tests: More tests.
443         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
444         (main): Add tests for [MX] shaded specification in POSIX.
445         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
446         (Depends-on): Add isnanl-nolibm.
447
448         floor-ieee tests: More tests.
449         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
450         (main): Add tests for [MX] shaded specification in POSIX.
451         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
452         (Depends-on): Add isnand-nolibm.
453
454         floorf-ieee tests: More tests.
455         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
456         (main): Add tests for [MX] shaded specification in POSIX.
457         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
458         (Depends-on): Add isnanf-nolibm.
459
460 2012-02-26  Bruno Haible  <bruno@clisp.org>
461
462         fpieee: More comments.
463         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
464
465 2012-02-25  Bruno Haible  <bruno@clisp.org>
466
467         Tests for module 'log10l'.
468         * modules/log10l-tests: New file.
469         * tests/test-log10l.c: New file.
470         * tests/test-math-c++.cc: Check the declaration of log10l.
471
472         New module 'log10l'.
473         * lib/math.in.h (log10l): New declaration.
474         * lib/log10l.c: New file.
475         * m4/log10l.m4: New file.
476         * modules/log10l: New file.
477         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
478         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
479         HAVE_DECL_LOG10L.
480         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
481         HAVE_DECL_LOG10L.
482         * doc/posix-functions/log10l.texi: Mention the new module.
483
484 2012-02-25  Bruno Haible  <bruno@clisp.org>
485
486         fmodl, remainder*: Avoid wrong results due to rounding errors.
487         * lib/fmodl.c (fmodl): Correct the result if it is not within the
488         expected bounds.
489         * lib/remainderf.c (remainderf): Likewise.
490         * lib/remainder.c (remainder): Likewise.
491         * lib/remainderl.c (remainderl): Likewise.
492
493 2012-02-25  Bruno Haible  <bruno@clisp.org>
494
495         Tests for module 'remainderl'.
496         * modules/remainderl-tests: New file.
497         * tests/test-remainderl.c: New file.
498         * tests/test-math-c++.cc: Check the declaration of remainderl.
499
500         New module 'remainderl'.
501         * lib/math.in.h (remainderl): New declaration.
502         * lib/remainderl.c: New file.
503         * m4/remainderl.m4: New file.
504         * modules/remainderl: New file.
505         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
506         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
507         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
508         HAVE_REMAINDERL.
509         * doc/posix-functions/remainderl.texi: Mention the new module.
510
511 2012-02-25  Bruno Haible  <bruno@clisp.org>
512
513         Tests for module 'remainderf'.
514         * modules/remainderf-tests: New file.
515         * tests/test-remainderf.c: New file.
516         * tests/test-math-c++.cc: Check the declaration of remainderf.
517
518         New module 'remainderf'.
519         * lib/math.in.h (remainderf): New declaration.
520         * lib/remainderf.c: New file.
521         * m4/remainderf.m4: New file.
522         * modules/remainderf: New file.
523         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
524         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
525         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
526         HAVE_REMAINDERF.
527         * doc/posix-functions/remainderf.texi: Mention the new module.
528
529 2012-02-25  Bruno Haible  <bruno@clisp.org>
530
531         remainder: Support for MSVC.
532         * lib/math.in.h (remainder): New declaration.
533         * lib/remainder.c: New file.
534         * m4/remainder.m4: New file.
535         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
536         (Depends-on): Add math, round, fma.
537         (configure.ac): Use results of gl_FUNC_REMAINDER.
538         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
539         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
540         HAVE_DECL_REMAINDER.
541         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
542         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
543         * tests/test-math-c++.cc: Check the declaration of remainder.
544         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
545         problems are fixed.
546
547 2012-02-25  Bruno Haible  <bruno@clisp.org>
548
549         Tests for module 'fmodl'.
550         * modules/fmodl-tests: New file.
551         * tests/test-fmodl.c: New file.
552         * tests/test-math-c++.cc: Check the declaration of fmodl.
553
554         New module 'fmodl'.
555         * lib/math.in.h (fmodl): New declaration.
556         * lib/fmodl.c: New file.
557         * m4/fmodl.m4: New file.
558         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
559         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
560         REPLACE_FMODL.
561         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
562         REPLACE_FMODL.
563         * modules/fmodl: New file.
564         * doc/posix-functions/fmodl.texi: Mention the new module.
565
566 2012-02-25  Bruno Haible  <bruno@clisp.org>
567
568         Tests for module 'modfl'.
569         * modules/modfl-tests: New file.
570         * tests/test-modfl.c: New file.
571         * tests/test-math-c++.cc: Check the declaration of modfl.
572
573         New module 'modfl'.
574         * lib/math.in.h (modfl): New declaration.
575         * lib/modfl.c: New file.
576         * m4/modfl.m4: New file.
577         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
578         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
579         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
580         * modules/modfl: New file.
581         * doc/posix-functions/modfl.texi: Mention the new module.
582
583 2012-02-25  Bruno Haible  <bruno@clisp.org>
584
585         Tests for module 'fabsl'.
586         * modules/fabsl-tests: New file.
587         * tests/test-fabsl.c: New file.
588         * tests/test-math-c++.cc: Check the declaration of fabsl.
589
590         New module 'fabsl'.
591         * lib/math.in.h (fabsl): New declaration.
592         * lib/fabsl.c: New file.
593         * m4/fabsl.m4: New file.
594         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
595         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
596         REPLACE_FABSL.
597         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
598         REPLACE_FABSL.
599         * modules/fabsl: New file.
600         * doc/posix-functions/fabsl.texi: Mention the new module.
601
602 2012-02-25  Bruno Haible  <bruno@clisp.org>
603
604         fabs tests: More tests.
605         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
606         (zero): New variable.
607         (main): Add tests for signed zero.
608         * modules/fabs-tests (Files): Add tests/minus-zero.h.
609
610         fabsf tests: More tests.
611         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
612         (zero): New variable.
613         (main): Add tests for signed zero.
614         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
615
616 2012-02-24  Bruno Haible  <bruno@clisp.org>
617
618         atanl: Provide function definition on MSVC.
619         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
620         function pointer.
621         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
622
623 2012-02-24  Bruno Haible  <bruno@clisp.org>
624
625         acosl: Provide function definition on MSVC.
626         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
627         function pointer.
628         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
629
630 2012-02-24  Bruno Haible  <bruno@clisp.org>
631
632         asinl: Provide function definition on MSVC.
633         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
634         function pointer.
635         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
636
637 2012-02-24  Bruno Haible  <bruno@clisp.org>
638
639         tanl: Provide function definition on MSVC.
640         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
641         function pointer.
642         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
643
644 2012-02-24  Bruno Haible  <bruno@clisp.org>
645
646         cosl: Provide function definition on MSVC.
647         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
648         function pointer.
649         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
650
651 2012-02-24  Bruno Haible  <bruno@clisp.org>
652
653         sinl: Provide function definition on MSVC.
654         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
655         function pointer.
656         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
657
658 2012-02-24  Bruno Haible  <bruno@clisp.org>
659
660         logl: Provide function definition on MSVC.
661         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
662         function pointer.
663         * lib/math.in.h (logl): Undefine if it does not exist as a function.
664
665 2012-02-24  Bruno Haible  <bruno@clisp.org>
666
667         expl: Provide function definition on MSVC.
668         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
669         function pointer.
670         * lib/math.in.h (expl): Undefine if it does not exist as a function.
671
672 2012-02-24  Bruno Haible  <bruno@clisp.org>
673
674         sqrtl: Provide function definition on MSVC.
675         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
676         a function pointer.
677         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
678
679 2012-02-24  Bruno Haible  <bruno@clisp.org>
680
681         ceill: Provide function definition on MSVC.
682         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
683         used as a function pointer.
684         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
685
686 2012-02-24  Bruno Haible  <bruno@clisp.org>
687
688         floorl: Provide function definition on MSVC.
689         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
690         used as a function pointer.
691         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
692
693 2012-02-24  Bruno Haible  <bruno@clisp.org>
694
695         ceilf: Provide function definition on MSVC.
696         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
697         used as a function pointer.
698         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
699
700 2012-02-24  Bruno Haible  <bruno@clisp.org>
701
702         floorf: Provide function definition on MSVC.
703         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
704         used as a function pointer.
705         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
706
707 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
708
709         stdnoreturn: new module
710         This implements a replacement for C11's <stdnoreturn.h>.
711         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
712         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
713         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
714         * tests/test-stdnoreturn.c: New files.
715
716 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
717
718         regex: fix false multibyte matches in some regular expressions
719         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
720         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
721         * lib/regex_internal.c (re_string_skip_chars):
722         Fix miscomputation of remain_len that may cause incomplete
723         multi-byte character and false match.
724
725 2012-02-24  Jim Meyering  <meyering@redhat.com>
726
727         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
728         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
729         uses with "==" *before* the call, e.g., 0 == strcmp (...)
730         Remove now-unnecessary str''cmp obfuscation.
731         Suggested by Akim Demaille.
732
733 2012-02-24  Bruno Haible  <bruno@clisp.org>
734
735         streq: Rename macro.
736         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
737         * NEWS: Mention the change.
738         * lib/mbrtowc.c (mbrtowc): Update.
739         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
740         * lib/wcwidth.c (wcwidth): Update.
741         Suggested by Akim Demaille and Jim Meyering.
742
743 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
744
745         regex: fix typo in definition of MIN
746         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
747         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
748
749 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
750             Bruno Haible  <bruno@clisp.org>
751
752         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
753         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
754         entries into a stack-allocated buffer directly.
755         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
756
757 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
758             Bruno Haible  <bruno@clisp.org>
759
760         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
761
762          - There were several instances of this pattern:
763
764              for (;;) {
765                n = acl (f, GETACLCNT, 0, NULL);
766                [ allocate an array A of size N ]
767                if (acl (f, GETACL, n, a) == n)
768                  break;
769              }
770
771            This loop might never terminate if some other process is constantly
772            manipulating the file's ACL.  The loop should be rewritten to
773            terminate.
774
775          - The acl (... GETACLNT ...) call is merely an optimization; its value
776            is merely a hint as to how big to make the array.  A better
777            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
778            and just guess a reasonably-big size, growing the size and trying
779            again if it's not large enough.  This guarantees termination, and
780            saves a system call.
781
782         * lib/acl-internal.h: Include <limits.h>.
783         (MIN, SIZE_MAX): New macros.
784         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
785         a stack-allocated buffer, and use malloc if it does not fit. Don't
786         use GETACLCNT.
787         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
788
789 2012-02-19  Bruno Haible  <bruno@clisp.org>
790
791         acl: Fix endless loop on Solaris with vxfs.
792         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
793         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
794         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
795         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
796         * tests/test-sameacls.c (main)[Solaris]: Likewise.
797         Reported by Bill Jones in
798         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
799
800 2012-02-19  Bruno Haible  <bruno@clisp.org>
801
802         acl: Fix copy-acl test failure on Solaris 11 2011-11.
803         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
804         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
805         that this function returns 0 in some more cases.
806
807 2012-02-19  Bruno Haible  <bruno@clisp.org>
808
809         acl: Update doc references.
810         * doc/acl-resources.txt: Update links to Solaris documentation.
811
812 2012-02-19  Bruno Haible  <bruno@clisp.org>
813
814         Fix test failure in many locales on Solaris 11.
815         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
816         'tr' arguments.
817         * tests/test-pipe-filter-ii1.c (main): Likewise.
818         * build-aux/bootstrap (check_versions): Run 'tr' command with range
819         expressions in the C locale.
820         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
821         * m4/host-os.m4 (gl_HOST_OS): Likewise.
822
823 2012-02-19  Bruno Haible  <bruno@clisp.org>
824
825         gnulib-tool: Improve usage message.
826         * gnulib-tool (func_usage): Move doc of --help and --version to the
827         section "Operation modes".
828
829 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
830
831         README-release: make it easier to execute commands
832         * top/README-release: break commands out on to separate lines.
833
834 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
835
836         GNUmakefile: simplify detection of unconfigured trees
837         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
838         whether the tree make is being run from is already configured or
839         not.  Related simplifications.
840
841 2012-02-13  Simon Josefsson  <simon@josefsson.org>
842
843         * gnulib-tool (func_usage): Document --help and --version.
844
845 2012-02-11  Jim Meyering  <meyering@redhat.com>
846
847         bootstrap: don't exit 0 upon gnulib-tool failure
848         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
849         its exit status, not 0.
850
851 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
852
853         README-release: various improvements
854         * top/README-release: Give a command to push changes for the
855         release.  Add "distcheck" to list of other pre-release checks.
856         Fix instance of "make stable" which should be "make TYPE".
857
858 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
859
860         maint: replace FSF snail-mail addresses with URLs
861         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
862         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
863         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
864         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
865         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
866         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
867         * lib/check-version.c, lib/check-version.h, lib/config.charset:
868         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
869         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
870         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
871         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
872         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
873         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
874         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
875         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
876         * lib/glthread/thread.c, lib/glthread/thread.h:
877         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
878         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
879         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
880         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
881         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
882         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
883         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
884         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
885         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
886         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
887         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
888         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
889         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
890         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
891         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
892         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
893         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
894         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
895         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
896         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
897         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
898         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
899         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
900         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
901         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
902         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
903         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
904         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
905         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
906         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
907         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
908         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
909         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
910         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
911         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
912         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
913         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
914         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
915         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
916         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
917         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
918         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
919         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
920         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
921         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
922         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
923         * tests/test-poll.c, tests/test-quotearg-simple.c:
924         * tests/test-quotearg.c, tests/test-quotearg.h:
925         * tests/test-round-ieee.c, tests/test-round1.c:
926         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
927         * tests/test-roundl-ieee.c, tests/test-roundl.c:
928         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
929         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
930         * tests/test-strerror.c, tests/test-strerror_r.c:
931         * tests/test-strsignal.c, tests/test-strverscmp.c:
932         * tests/test-xmemdup0.c:
933         Replace FSF snail mail addresses with URLs, as per GNU coding
934         standards.  See glibc bug
935         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
936
937 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
938
939         README-release: capitalize a word and split a line
940         * top/README-release: Fix punctuation and spacing.
941
942 2012-02-08  Akim Demaille  <demaille@gostai.com>
943
944         fatal-signal: use C prototypes (with explicit void).
945         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
946         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
947
948 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
949
950         regex: spelling fix
951         * lib/regexec.c: spelling fix
952
953         regex: rely on stdint.h for SIZE_MAX
954         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
955
956 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
957
958         regex: merge glibc changes
959
960         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
961         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
962         (init_word_char): Work even if bitset words are not exactly 32 or
963         64 bits wide.  Don't assume there are no padding bits.
964         * lib/regex.c [_LIBC]: Do not include <config.h>.
965         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
966         and -Wtype-limits.
967         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
968         needless disagreement with glibc.  All uses changed.  Define it to
969         1 only if _GNU_SOURCE, to match glibc.
970         (_REG_RM_NAME): Remove; no longer needed, since the names in
971         question are now all protected by __USE_GNU.
972         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
973         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
974         * lib/regex_internal.h (MIN): New macro.
975
976         2012-01-03 Ulrich Drepper <drepper@gmail.com>
977         * lib/regcomp.c (init_word_char): Optimize regex a bit.
978
979         2011-12-30 Jakub Jelinek <jakub@redhat.com>
980         * lib/regex_internal.c (re_string_fetch_byte_case):
981         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
982         is miscompiled, and it turns out it is because of an incorrect
983         attribute on re_string_fetch_byte_case.  Unlike
984         re_string_peek_byte_case, this one is really not pure, it modifies
985         memory (increments pstr->cur_idx), and with the pure attribute GCC
986         assumed it doesn't and it cached the presumed value of
987         regexp->cur_idx in a variable across the
988          for (;; ++i)
989            {
990              if (i >= BRACKET_NAME_BUF_SIZE)
991                return REG_EBRACK;
992              if (token->type == OP_OPEN_CHAR_CLASS)
993                ch = re_string_fetch_byte_case (regexp);
994              else
995                ch = re_string_fetch_byte (regexp);
996              if (re_string_eoi(regexp))
997                return REG_EBRACK;
998              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
999                break;
1000              elem->opr.name[i] = ch;
1001            }
1002
1003         2011-11-29 Andreas Schwab <schwab@redhat.com>
1004         * lib/regcomp.c (build_equiv_class):
1005         Fix access after end of search string in regex matcher.
1006
1007         2011-11-12 Ulrich Drepper <drepper@redhat.com>
1008         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
1009
1010         2011-10-12 Ulrich Drepper <drepper@redhat.com>
1011         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
1012
1013         2011-10-11 Ulrich Drepper <drepper@redhat.com>
1014         * lib/regcomp.c (parse_branch, parse_sub_exp):
1015         More regex memory leak fixes and tests.
1016         (parse_sub_exp, parse_bracket_exp):
1017         Fix memory leak for some invalid regular expressions.
1018
1019         2011-05-28 Ulrich Drepper <drepper@gmail.com>
1020         * lib/regex_internal.c, lib/regexec.c:
1021         Fix unnecessary overallocation due to incomplete character.  When
1022         incomplete characters are found at the end of a string the code
1023         ran amok and allocated lots of memory.  Stricter limits are now in
1024         place.
1025
1026         2011-05-20 Reuben Thomas <rrt@sc3d.org>
1027         * lib/regex.h: Update documentation.
1028
1029         2011-05-16 Aharon Robbins <arnold@skeeve.com>
1030         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
1031
1032         2010-05-05 Andreas Schwab <schwab@redhat.com>
1033         * lib/regexec.c (find_collation_sequence_value):
1034         Fix lookup of collation sequence value during regexp matching.
1035
1036         2010-01-22 Ulrich Drepper <drepper@redhat.com>
1037         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
1038
1039         2008-01-16 Ulrich Drepper <drepper@redhat.com>
1040         * lib/regex.h: Cleanup namespace.
1041
1042         2007-11-26 Ulrich Drepper <drepper@redhat.com>
1043         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
1044
1045         2007-08-26 Ulrich Drepper <drepper@redhat.com>
1046         * lib/regex_internal.h: Prevent some declarations and definitions
1047         to be seen when used in tests.
1048
1049         2005-05-06 Ulrich Drepper <drepper@redhat.com>
1050         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
1051         __libc_lock_* macros if not _LIBC.
1052         (struct re_dfa_t): Add lock.
1053
1054 2012-02-07  Eric Blake  <eblake@redhat.com>
1055
1056         maint.mk: also prohibit lower-case @var@
1057         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
1058         lower case, like @top_srcdir@.
1059
1060 2012-02-04  Eric Blake  <eblake@redhat.com>
1061
1062         canonicalize: avoid uninitialized memory use
1063         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
1064         random '/' left in dest.
1065         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
1066
1067 2012-02-04  Bruno Haible  <bruno@clisp.org>
1068
1069         isatty: Fix test failure of ptsname_r on native Windows.
1070         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
1071         and don't set errno.
1072         (isatty): Test first whether fd is valid. Set errno when returning 0.
1073
1074 2012-02-04  Bruno Haible  <bruno@clisp.org>
1075
1076         spawn-pipe tests: Fix a NULL program name in a diagnostic.
1077         * tests/test-spawn-pipe-main.c: Include progname.h.
1078         (main): Invoke set_program_name.
1079         * modules/spawn-pipe-tests (Depends-on): Add progname.
1080
1081         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
1082         * tests/test-nonblocking-socket-main.c: Include progname.h.
1083         (main): Invoke set_program_name.
1084         * modules/nonblocking-socket-tests (Depends-on): Add progname.
1085
1086         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
1087         * tests/test-nonblocking-pipe-main.c: Include progname.h.
1088         (main): Invoke set_program_name.
1089         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
1090
1091 2012-02-04  Eric Blake  <eblake@redhat.com>
1092
1093         canonicalize-lgpl: fix // handling
1094         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
1095
1096         canonicalize: fix // handling
1097         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
1098         /// to //, since only // is special.
1099
1100 2012-02-04  Bruno Haible  <bruno@clisp.org>
1101
1102         ioctl: Fix test failure on native Windows.
1103         * lib/ioctl.c: Include msvc-nothrow.h.
1104         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
1105
1106 2012-02-04  Bruno Haible  <bruno@clisp.org>
1107
1108         fsync: Avoid test failure on native Windows.
1109         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
1110         read-only.
1111
1112 2012-02-04  Bruno Haible  <bruno@clisp.org>
1113
1114         sys_select: Avoid syntax error on OpenBSD 5.0.
1115         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
1116         currently being included, just include the system's <sys/select.h>.
1117
1118 2012-02-04  Bruno Haible  <bruno@clisp.org>
1119
1120         sys_select: Avoid syntax error on OpenBSD 5.0.
1121         * lib/sys_select.in.h: Include <signal.h> only after the include_next
1122         <sys/select.h>, not before.
1123         Reported by Jiri B <jirib@devio.us>.
1124
1125 2012-02-04  Bruno Haible  <bruno@clisp.org>
1126
1127         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
1128         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
1129         global variables.
1130         * tests/test-get-rusage-data.c (main): Likewise.
1131         Reported by Jim Meyering.
1132
1133 2012-02-04  Bruno Haible  <bruno@clisp.org>
1134
1135         stdioext: Fix last commit.
1136         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
1137
1138 2012-02-03  Bruno Haible  <bruno@clisp.org>
1139
1140         stdioext: Add tentative support for Plan9.
1141         * lib/stdio-impl.h: Include <errno.h>.
1142         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
1143         * lib/freadable.c (freadable): Likewise.
1144         * lib/fwritable.c (fwritable): Likewise.
1145         * lib/fbufmode.c (fbufmode): Likewise.
1146         * lib/freading.c (freading): Likewise.
1147         * lib/fwriting.c (fwriting): Likewise.
1148         * lib/freadptr.c (freadptr): Likewise.
1149         * lib/freadseek.c (freadptrinc): Likewise.
1150         * lib/freadahead.c (freadahead): Likewise.
1151         * lib/fpurge.c (fpurge): Likewise.
1152         * lib/fseeko.c (rpl_fseeko): Likewise.
1153         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
1154         Reported by Jens Staal <staal1978@gmail.com>.
1155
1156 2012-02-02  Jim Meyering  <meyering@redhat.com>
1157
1158         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
1159         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
1160         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
1161         not even to try to add the attribute.  Instead, add a pragma to suppress
1162         the suggestion/warning.
1163
1164 2012-01-31  Karl Berry  <karl@gnu.org>
1165
1166         setstate doc: typo.
1167         * doc/posix-functions/setstate.texi (setstate): { not (.
1168
1169 2012-01-31  Bruno Haible  <bruno@clisp.org>
1170
1171         popen: Make more robust on Windows.
1172         * lib/popen.c: On native Windows, use the _popen based code even if
1173         HAVE_POPEN is set.
1174         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
1175         environment variable on native Windows.
1176
1177 2012-01-30  Bruno Haible  <bruno@clisp.org>
1178
1179         pclose: Fix typo.
1180         * lib/stdio.in.h (pclose): Fix typo in warning message.
1181
1182 2012-01-30  Bruno Haible  <bruno@clisp.org>
1183
1184         doc about getlogin_r, setstate.
1185         * doc/posix-functions/getlogin_r.texi: List the incompatible
1186         declaration problem under "not fixed by gnulib".
1187         * doc/posix-functions/setstate.texi: Mention incompatible declaration
1188         problem on Solaris 11 and other platforms.
1189
1190 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
1191             Bruno Haible  <bruno@clisp.org>
1192
1193         poll tests: Make test more robust.
1194         * tests/test-poll.c: Include macros.h.
1195         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
1196         return value of various I/O operations.
1197         * modules/poll-tests (Files): Add tests/macros.h.
1198
1199 2012-01-30  Bruno Haible  <bruno@clisp.org>
1200
1201         sys_stat: Fix support for mingw64 and MSVC.
1202         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
1203         header files already do it.
1204         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
1205         stat itself.
1206         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
1207
1208 2012-01-30  Bruno Haible  <bruno@clisp.org>
1209
1210         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
1211         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
1212         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
1213
1214 2012-01-29  Bruno Haible  <bruno@clisp.org>
1215
1216         quotearg: Fix test failure on MacOS X 10.5.
1217         * tests/test-quotearg-simple.c: Include localcharset.h.
1218         (main): If the locale encoding is not ASCII, bypass the tests of
1219         locale_quoting_style and clocale_quoting_style.
1220         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
1221
1222 2012-01-29  Jim Meyering  <meyering@redhat.com>
1223
1224         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
1225         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
1226         detect uses of canonicalize_file_name.
1227
1228 2012-01-28  Bruno Haible  <bruno@clisp.org>
1229
1230         test-framework-sh: Fix test failure with AIX 7.1 diff.
1231         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
1232         in column 1, like 'diff -c' does.
1233         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
1234         whether 'diff -u' is used. Instead, test whether the output contains
1235         some '@' character.
1236
1237 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1238
1239         strtoimax: eliminate need for stdint.h, inttypes.h checks
1240         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
1241         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
1242         the prerequisites for a recently-introduced strtoimax test.
1243         I guess this might cause strtoimax to be replaced when not
1244         strictly necessary on older hosts, but this shouldn't introduce
1245         any bugs and it should make Emacs 'configure' faster on typical
1246         modern hosts.  Problem discovered when importing the latest gnulib
1247         to an Emacs test version.
1248         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
1249
1250 2012-01-28  Bruno Haible  <bruno@clisp.org>
1251
1252         sys_time: Override 'struct timeval' on some native Windows platforms.
1253         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
1254         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
1255         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
1256         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
1257         needs to be overridden.
1258         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
1259         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
1260         * tests/test-sys_select.c: Check that the tv_sec member has the same
1261         size as a 'time_t'.
1262         * tests/test-sys_time.c: Likewise.
1263         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
1264         is set, set also REPLACE_GETTIMEOFDAY.
1265         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
1266         convert the resulting 'struct timeval' before returning.
1267         * lib/select.c: Include <sys/time.h>.
1268         (select, timeval): Undefine at the right place.
1269         * modules/select (Depends-on): Add sys_time.
1270         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
1271         some Windows platforms.
1272         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
1273
1274 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1275
1276         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
1277         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
1278         an integer.
1279         * lib/fcntl.c (dupfd): Likewise.
1280         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
1281
1282 2012-01-28  Bruno Haible  <bruno@clisp.org>
1283
1284         fcntl: Avoid compilation error on native Windows.
1285         * modules/fcntl (Depends-on): Add 'close'.
1286
1287 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1288
1289         select, poll, isatty: Avoid warnings on x86_64 mingw64.
1290         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
1291         pointer to an integer.
1292         * lib/poll.c (IsConsoleHandle): Likewise.
1293         * lib/isatty.c (IsConsoleHandle): Likewise.
1294
1295 2012-01-28  Jim Meyering  <meyering@redhat.com>
1296
1297         doc: clarify README-release
1298         * top/README-release: Clarify: you should make a point to have
1299         the latest stable versions of build tools in your PATH, and the
1300         reference to buildreq is solely for its list of tool names, not
1301         for its minimal-functional version numbers.
1302         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
1303
1304         maint.mk: use more readable (yet functionally equivalent) quoting
1305         It is common to quote a single quote in a single quoted string like
1306         this:  '...'\''...'.  Unless you know the idiom, that looks like
1307         gibberish, so prefer to double-quote the string when possible.
1308         Then you can use a more readable, lone single quote: "...'..."
1309         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
1310         "don't" is more readable than the equivalent 'don'\''t'.
1311         (sc_cast_of_x_alloc_return_value): Likewise.
1312         (sc_cast_of_alloca_return_value): Likewise.
1313         (sc_makefile_path_separator_check): Similar: use ":" in '...',
1314         rather than '\'':'\''.
1315
1316 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1317
1318         stdalign: relax _Alignof and tighten _Alignas test
1319         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
1320         as it was too strict: alignof must divide offsetof, but it need
1321         not equal offsetof.  Inspired by Joseph S. Myers's comment
1322         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
1323         Conversely, tighten the _Alignas test a bit, as the resulting
1324         alignment must be exactly 8.
1325
1326 2012-01-27  Bruno Haible  <bruno@clisp.org>
1327
1328         stdalign: Document the last change.
1329         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
1330
1331 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1332
1333         stdalign: check that alignof and offsetof are consistent
1334         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
1335         Problem reported for gnulib by Richard W.M. Jones in
1336         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
1337
1338 2012-01-27  Jim Meyering  <meyering@redhat.com>
1339
1340         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
1341         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
1342         convert a sequence with gaps to the minimal containing range.
1343         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
1344         * tests/test-update-copyright.sh: Test for this.
1345         The FSF confirmed it is ok to do this, assuming there is at
1346         least one significant change per year in the affected range:
1347         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
1348
1349 2012-01-26  Bruno Haible  <bruno@clisp.org>
1350
1351         pipe2: refine doc about thread-safety
1352         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
1353         multithread-safety problem.
1354         * doc/glibc-functions/accept4.texi: Likewise.
1355
1356 2012-01-26  Bruno Haible  <bruno@clisp.org>
1357
1358         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
1359         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
1360         In the test program, include <fcntl.h>, for O_RDONLY.
1361
1362 2012-01-26  Eric Blake  <eblake@redhat.com>
1363
1364         pipe2: document lack of thread-safety in replacement
1365         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
1366         issue in replacement.
1367         * doc/glibc-functions/accept4.texi (accept4): Likewise.
1368         Based on a report by Eric Wong.
1369
1370 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1371             Bruno Haible  <bruno@clisp.org>
1372
1373         malloca: Avoid warnings on x86_64 mingw64.
1374         * lib/malloca.c: Include <stdint.h>.
1375         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
1376         * modules/malloca (Depends-on): Add stdint.
1377         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
1378
1379 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
1380
1381         obstack: remove __STDC__ conditionals
1382         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
1383         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
1384         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
1385         m4/include_next.m4 as the only gnulib-maintained places that still
1386         refer to __STDC__.
1387
1388 2012-01-24  Bruno Haible  <bruno@clisp.org>
1389
1390         havelib: Modern quoting.
1391         * build-aux/config.rpath: Quote 'like this', not `like this', as per
1392         the recent change to the GNU coding standards.
1393
1394 2012-01-24  Bruno Haible  <bruno@clisp.org>
1395
1396         stdint: Improve support for Android.
1397         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
1398         Reported by Simon Josefsson <simon@josefsson.org>.
1399
1400 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1401
1402         doc: omit trailing empty lines from INSTALL etc.
1403         * doc/Makefile (INSTALL): Omit trailing empty lines.
1404         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
1405         omit trailing empty lines.  This simplifies the build procedure.
1406
1407 2012-01-23  Jim Meyering  <meyering@redhat.com>
1408
1409         tests: avoid spurious warnings about gl_sockets_startup
1410         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
1411         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
1412         reporting a "statement with no effect".
1413         * tests/test-accept.c (main): Mark as "(void)".
1414         * tests/test-accept4.c (main): Likewise.
1415         * tests/test-bind.c (main): Likewise.
1416         * tests/test-connect.c (main): Likewise.
1417         * tests/test-getpeername.c (main): Likewise.
1418         * tests/test-getsockname.c (main): Likewise.
1419         * tests/test-getsockopt.c (main): Likewise.
1420         * tests/test-listen.c (main): Likewise.
1421         * tests/test-recv.c (main): Likewise.
1422         * tests/test-recvfrom.c (main): Likewise.
1423         * tests/test-send.c (main): Likewise.
1424         * tests/test-sendto.c (main): Likewise.
1425         * tests/test-setsockopt.c (main): Likewise.
1426         * tests/test-shutdown.c (main): Likewise.
1427
1428 2012-01-21  Bruno Haible  <bruno@clisp.org>
1429
1430         locale-fr.m4: Fix for Android.
1431         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
1432         failure of the test program on Bionic libc.
1433
1434 2012-01-21  Jim Meyering  <meyering@redhat.com>
1435
1436         bootstrap: fail when bootstrap_post_import_hook fails
1437         Otherwise, it's far too easy to miss diagnostics emitted
1438         between gnulib-tool's output and that of running configure.
1439         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
1440
1441 2012-01-17  Jim Meyering  <meyering@redhat.com>
1442
1443         maint: enable sc_trailing_blank
1444         * build-aux/pmccabe.css: Remove trailing blanks.
1445         * doc/acl-cygwin.txt: Likewise.
1446         * doc/gnu-oids.texi: Likewise
1447         * cfg.mk: Enable sc_trailing_blank.
1448         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
1449
1450 2012-01-17  Jim Meyering  <meyering@redhat.com>
1451
1452         maint: enable sc_prohibit_openat_without_use
1453         * cfg.mk: Enable sc_prohibit_openat_without_use.
1454         Exempt lib/selinux-at.c.
1455
1456 2012-01-17  Jim Meyering  <meyering@redhat.com>
1457
1458         maint: enable sc_prohibit_cloexec_without_use
1459         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
1460         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
1461
1462 2012-01-17  Jim Meyering  <meyering@redhat.com>
1463
1464         maint: enable sc_prohibit_intprops_without_use
1465         * cfg.mk: Enable sc_prohibit_intprops_without_use
1466         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
1467
1468 2012-01-17  Jim Meyering  <meyering@redhat.com>
1469
1470         maint: enable sc_prohibit_hash_pjw_without_use
1471         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
1472         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
1473         to match any use of \<hash_pjw\>, i.e., not necessarily with a
1474         following " (".
1475
1476 2012-01-17  Jim Meyering  <meyering@redhat.com>
1477
1478         maint: enable double-word-prohibiting rule
1479         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
1480         Exempt three files.
1481
1482 2012-01-17  Jim Meyering  <meyering@redhat.com>
1483
1484         maint: remove empty lines at EOF, but excluding modules/*
1485         Apply syntax rules at home as well as abroad.  Most changes
1486         were induced by running this:
1487           make srcdir=. _build-aux=build-aux -f top/maint.mk \
1488             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
1489             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
1490         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
1491         Exempt modules/* and two binary files.
1492         Also exempt doc/INSTALL*, per request from Bruno Haible.
1493         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
1494         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
1495         * doc/Copyright/request-assign.future: Likewise.
1496         * doc/Copyright/request-disclaim.changes: Likewise.
1497         * doc/INSTALL: Likewise.
1498         * doc/INSTALL.ISO: Likewise.
1499         * doc/INSTALL.UTF-8: Likewise.
1500         * doc/acl-cygwin.txt: Likewise.
1501         * doc/acl-resources.txt: Likewise.
1502         * doc/fdl-1.2.texi: Likewise.
1503         * doc/fdl-1.3.texi: Likewise.
1504         * doc/fdl.texi: Likewise.
1505         * lib/argp-pin.c: Likewise.
1506         * lib/round.c: Likewise.
1507         * lib/unicase/u16-totitle.c: Likewise.
1508         * lib/unictype/block_test.c: Likewise.
1509         * lib/uninorm/canonical-decomposition.c: Likewise.
1510         * m4/README: Likewise.
1511         * m4/relocatable-lib.m4: Likewise.
1512         * tests/test-isnand-nolibm.c: Likewise.
1513         * tests/test-isnand.c: Likewise.
1514         * tests/uninorm/NormalizationTest.txt: Likewise.
1515
1516 2012-01-17  Jim Meyering  <meyering@redhat.com>
1517
1518         maint: add framework to run syntax-check rules against gnulib sources
1519         * cfg.mk: New file, to disable all currently-failing tests.
1520         We'll enable them one by one, as they are made to pass.
1521         * Makefile (sc_maint): New rule.
1522
1523 2012-01-21  Bruno Haible  <bruno@clisp.org>
1524
1525         stdint: Add support for Android.
1526         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
1527         include the system's <stdint.h>.
1528         Reported by Simon Josefsson <simon@josefsson.org>.
1529
1530 2012-01-19  Jim Meyering  <meyering@redhat.com>
1531
1532         bootstrap: add bootstrap_post_import_hook
1533         Bison does still need something like the gnulib_mk_hook whose
1534         invocation I had to remove along with slurp in commit 767ccd40.
1535         Technically, we could get along without it, but doing so would
1536         have required living with a warning and a mandatory post-bootstrap
1537         automake rerun.
1538         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
1539         (bootstrap_post_import_hook): New function.
1540         Invoke it after gnulib-tool --import and before autoreconf.
1541
1542 2012-01-18  Jim Meyering  <meyering@redhat.com>
1543
1544         gitlog-to-changelog: don't use "no_"-prefixed variable name
1545         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
1546         to enable both --cluster and --no-cluster.  Change variable name,
1547         s/\$no_cluster/$cluster/, and reverse usage to match.
1548
1549         gitlog-to-changelog: use "||", not "or" in expressions
1550         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
1551         expressions.
1552
1553 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
1554
1555         gitlog-to-changelog: new option --no-cluster
1556         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
1557         clustering of adjacent commit messages.
1558
1559 2012-01-17  Jim Meyering  <meyering@redhat.com>
1560
1561         maint: spell file systems with two words, not one
1562         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
1563         two words, not one.
1564
1565 2012-01-16  Jim Meyering  <meyering@redhat.com>
1566
1567         bootstrap: add a FIXME comment to ensure we eventually remove the hack
1568         * build-aux/bootstrap (gnulib_tool_options): Add comment.
1569
1570 2012-01-16  Eric Blake  <eblake@redhat.com>
1571
1572         bootstrap: cater to autoconf 2.59
1573         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
1574         is not available.
1575
1576         bootstrap: properly check for libtool
1577         * build-aux/bootstrap (libtoolize): Also run libtool when older
1578         usage is detected.
1579
1580 2012-01-15  Bruno Haible  <bruno@clisp.org>
1581
1582         Improve support for MSVC 9.
1583         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
1584         clashes on MSVC.
1585         * lib/fcntl.in.h: Likewise.
1586         * lib/stdlib.in.h: Likewise.
1587         * lib/sys_stat.in.h: Likewise.
1588
1589 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
1590
1591         gnupload: we hold the master copy of this script now
1592         For motivation and more information, see:
1593         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
1594         * build-aux/gnupload: Make it clear in the heading comments that the
1595         master copy of this file is maintained by gnulib.  Since we are at
1596         it, bump its copyright year and ...
1597         ($scriptversion): ... the date in its version.
1598         ($usage): Patches and bug reports should be sent to the gnulib list,
1599         not the automake one.
1600         * config/srclist.txt: Don't try to sync 'gnupload' from automake
1601         anymore.
1602
1603 2012-01-15  Bruno Haible  <bruno@clisp.org>
1604
1605         Fix module 'random'.
1606         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
1607         initstate, setstate are declared.
1608
1609 2012-01-14  Bruno Haible  <bruno@clisp.org>
1610
1611         Tests for module 'random'.
1612         * modules/random-tests: New file.
1613         * tests/test-random.c: New file, based on tests/test-random_r.c.
1614
1615         New module 'random'.
1616         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
1617         declarations.
1618         * lib/random.c: New file, based on glibc/stdlib/random.c.
1619         * m4/random.m4: New file.
1620         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
1621         HAVE_RANDOM.
1622         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
1623         * modules/random: New file.
1624         * config/srclist.txt: Add an entry for random.c.
1625         * doc/posix-functions/random.texi: Mention the 'random' module.
1626         * doc/posix-functions/initstate.texi: Likewise.
1627         * doc/posix-functions/setstate.texi: Likewise.
1628         * doc/posix-functions/srandom.texi: Likewise.
1629
1630 2012-01-12  Bruno Haible  <bruno@clisp.org>
1631
1632         random_r: Use common idioms.
1633         * lib/random_r.c: Include <stdlib.h> first.
1634
1635         random_r: Override incompatible API on AIX, OSF/1.
1636         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
1637         Override the system function if REPLACE_RANDOM_R is 1.
1638         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
1639         and OSF/1, set REPLACE_RANDOM_R.
1640         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
1641         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
1642         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
1643         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
1644         * doc/glibc-functions/random_r.texi: Likewise.
1645         * doc/glibc-functions/setstate_r.texi: Likewise.
1646
1647         random_r: Support for MSVC 9.
1648         * lib/random_r.c: Include stdint.h, not inttypes.h.
1649
1650 2012-01-12  Eric Blake  <eblake@redhat.com>
1651
1652         inet_ntop: guard extra work by IF_LINT
1653         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
1654         better code generation when not checking for warnings.
1655         Suggested by Paul Eggert and Jim Meyering.
1656
1657         strptime: fix regression on mingw
1658         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
1659         Fix regression.  Reported by Bruno Haible.
1660
1661 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
1662             Bruno Haible  <bruno@clisp.org>
1663
1664         copy-file: add error-code-returning variant.
1665         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
1666         (qcopy_file_preserving): New declaration.
1667         * lib/copy-file.c (qcopy_file_preserving): Renamed from
1668         copy_file_preserving. Change return type to 'int'. Don't emit an error
1669         message here.
1670         (copy_file_preserving): New function.
1671         * tests/test-copy-file.c: Include <stdlib.h>.
1672         (main): Test qcopy_file_preserving if the environment variable
1673         NO_STDERR_OUTPUT is set.
1674         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
1675         with NO_STDERR_OUTPUT
1676         * tests/test-copy-file-2.sh: Likewise.
1677
1678 2012-01-10  Bruno Haible  <bruno@clisp.org>
1679
1680         copy-file: Use 'quote' module consistently.
1681         * lib/copy-file.c (copy_file_preserving): Use quote().
1682
1683         copy-file: Refactor.
1684         * lib/copy-file.c: Include quote.h.
1685         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
1686         message here.
1687         * modules/copy-file (Depends-on): Add quote.
1688
1689         acl: Export qcopy_acl.
1690         * lib/acl.h (qcopy_acl): New declaration.
1691         * lib/copy-acl.c (qcopy_acl): Make non-static.
1692
1693         acl: Rename a local variable.
1694         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
1695
1696         acl: Align return values of copy_acl and qcopy_acl.
1697         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
1698         maybe < -1.
1699
1700 2012-01-11  Eric Blake  <eblake@redhat.com>
1701
1702         strptime: silence gcc warnings
1703         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
1704         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
1705         Reported by Daniel P. Berrange.
1706
1707         inet_ntop: silence gcc warning
1708         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
1709         Reported by Daniel P. Berrange.
1710
1711 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
1712
1713         getloadavg test: skip the test on GNU/Linux without /proc mounted
1714         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
1715         file.  When /proc is not mounted, it always fails with ENOENT.
1716         * tests/test-getloadavg.c (main): Treat ENOENT return code from
1717         getloadavg(3) the same way as ENOSYS and ENOTSUP.
1718
1719 2012-01-10  Bruno Haible  <bruno@clisp.org>
1720
1721         regex: Avoid link error on MSVC 9.
1722         * modules/regex (Depends-on): Add wctype.
1723
1724 2012-01-10  Bruno Haible  <bruno@clisp.org>
1725
1726         doc: Mention --with-tests option.
1727         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
1728         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
1729         --with-tests.
1730         Reported by Reuben Thomas.
1731
1732 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
1733
1734         users.txt: order package names lexicographically.
1735         * users.txt: Order package names lexicographically.
1736
1737 2012-01-10  Jim Meyering  <meyering@redhat.com>
1738
1739         maint.mk: fix description in comment
1740         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
1741
1742         ignore-value: remove deprecated ignore_ptr function
1743         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
1744         * NEWS: Note this.
1745
1746 2012-01-09  Jim Meyering  <meyering@redhat.com>
1747
1748         test-init.sh: avoid a subshell
1749         * tests/test-init.sh: Remove protective subshell.
1750         Suggested by Bernhard Voelker.  While a subshell is normally
1751         required to protect against older shells (Solaris, FreeBSD) that
1752         warn about a missing program before performing redirection, the
1753         shell-selection tests performed by init.sh probably exclude any
1754         offending shell.
1755
1756 2012-01-08  Bruno Haible  <bruno@clisp.org>
1757
1758         setlocale tests: Avoid test failure on Solaris 11 2011-11.
1759         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
1760         variable.
1761
1762 2012-01-08  Bruno Haible  <bruno@clisp.org>
1763
1764         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
1765         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1766         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1767         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
1768         macro.
1769         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
1770         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1771         * lib/spawn_faction_addopen.c: Add workaround implementation if
1772         HAVE_WORKING_POSIX_SPAWN.
1773         * modules/spawn (Makefile): Substitute
1774         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1775         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
1776         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
1777         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1778         (Depends-on): Update conditions.
1779         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
1780         the Solaris 11 bug.
1781
1782 2012-01-08  Bruno Haible  <bruno@clisp.org>
1783
1784         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
1785         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1786         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1787         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
1788         macro.
1789         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
1790         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1791         * lib/spawn_faction_adddup2.c: Add workaround implementation if
1792         HAVE_WORKING_POSIX_SPAWN.
1793         * modules/spawn (Makefile): Substitute
1794         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1795         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
1796         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
1797         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1798         (Depends-on): Update conditions.
1799         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
1800         the Solaris 11 bug.
1801
1802 2012-01-08  Bruno Haible  <bruno@clisp.org>
1803
1804         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
1805         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1806         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1807         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
1808         HAVE_WORKING_POSIX_SPAWN.
1809         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
1810         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
1811         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1812         * lib/spawn_faction_addclose.c: Add workaround implementation if
1813         HAVE_WORKING_POSIX_SPAWN.
1814         * modules/spawn (Makefile): Substitute
1815         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1816         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
1817         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
1818         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1819         (Depends-on): Update conditions.
1820         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
1821         the Solaris 11 bug.
1822
1823 2012-01-08  Bruno Haible  <bruno@clisp.org>
1824
1825         doc: Update for Solaris 11 2011-11.
1826         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
1827         * m4/printf.m4: Update comments.
1828
1829 2012-01-08  Bruno Haible  <bruno@clisp.org>
1830
1831         mktime: Avoid compilation error on Solaris 11.
1832         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
1833
1834 2012-01-08  Bruno Haible  <bruno@clisp.org>
1835
1836         doc: Small fix.
1837         * doc/posix-headers/nl_types.texi: Correct platforms list.
1838
1839 2012-01-08  Simon Josefsson  <simon@josefsson.org>
1840
1841         Add lgpl-3.0 module.
1842         * MODULES.html.sh (Support for building documentation): Add
1843         lgpl-3.0.
1844         * modules/lgpl-3.0: New file.
1845
1846 2012-01-08  Jim Meyering  <meyering@redhat.com>
1847
1848         select.c: indent with spaces, not TABs
1849         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
1850
1851 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1852
1853         quotearg: do not use grave accent for left quote
1854         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
1855         locale_quoting_style.
1856         (quotearg_buffer_restyled): Fix example.
1857         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
1858
1859 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1860
1861         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
1862         Most programs do not have translation catalogs for English and much
1863         less separate catalogs for British and American English.  Drop the
1864         suggestion to translators about these two, and provide it
1865         automatically for Unicode locales.  Like most programs, even those
1866         using American English, we use single quotation marks.  This conflicts
1867         with the American typographic convention, but works better when you
1868         cite the entire error message within double quotes.  It also tries not
1869         to clash with established practice and with what non-gnulib programs
1870         will usually do.
1871         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
1872         using an UTF-8 or GB-18030 locale.  The list of other locales with
1873         quotes was provided by Bruno Haible.
1874         (quotearg_buffer_restyled): Adjust instructions to translators.
1875         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
1876         text, since this would be wrong when using Unicode.
1877         * modules/quotearg: Depend on c-strcaseeq.
1878
1879 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1880
1881         quotearg: fix Wikipedia link
1882         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
1883
1884 2012-01-07  Simon Josefsson  <simon@josefsson.org>
1885
1886         Fix for mingw with MSVC9.
1887         * m4/ld-version-script.m4: Check that compiler rejects version
1888         scripts with syntax errors.  Reported by Bruno Haible
1889         <bruno@clisp.org>.
1890
1891 2012-01-06  Bruno Haible  <bruno@clisp.org>
1892
1893         Talk about "native Windows API", not "Woe32".
1894         * lib/accept4.c: Update comments to mention native Windows.
1895         * lib/execute.c: Likewise.
1896         * lib/fatal-signal.c: Likewise.
1897         * lib/localcharset.c: Likewise.
1898         * lib/nanosleep.c: Likewise.
1899         * lib/nl_langinfo.c: Likewise.
1900         * lib/pclose.c: Likewise.
1901         * lib/pipe-filter-gi.c: Likewise.
1902         * lib/pipe-filter-ii.c: Likewise.
1903         * lib/pipe.c: Likewise.
1904         * lib/pipe2.c: Likewise.
1905         * lib/popen.c: Likewise.
1906         * lib/progreloc.c: Likewise.
1907         * lib/relocatable.c: Likewise.
1908         * lib/sigaction.c: Likewise.
1909         * lib/sigprocmask.c: Likewise.
1910         * lib/spawn-pipe.h: Likewise.
1911         * lib/spawn-pipe.c: Likewise.
1912         * lib/spawni.c: Likewise.
1913         * lib/stat-time.h: Likewise.
1914         * lib/w32spawn.h: Likewise.
1915         * tests/test-isatty.c: Likewise.
1916         * lib/config.charset: More comments.
1917         * doc/gnulib-intro.texi: Mention native Windows.
1918         * doc/posix-functions/_Exit_C99.texi: Likewise.
1919         * doc/posix-headers/fcntl.texi: Likewise.
1920
1921 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
1922
1923         argp: Avoid crash if translator uses % characters in a translation.
1924         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
1925         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
1926
1927 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1928
1929         doc: C11 and C++11 are now official
1930         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
1931         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
1932         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
1933         * modules/stdalign:
1934         Replace references to draft C1X to C11, and to draft C++0X to C++11.
1935
1936 2012-01-06  Bruno Haible  <bruno@clisp.org>
1937
1938         uc-is-grapheme-break tests: Tweak.
1939         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
1940         message.
1941
1942 2012-01-06  Bruno Haible  <bruno@clisp.org>
1943
1944         test-init.sh: correct the test for diff -u
1945         * tests/test-init.sh: Also redirect stdout to /dev/null.
1946
1947 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1948
1949         Use ', not `, for quoting output.
1950         * build-aux/announce-gen (usage, sizes, print_news_deltas)
1951         (print_changelog_deltas, get_tool_versions, main program):
1952         * build-aux/git-version-gen:
1953         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
1954         * build-aux/move-if-change (help):
1955         * build-aux/useless-if-before-free (usage, main program):
1956         * check-module (parse_module_file, usage)
1957         (find_included_lib_files, check_module):
1958         * lib/argmatch.c (main) [TEST]:
1959         * lib/argp-help.c (_help):
1960         * lib/getopt1.c (main) [TEST]:
1961         * lib/git-merge-changelog.c (usage):
1962         * lib/xstrtol-error.c (xstrtol_error):
1963         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
1964         * m4/argz.m4 (gl_FUNC_ARGZ):
1965         * m4/bison.m4 (gl_BISON):
1966         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
1967         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1968         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
1969         * m4/fpending.m4 (gl_PREREQ_FPENDING):
1970         * m4/gc-random.m4 (gl_GC_RANDOM):
1971         * m4/intl.m4 (gt_CHECK_DECL):
1972         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
1973         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
1974         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
1975         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
1976         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
1977         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
1978         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
1979         * tests/test-dirname.c (main):
1980         * tests/test-getpass.c (main):
1981         * tests/test-iconvme.c (main):
1982         * tests/test-parse-datetime.c (LOG):
1983         * tests/test-xstrtoimax.sh:
1984         * tests/test-xstrtol.sh:
1985         * tests/test-xstrtoll.sh:
1986         * tests/test-xstrtoumax.sh:
1987         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
1988         * top/GNUmakefile (abort-due-to-no-makefile):
1989         Quote 'like this', not `like this', as per the recent change to
1990         the GNU coding standards.
1991
1992 2012-01-05  Bruno Haible  <bruno@clisp.org>
1993
1994         strtoimax: Don't force a replacement on systems where intmax_t is int.
1995         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
1996         'intmax_t' is not larger than 'int'.
1997         Reported by Pádraig Brady <P@draigBrady.com>.
1998
1999 2012-01-05  Bruno Haible  <bruno@clisp.org>
2000
2001         doc: Mention NetBSD bugs.
2002         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
2003         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
2004
2005 2012-01-05  Bruno Haible  <bruno@clisp.org>
2006
2007         strtoumax tests: Enhance tests.
2008         * tests/test-strtoumax.c (main): Add tests for large values.
2009
2010 2012-01-05  Bruno Haible  <bruno@clisp.org>
2011
2012         strtoimax: Work around AIX 5.1 bug.
2013         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
2014         definition.
2015         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
2016         Set HAVE_STRTOIMAX.
2017         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
2018         REPLACE_STRTOIMAX.
2019         * modules/inttypes-incomplete (Makefile.am): Substitute
2020         REPLACE_STRTOIMAX.
2021         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
2022         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
2023         (Depends-on): Update conditions.
2024         * tests/test-strtoimax.c (main): Add tests for large values.
2025         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
2026
2027 2012-01-05  Bruno Haible  <bruno@clisp.org>
2028
2029         inttypes: Modernize.
2030         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
2031         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
2032         (Makefile.am): Update inttypes.h rule.
2033
2034 2012-01-05  Jim Meyering  <meyering@redhat.com>
2035
2036         init.sh: don't waste a subshell just to redirect stderr
2037         * tests/init.sh: In testing for diff -u and diff -c, use a
2038         stderr-redirecting exec inside `...` rather than a subshell.
2039
2040         test-init.sh: avoid failure on HP-UX 11.00
2041         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
2042         resolves to diff -c or cmp.  Reported by Bruno Haible.
2043
2044 2012-01-05  Bruno Haible  <bruno@clisp.org>
2045
2046         Tests for module 'strtoull'.
2047         * modules/strtoull-tests: New file.
2048         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
2049
2050 2012-01-05  Bruno Haible  <bruno@clisp.org>
2051
2052         Tests for module 'strtoll'.
2053         * modules/strtoll-tests: New file.
2054         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
2055
2056 2012-01-05  Bruno Haible  <bruno@clisp.org>
2057
2058         Tests for module 'strtoul'.
2059         * modules/strtoul-tests: New file.
2060         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
2061
2062 2012-01-05  Bruno Haible  <bruno@clisp.org>
2063
2064         Tests for module 'strtol'.
2065         * modules/strtol-tests: New file.
2066         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
2067
2068 2012-01-04  Jim Meyering  <meyering@redhat.com>
2069
2070         test-init.sh: accommodate Solaris 5.10's different diff -u output
2071         * tests/test-init.sh: Also exempt @@ lines from the comparison
2072         of diff output, since Solaris 5.10 and GNU diff formats differ.
2073         Reported by Stefano Lattarini.
2074
2075 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
2076
2077         test-posixtm: don't assume signed integer wraparound
2078         * tests/test-posixtm.c (main): Don't assume wraparound semantics
2079         after signed integer overflow.  Inspired by (though it may not
2080         fix) Bruno Haible's bug report in
2081         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
2082
2083         Spell out "Windows 9x" and "Windows XP".
2084         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
2085         "Windows 9x" and "WinXP" with "Windows XP".
2086
2087 2012-01-04  Jim Meyering  <meyering@redhat.com>
2088
2089         test-vc-list-files-cvs.sh: remove obsolete comment
2090         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
2091         double exit.  Now that's all encapsulated via skip_ and Exit.
2092
2093 2012-01-04  Bruno Haible  <bruno@clisp.org>
2094
2095         Talk about "native Windows API", not "Win32".
2096         * lib/classpath.c: Update comments to mention native Windows.
2097         * lib/csharpexec.c: Likewise.
2098         * lib/dup2.c: Likewise.
2099         * lib/error.c: Likewise.
2100         * lib/fcntl.c: Likewise.
2101         * lib/filename.h: Likewise.
2102         * lib/findprog.c: Likewise.
2103         * lib/get-rusage-as.c: Likewise.
2104         * lib/get-rusage-data.c: Likewise.
2105         * lib/getpagesize.c: Likewise.
2106         * lib/javaexec.c: Likewise.
2107         * lib/msvc-inval.c: Likewise.
2108         * lib/msvc-nothrow.c: Likewise.
2109         * lib/nanosleep.c: Likewise.
2110         * lib/nonblocking.c: Likewise.
2111         * lib/printf-parse.c: Likewise.
2112         * lib/setlocale.c: Likewise.
2113         * lib/sigaction.c: Likewise.
2114         * lib/strerror_r.c: Likewise.
2115         * lib/tmpdir.c: Likewise.
2116         * lib/vasnprintf.c: Likewise.
2117         * lib/w32spawn.h: Likewise.
2118         * lib/waitpid.c: Likewise.
2119         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
2120         * m4/locale-ar.m4: Likewise.
2121         * m4/locale-fr.m4: Likewise.
2122         * m4/locale-ja.m4: Likewise.
2123         * m4/locale-tr.m4: Likewise.
2124         * m4/locale-zh.m4: Likewise.
2125         * m4/printf.m4: Likewise.
2126         * tests/test-cloexec.c: Likewise.
2127         * tests/test-copy-acl.sh: Likewise.
2128         * tests/test-copy-file.sh: Likewise.
2129         * tests/test-file-has-acl.sh: Likewise.
2130         * tests/test-set-mode-acl.sh: Likewise.
2131         * tests/test-dup-safer.c: Likewise.
2132         * tests/test-dup2.c: Likewise.
2133         * tests/test-dup3.c: Likewise.
2134         * tests/test-fcntl.c: Likewise.
2135         * tests/test-nonblocking-pipe.h: Likewise.
2136         * tests/test-nonblocking-socket.h: Likewise.
2137         * tests/test-pipe.c: Likewise.
2138         * tests/test-pipe2.c: Likewise.
2139         * tests/test-spawn-pipe-child.c: Likewise.
2140         * doc/acl-resources.txt: Likewise.
2141         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2142         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
2143         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
2144         * lib/localcharset.c: Update comments to mention native Windows.
2145         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2146         * lib/localename.c: Likewise.
2147         * lib/progreloc.c: Likewise.
2148         * lib/relocatable.c: Likewise.
2149         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2150         (windows_compute_revents): Renamed from win32_compute_revents.
2151         (windows_compute_revents_socket): Renamed from
2152         win32_compute_revents_socket.
2153         * lib/select.c: Update comments to mention native Windows.
2154         (windows_poll_handle): Renamed from win32_poll_handle.
2155         * m4/threadlib.m4: Update comments to mention native Windows.
2156         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
2157         --enable-threads=windows instead of --enable-threads=win32. Set
2158         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
2159         * lib/glthread/lock.h: Update comments to mention native Windows.
2160         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
2161         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
2162         USE_WIN32_THREADS.
2163         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
2164         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
2165         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
2166         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
2167         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
2168         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
2169         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
2170         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
2171         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
2172         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
2173         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
2174         * tests/test-tls.c: Likewise.
2175         Rationale:
2176         Microsoft renamed the "Win32 API" to "Windows API", as it is available
2177         on both 32-bit and 64-bit Windows systems.
2178         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
2179         line of distinction is between "native Windows" on one side and Unix/
2180         POSIX systems on the other side. More details in
2181         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
2182         Suggested by Paul Eggert.
2183
2184 2012-01-03  Bruno Haible  <bruno@clisp.org>
2185
2186         isatty: Support for MSVC 9.
2187         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
2188         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
2189         (_isatty_nothrow): New function.
2190         (isatty): Use it instead of _isatty.
2191         (IsConsoleHandle): Add comment, from Paolo Bonzini.
2192         * lib/poll.c (IsConsoleHandle): Likewise.
2193         * lib/select.c (IsConsoleHandle): Likewise.
2194         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
2195         (gl_PREREQ_ISATTY): New macro.
2196         * modules/isatty (Depends-on): Add msvc-inval.
2197         (configure.ac): Invoke gl_PREREQ_ISATTY.
2198
2199 2012-01-03  Jim Meyering  <meyering@redhat.com>
2200
2201         maint.mk: remove temporary transition aid from over 1.5 years ago
2202         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
2203         purpose was to aid in the transition (avoiding silent malfunction)
2204         from that old name to the new _sc_search_regexp.  This shim was
2205         added by commit 219c504b.
2206
2207         init.sh: do not try to accommodate compare arguments starting with "-"
2208         * tests/init.sh (compare_dev_null_): Do not try to accommodate
2209         compare arguments that start with "-".  Besides, we do not worry
2210         about this when invoking diff or cmp; why start now with sed?
2211         Using "--" to separate options from argument would trigger sed
2212         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
2213         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
2214
2215 2012-01-02  Bruno Haible  <bruno@clisp.org>
2216
2217         Enhance tests for module 'isatty'.
2218         * modules/isatty-tests (Depends-on): Add pipe-posix.
2219         * tests/test-isatty.c: Include <fcntl.h>.
2220         (DEV_NULL): New macro.
2221         (main): Test the resut of isatty() also on regular files, pipes, and
2222         /dev/null.
2223
2224         New module 'isatty'.
2225         * lib/unistd.in.h (isatty): New declaration.
2226         * lib/isatty.c: New file, based on an idea of
2227         Bastien Roucariès <roucaries.bastien@gmail.com>.
2228         * m4/isatty.m4: New file.
2229         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
2230         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
2231         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
2232         REPLACE_ISATTY.
2233         * modules/isatty: New file.
2234         * doc/posix-functions/isatty.texi: Mention the new module.
2235         Suggested by Paolo Bonzini.
2236
2237 2012-01-02  Bruno Haible  <bruno@clisp.org>
2238
2239         canonicalize: Tweak 2011-12-29 commit.
2240         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
2241         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
2242
2243 2012-01-02  Jim Meyering  <meyering@redhat.com>
2244
2245         gitlog-to-changelog: describe input syntax in --help output
2246         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
2247
2248         gitlog-to-changelog: fix typo in --help: show backslash before email @
2249         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
2250         in sources, but not in actual output.
2251
2252 2011-12-30  Jim Meyering  <meyering@redhat.com>
2253
2254         gitlog-to-changelog: don't malfunction when name contains %-directive
2255         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
2256         in a name string cause trouble.  E.g., with a user name of "%s",
2257         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
2258
2259 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
2260
2261         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
2262         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
2263         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
2264         the "  (tiny change)" notation that is appended to the standard
2265         ChangeLog "date  name  email" header line.
2266
2267 2012-01-01  Jim Meyering  <meyering@redhat.com>
2268
2269         test-framework-sh: init.sh: fix "make dist" failure
2270         When using gnulib-tool's --with-tests option and any module that
2271         depends on test-framework-sh, "make dist" would fail due to the
2272         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
2273         in the gltests directory, and not in the gllib/ directory.
2274         One way to work around that is to move the EXTRA_DIST += init.sh
2275         from the primary module to the -tests one:
2276         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
2277         * modules/test-framework-sh (Makefile.am): ...not here.
2278         Reported by Tom G. Christensen in
2279         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
2280
2281         version-etc: update copyright year reported by --version
2282         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
2283
2284 2011-12-31  Pádraig Brady  <P@draigBrady.com>
2285
2286         canonicalize: only stat() if required
2287         * lib/canonicalize.c (canonicalize_filename_mode):
2288         Avoid calling l?stat() when both CAN_MISSING,
2289         and CAN_NOLINKS are set, as we neither need
2290         to resolve symlinks or test component existence.
2291
2292 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
2293
2294         doc: cover st_ino issues once; add OpenVMS etc.
2295         * doc/posix-functions/stat.texi (stat):
2296         * doc/posix-functions/lstat.texi (lstat):
2297         * doc/posix-functions/fstatat.texi (fstatat):
2298         * doc/posix-functions/fstat.texi (fstat):
2299         Move general 'struct stat' stuff to sys_stat.texi,
2300         leaving behind a pointer.
2301         * doc/posix-headers/sys_stat.texi (sys/stat.h):
2302         Merge duplicate info about 'struct stat' problems into here.
2303         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
2304         and suggest partial workarounds.
2305
2306         same-inode: port to OpenVMS
2307         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
2308         three st_ino values.
2309
2310 2011-12-30  Pádraig Brady  <P@draigBrady.com>
2311
2312         canonicalize: fix references to stat() and lstat()
2313         * lib/canonicalize.c (canonicalize_filename_mode):
2314         Ensure references always resolve to a replacement
2315         function if required (even via a macro).
2316
2317 2011-12-30  Jim Meyering  <meyering@redhat.com>
2318
2319         gitlog-to-changelog: remove a little duplication
2320         * build-aux/gitlog-to-changelog (main): Grep @lines once,
2321         rather than twice.
2322
2323 2011-12-29  Pádraig Brady  <P@draigBrady.com>
2324
2325         canonicalize: add support for not resolving symlinks
2326         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
2327         indicate we don't want to follow symlinks.  Also
2328         provide CAN_MODE_MASK to aid setting these existing
2329         mutually exclusive values.
2330         * lib/canonicalize.c (canonicalize_filename_mode):
2331         Extract the flags from can_mode parameter, which
2332         are currently just used to select between stat()
2333         and lstat().  Also ensure that mutually exclusive
2334         values are flagged immediately as invalid.
2335         * tests/test-canonicalize.c: Verify symlinks are
2336         not followed, and that invalid flag combinations
2337         are diagnosed.
2338
2339 2011-12-25  Jim Meyering  <meyering@redhat.com>
2340
2341         gitlog-to-changelog: do not clump multi-paragraph entries
2342         Identical header lines (date,name,email+coauthors) are suppressed,
2343         thus putting all entries with those same characteristics under
2344         a single header.  However, when a log entry consists of two or
2345         more paragraphs, it may not be clear where it starts and ends.
2346         This change makes it so that such an entry is always separated
2347         from others by a header line, even when that header would
2348         otherwise be suppressed.
2349         * build-aux/gitlog-to-changelog: Implement the above.
2350         Inspired by a related request from Stefano Lattarini in
2351         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
2352
2353 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
2354
2355         announce-gen: fix `cmd' typo in diagnostic
2356         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
2357         diagnostic: a missing '$' meant that the command was not output.
2358
2359 2011-12-23  Jim Meyering  <meyering@redhat.com>
2360
2361         test-framework-sh: distribute init.sh
2362         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
2363         Otherwise, "make -C gnulib-tests check" (at least in grep) would
2364         fail due to the lack of init.sh.
2365
2366         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
2367         * modules/atexit-tests: Rather than listing tests/init.sh,
2368         now that there's a module for it, simply depend on that new module.
2369         * modules/closein-tests: Likewise.
2370         * modules/exclude-tests: Likewise.
2371         * modules/getcwd-tests: Likewise.
2372         * modules/perror-tests: Likewise.
2373         * modules/pread-tests: Likewise.
2374         * modules/pwrite-tests: Likewise.
2375         * modules/vc-list-files-tests: Likewise.
2376         * modules/verify-tests: Likewise.
2377         * modules/xalloc-die-tests: Likewise.
2378         * modules/xstrtoimax-tests: Likewise.
2379         * modules/xstrtol-tests: Likewise.
2380         * modules/xstrtoll-tests: Likewise.
2381         * modules/xstrtoumax-tests: Likewise.
2382         * modules/yesno-tests: Likewise.
2383
2384 2011-12-22  Jim Meyering  <meyering@redhat.com>
2385
2386         test-framework-sh: add minimal tests of init.sh's compare function
2387         * modules/test-framework-sh-tests: New file.
2388         * tests/test-init.sh: New file.
2389
2390         test-framework-sh: new module
2391         * modules/test-framework-sh: New file.
2392         * MODULES.html.sh (Support for maintaining and releasing projects):
2393         List it.
2394
2395         init.sh: do not emit simulated diff output to stderr
2396         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
2397
2398 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2399
2400         .gitignore: ignore gnulib.dvi and regex.info
2401         * doc/.gitignore:add gnulib.dvi and regex.info
2402
2403 2011-12-22  Jim Meyering  <meyering@redhat.com>
2404
2405         init.sh: correct previous change
2406         * tests/init.sh (compare): My previous change was wrong.
2407         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
2408
2409         init.sh: avoid unwarranted test failure when using "set -e"
2410         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
2411         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
2412         a use like "compare exp out" would get evoke an unconditional failure.
2413
2414 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
2415
2416         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
2417         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
2418         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
2419         autoreconf that did not.
2420         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
2421         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
2422
2423 2011-12-17  Jim Meyering  <meyering@redhat.com>
2424
2425         bootstrap: remove some now-unneeded code
2426         This script arose back when gnulib-tool was young.
2427         Since then, it has seen improvements that render much of this
2428         script unnecessary.  In particular, it can now make symlinks
2429         to the files it uses.  Also, I no longer see as much value in
2430         marking files as read-only via comments.
2431         If you relied on the symlink-creation feature of the preceding
2432         version of this script, you can get most of that functionality
2433         by adding the --symlink option to the definition of
2434         gnulib_tool_option_extras in your bootstrap.conf file.
2435         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
2436         Run autopoint and libtoolize *before* gnulib-tool.
2437         After it, run an abbreviated autoreconf, rather than a loop around
2438         all tools.
2439         (slirp, bt_mark_as_generated): Remove functions.
2440
2441 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2442
2443         ftoastr: fix typo
2444         * lib/ftoastr.h: Fix misspelling in comment.
2445
2446 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
2447
2448         * top/README-release: fix punctuation.
2449
2450 2011-12-17  Jim Meyering  <meyering@redhat.com>
2451
2452         bootstrap: correct the recent buildreq change
2453         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
2454         had no effect.
2455         * build-aux/bootstrap (buildreq): Bracket each search term with
2456         "*...*", so that the shell "case" statement works as intended.
2457         Add comments.
2458
2459 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
2460
2461         build: let bootstrap resort to wget when downloading .po files
2462         * build-aux/bootstrap (download_po_files): Fallback to wget when
2463         downloading the .po files via rsync fails.  This is necessary to
2464         bootstrap from behind a strict firewall.
2465
2466 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
2467
2468         stdint: don't assume C++11 when compiling with g++
2469         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
2470         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
2471         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
2472         work also in C++ before C++11, as that improperly inhibits
2473         generating a substitute stdint.h for that case.
2474
2475 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
2476
2477         alloca: protect comment from gnulib-tool
2478         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
2479         that gnulib-tool doesn't think it's a license, and munge it to
2480         say "GCC version 3".
2481
2482 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
2483
2484         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
2485         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
2486         $(abs_top_builddir) instead of $(top_builddir).
2487
2488 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
2489
2490         strftime-tests: also test nanoseconds
2491         * tests/test-strftime.c (T): Add a test of %N.
2492
2493 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
2494
2495         inttypes, stdint: add C++11 support
2496         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
2497         when including inttypes.h and stdint.h.  Support this change to
2498         the standard.
2499         * doc/posix-headers/inttypes.texi (inttypes.h):
2500         * doc/posix-headers/stdint.texi (stdint.h): Document this.
2501         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
2502         Define if not defined already, for the benefit of pre-C++11 hosts.
2503         Define the standard format macros (e.g., PRId8) always.
2504         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
2505         Likewise, if __cpluspus.  Define the standard constant and limit
2506         macros (e.g., INT8_C, INT8_MAX) always.
2507         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
2508         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
2509         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
2510         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
2511         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
2512         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
2513         Likewise.
2514
2515 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
2516
2517         nonblocking tests: Fix test failure on Linux/PPC.
2518         Suggested by Prerna Saxena in
2519         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
2520         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
2521         Set to 1100000.
2522
2523 2011-12-12  Jim Meyering  <meyering@redhat.com>
2524
2525         argmatch: don't hard-code `' when listing valid option arguments
2526         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
2527         use the quote function to add quotes.  Use fputs rather than
2528         fprintf for the format string with no format directive.
2529
2530 2011-12-07  Eric Blake  <eblake@redhat.com>
2531
2532         bootstrap: detect tools required by gnulib-tool
2533         * build-aux/bootstrap (buildreq): Provide minimum implicit
2534         dependencies.
2535         * DEPENDENCIES: Mention patch as a prereq.
2536
2537 2011-12-04  Bruno Haible  <bruno@clisp.org>
2538
2539         sethostname: Port to Windows platforms.
2540         * lib/sethostname.c: Provide an alternate implementation for Windows
2541         platforms.
2542         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
2543         (main): Skip the test if sethostname() fails with EPERM. On Windows
2544         platforms, don't check the result of gethostname().
2545
2546 2011-12-04  Bruno Haible  <bruno@clisp.org>
2547             Jim Meyering  <meyering@redhat.com>
2548
2549         tests: Avoid spurious error message on platforms without mktemp program.
2550         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
2551
2552 2011-12-04  Bruno Haible  <bruno@clisp.org>
2553
2554         sethostname: Fix documentation.
2555         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
2556         "not fixed" section.
2557
2558 2011-12-03  Bruno Haible  <bruno@clisp.org>
2559
2560         gnulib-tool: Verify that the License field is present and non-empty.
2561         * gnulib-tool (func_get_license_raw): New function, extracted from
2562         func_get_license.
2563         (func_get_license): Use it. Warn if the module is not a test module and
2564         has no license.
2565         Suggested by Jim Meyering.
2566
2567 2011-12-03  Bruno Haible  <bruno@clisp.org>
2568
2569         sethostname tests: Fix link error on mingw.
2570         * tests/test-sethostname1.c: New file, extracted from
2571         tests/test-sethostname.c.
2572         * tests/test-sethostname2.c: New file, extracted from
2573         tests/test-sethostname.c.
2574         * tests/test-sethostname.c: Remove file.
2575         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
2576         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
2577         (Depends-on): Add gethostname.
2578         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
2579         Link the latter with $(GETHOSTNAME_LIB).
2580
2581         sethostname tests: Fix compilation error on mingw.
2582         * tests/test-sethostname.c: Don't include <sys/types.h>.
2583         (geteuid): Use a dummy value without uid_t.
2584         * modules/sethostname-tests (Depends-on): Remove sys_types.
2585
2586         sethostname tests: Avoid a gcc warning.
2587         * tests/test-sethostname.c (main): Remove an unused variable.
2588
2589         Tweak last commit.
2590         * modules/sethostname-tests (Files): Sort by decreasing importance.
2591         (configure.ac): Check for geteuid.
2592         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
2593         the test when there's nothing to test. Drop an unnecessary cast.
2594         Improve an error message. Verify that the final sethostname() call
2595         succeeds.
2596
2597 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2598
2599         Add a test suite for the sethostname module.
2600         * modules/sethostname-tests: New file.  A test program
2601         for the sethostname module.
2602         * tests/test-sethostname.c: Likewise.
2603
2604 2011-12-03  Bruno Haible  <bruno@clisp.org>
2605
2606         Tweak last commit.
2607         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
2608         Fix preprocessor directives indentation. Fix typos.
2609         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
2610         * modules/unistd (Makefile): Likewise.
2611
2612 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2613
2614         Integrate the sethostname module into unistd.
2615         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
2616         into the unistd.h header.
2617         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
2618         preprocessor directives.
2619         * modules/unistd: Setup the Makefile substitutions of the
2620         SETHOSTNAME preprocessor directives.
2621
2622 2011-12-03  Bruno Haible  <bruno@clisp.org>
2623
2624         Tweak last commit.
2625         * lib/sethostname.c: Don't include <string.h>.
2626         (sethostname): No need to copy the argument string to the stack. Don't
2627         call clearerr. Preserve errno when fprintf failed.
2628         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
2629         Don't invoke AC_REPLACE_FUNCS.
2630         * modules/sethostname (Link): Remove empty section.
2631         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
2632         failure problem.
2633
2634 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2635
2636         New module 'sethostname'.
2637         * lib/sethostname.c (sethostname): New file.  Provide sethostname
2638         for systems that lack it.
2639         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
2640         sethostname declaration and function.
2641         * modules/sethostname: New file.  Define the sethostname module.
2642
2643 2011-12-03  Bruno Haible  <bruno@clisp.org>
2644
2645         Tweak last commit.
2646         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
2647
2648 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2649
2650         Split the HOST_NAME_MAX detection into a separate m4 macro.
2651         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
2652         macro so it can be used by the pending sethostname module.
2653
2654 2011-12-03  Bruno Haible  <bruno@clisp.org>
2655
2656         Fix module descriptions syntax.
2657         * modules/argv-iter (License): Fix syntax.
2658         * modules/di-set (License): Likewise.
2659         * modules/ino-map (License): Likewise.
2660         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
2661
2662 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
2663
2664         stdalign: port to Clang 3.0
2665         Problem reported by Simon Josefsson in
2666         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
2667         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
2668         which has <stdalign.h> but which does not define alignof.
2669         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
2670
2671 2011-12-01  Eric Blake  <eblake@redhat.com>
2672
2673         mktempd: silence dd usage
2674         * build-aux/mktempd (rand_bytes): Silence dd.
2675
2676 2011-11-30  Simon Josefsson  <simon@josefsson.org>
2677
2678         manywarnings: Don't mention gcc version in docstring.
2679         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
2680         Jim Meyering <meyering@redhat.com>.
2681
2682 2011-11-30  Jim Meyering  <meyering@redhat.com>
2683
2684         hash: mark a few floating point constants with "f" suffix
2685         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
2686         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
2687         floating point constants with "f", since they're destined to be
2688         saved/used as "float"s.
2689
2690 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
2691
2692         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
2693         * tests/test-float.c (test_long_double): Correct and re-enable the
2694         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
2695
2696 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
2697
2698         Avoid subtracting two pointers that don't point into the same block.
2699         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
2700         only pointers into the same memory block are subtracted. We cannot
2701         assume that sizeof (ptrdiff_t) == sizeof (void *).
2702
2703 2011-11-29  Eric Blake  <eblake@redhat.com>
2704
2705         maint.mk: add syntax check for use of compare from init.sh
2706         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
2707         moved here from coreutils.
2708
2709         manywarnings: drop -Wunsuffixed-float-constants
2710         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
2711         '1.0D', which is the only way to silence this warning for 'double'.
2712
2713 2011-11-29  Jim Meyering  <meyering@redhat.com>
2714
2715         hash: mark compute_bucket_size with the pure attribute
2716         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
2717
2718         quotearg, propername: correct pragma guard expression
2719         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
2720         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
2721
2722 2011-11-28  Jim Meyering  <meyering@redhat.com>
2723
2724         propername: do not mark proper_name with the const attribute
2725         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
2726         since it examines data pointed to by its parameter.
2727         * lib/propername.c (proper_name): Instead, add a pragma to suppress
2728         the suggestion from -Wsuggest-attribute=const.
2729
2730         propername: mark one more function as const
2731         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
2732
2733 2011-11-27  Jim Meyering  <meyering@redhat.com>
2734
2735         mark functions with const and pure attributes
2736
2737         Mark functions per suggestions from gcc-4.6 when using these options:
2738         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
2739         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
2740         Follow these guidelines: when possible, apply the attribute to
2741         an extern declaration, not to its definition.  Apply it to the
2742         definition only when the definition is static.
2743         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
2744         * lib/argv-iter.h (argv_iter_n_args): Likewise.
2745         * lib/base64.h (isbase64): Likewise.
2746         * lib/basename-lgpl.c (last_component, base_len): Likewise.
2747         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
2748         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
2749         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
2750         (c_tolower, c_toupper): Likewise.
2751         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
2752         * lib/chdir-long.c (find_non_slash): Likewise.
2753         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
2754         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
2755         * lib/file-type.h (file_type): Likewise.
2756         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
2757         * lib/filevercmp.c (verrevcmp): Likewise.
2758         * lib/freadahead.h (freadahead): Likewise.
2759         * lib/fts.c (fts_maxarglen): Likewise.
2760         * lib/hash-pjw.h (hash_pjw): Likewise.
2761         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
2762         * lib/hash.c (is_prime, next_prime): Likewise.
2763         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
2764         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
2765         (hash_table_ok, hash_get_first, hash_string): Likewise.
2766         (compute_bucket_size): Likewise.
2767         * lib/i-ring.h (i_ring_empty): Likewise.
2768         * lib/isnan.c (isnanl): Likewise.
2769         * lib/math.h (isnanl, rpl_isnanl): Likewise.
2770         * lib/memcasecmp.h (memcasecmp): Likewise.
2771         * lib/memchr2.h (memchr2): Likewise.
2772         * lib/memcmp2.h (memcmp2): Likewise.
2773         * lib/parse-datetime.y (lookup_zone): Likewise.
2774         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
2775         [!WINDOWS_SOCKETS]: Likewise.
2776         * lib/strnlen1.h (strnlen1): Likewise.
2777         * lib/uniwidth.in.h (uc_width): Likewise.
2778         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
2779         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
2780         (quoting_options_from_style): Add a comment.
2781         * lib/propername.h (proper_name): Add a comment.
2782
2783 2011-11-27  Bruno Haible  <bruno@clisp.org>
2784
2785         Remove unused macros from !_LIBC code in glibc-borrowed files.
2786         * lib/fnmatch.c (STRCOLL): Remove macro.
2787         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
2788         * lib/glob.c (__stat, __readdir64): Remove macros.
2789         * lib/tempname.c (__open64, __xstat64): Remove macros.
2790         Suggested by Paul Eggert.
2791
2792 2011-11-27  Bruno Haible  <bruno@clisp.org>
2793
2794         getcwd: Fix link error on MSVC 9.
2795         * modules/getcwd (Depends-on): Add readdir, rewinddir.
2796
2797 2011-11-27  Bruno Haible  <bruno@clisp.org>
2798
2799         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
2800         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
2801         HAVE_OPENDIR is 0.
2802         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
2803         HAVE_CLOSEDIR is 0.
2804         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
2805         is 0.
2806         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
2807
2808 2011-11-27  Bruno Haible  <bruno@clisp.org>
2809
2810         getcwd: Fix bug from 2011-08-17.
2811         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
2812         platforms that need it.
2813         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
2814         code of 4 to be a failure, not a success. This ensures that
2815         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
2816
2817 2011-11-27  Bruno Haible  <bruno@clisp.org>
2818
2819         binary-io tests: Avoid test failure on mingw when libtool is used.
2820         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
2821         Don't verify the size of t-bin-out1.tmp here.
2822         * tests/test-binary-io.sh: Verify it here.
2823         Reported by Simon Josefsson.
2824
2825 2011-11-26  Bruno Haible  <bruno@clisp.org>
2826
2827         Fix conflict between two instantiations of module 'unistd'.
2828         * gnulib-tool (func_emit_autoconf_snippet): Substitute
2829         ${include_guard_prefix} also in the autoconf snippet.
2830         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
2831         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
2832         GNULIB_UNISTD_H_GETOPT.
2833         * modules/getopt-posix (configure.ac): Set the
2834         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
2835         * modules/getopt-gnu (configure.ac): Likewise.
2836         * modules/unistd (Makefile.am): Change the substitution value of
2837         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
2838         Reported by Simon Josefsson.
2839
2840 2011-11-25  Bruno Haible  <bruno@clisp.org>
2841
2842         pagealign_alloc: Doc and comments.
2843         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
2844         module.
2845         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
2846
2847 2011-11-25  Jim Meyering  <meyering@redhat.com>
2848
2849         test-update-copyright.sh: avoid false-positive failure
2850         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
2851         around false positive failure on Cygwin/Windows.  The latter was
2852         matching erroneously-created files with names like
2853         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
2854
2855 2011-11-25  Simon Josefsson  <simon@josefsson.org>
2856
2857         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
2858         * m4/valgrind-tests.m4: Check that the parameters that will be
2859         used works, not just a subset of them.  Reported by Bruno Haible
2860         <bruno@clisp.org>.
2861
2862 2011-11-24  Jim Meyering  <meyering@redhat.com>
2863
2864         test-stdalign.c: comment out long double tests
2865         * tests/test-stdalign.c: Don't try to reduce alignment of long double
2866         variables.  That provokes errors like this from gcc-4.7.0 20111124:
2867         error: '_Alignas' specifiers cannot reduce alignment of \
2868         'static_longdouble_alignas'.
2869
2870 2011-11-22  Jim Meyering  <meyering@redhat.com>
2871
2872         init.sh: make "compare /dev/null FILE" output more readable
2873         * tests/init.sh (compare_): Document the preferred order of arguments.
2874         (emit_diff_u_header_): New function.
2875         (compare_dev_null_): Emit a simulated diff, rather than just the
2876         contents of the unexpected file.  Suggestion from Bruno Haible.
2877
2878 2011-11-21  Jim Meyering  <meyering@redhat.com>
2879             Eric Blake  <eblake@redhat.com>
2880
2881         init.sh: work around OSF/1 5.1's mishandling of /dev/null
2882         * tests/init.sh: Make our compare function slightly more portable.
2883         Reported by Bruno Haible in
2884         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
2885
2886 2011-11-21  Simon Josefsson  <simon@josefsson.org>
2887
2888         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
2889         before using it, in code that ends up in config.h.
2890
2891 2011-11-20  Bruno Haible  <bruno@clisp.org>
2892
2893         getcwd: Work around getcwd bug on AIX 5..7.
2894         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
2895         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
2896         Use a different value for gl_cv_func_getcwd_path_max. Move the
2897         definition of HAVE_PARTLY_WORKING_GETCWD from here...
2898         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
2899         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
2900         Define HAVE_MINIMALLY_WORKING_GETCWD.
2901         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
2902         where it is not even minimally working, that is, on AIX.
2903         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
2904         m4/getcwd-path-max.m4.
2905         (main): Update exit code computation.
2906         * doc/posix-functions/getcwd.texi: Mention list of platforms where
2907         getcwd does not handle long file names.
2908
2909 2011-11-20  Bruno Haible  <bruno@clisp.org>
2910
2911         getcwd: Fix bug from 2009-09-10.
2912         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
2913         like "no".
2914
2915 2011-11-20  Simon Josefsson  <simon@josefsson.org>
2916
2917         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
2918
2919 2011-11-20  Bruno Haible  <bruno@clisp.org>
2920
2921         fma tests: Avoid shadowing local variables.
2922         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
2923         expected.
2924
2925 2011-11-20  Bruno Haible  <bruno@clisp.org>
2926
2927         copysignf tests: Fix.
2928         * tests/test-copysignf.c: Fix signature check.
2929
2930 2011-11-20  Bruno Haible  <bruno@clisp.org>
2931
2932         fma: Remove unused code.
2933         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
2934         unused macros.
2935
2936 2011-11-20  Bruno Haible  <bruno@clisp.org>
2937
2938         sethostname: Fix doc about AIX.
2939         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
2940         sethostname; it has it.
2941
2942         sethostname: Mention more portability problems.
2943         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
2944         problem.
2945         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
2946
2947 2011-11-19  Bruno Haible  <bruno@clisp.org>
2948
2949         Depend on module fcntl-h when AT_FDCWD is used.
2950         * modules/utimens (Depends-on): Add fcntl-h.
2951         * modules/areadlinkat (Depends-on): Likewise.
2952         * modules/areadlinkat-with-size (Depends-on): Likewise.
2953         * modules/faccessat (Depends-on): Likewise.
2954         * modules/fchmodat (Depends-on): Likewise.
2955         * modules/fchownat (Depends-on): Likewise.
2956         * modules/getcwd (Depends-on): Likewise.
2957         * modules/mkdirat (Depends-on): Likewise.
2958         * modules/mkfifoat (Depends-on): Likewise.
2959         * modules/readlinkat (Depends-on): Likewise.
2960         * modules/symlinkat (Depends-on): Likewise.
2961         * modules/dup2-tests (Depends-on): Likewise.
2962         * modules/fdutimensat-tests (Depends-on): Likewise.
2963         * modules/futimens-tests (Depends-on): Likewise.
2964
2965 2011-11-19  Bruno Haible  <bruno@clisp.org>
2966
2967         euidaccess: Update a comment.
2968         * lib/euidaccess.c: Update comment about platforms with faccessat.
2969
2970 2011-11-19  Bruno Haible  <bruno@clisp.org>
2971
2972         openat: Fix file list.
2973         * modules/openat (Files): Remove lib/at-func.c.
2974
2975 2011-11-19  Bruno Haible  <bruno@clisp.org>
2976
2977         fstatat: Simplify.
2978         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
2979         gnulib should define rpl_fstatat, there is a
2980         "#define fstatat rpl_fstatat" in <sys/stat.h>.
2981
2982 2011-11-19  Bruno Haible  <bruno@clisp.org>
2983
2984         Ensure 'inline' can be used in tests/test-utimens-common.h.
2985         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
2986         * modules/futimens-tests (configure.ac): Likewise.
2987         * modules/utimens-tests (configure.ac): Likewise.
2988         * modules/utimensat-tests (configure.ac): Likewise.
2989
2990 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2991
2992         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
2993         not hash_insert0.
2994         (hash_insert_if_absent): Doc fix.
2995
2996 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2997
2998         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
2999
3000 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
3001
3002         test-getcwd: disambiguate exit status
3003         * tests/test-getcwd.c (test_long_name): Return 0..7.
3004         (main): Exit with an unambiguous exit status.  The old
3005         code yielded a mysterious mixture of two failure codes.
3006
3007         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
3008         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
3009         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
3010         rpl_fstatat or fstatat.  This should fix the other problem
3011         reported by Kai Habel in
3012         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
3013         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
3014         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
3015         and I reproduced it on a Solaris 8 host we still have in production.
3016
3017 2011-11-18  Jim Meyering  <meyering@redhat.com>
3018
3019         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
3020         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
3021         Add a sentence to the comment.
3022         (hash_insert0): New function that simply calls hash_insert_if_absent.
3023         * lib/hash.h (hash_insert_if_absent): Declare it.
3024         (hash_insert0): Add deprecation attribute.
3025         (_GL_ATTRIBUTE_DEPRECATED): Define.
3026         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
3027         not hash_insert0.
3028         * NEWS: Mention it, even though it's not really an incompatible change.
3029
3030 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
3031
3032         openat: avoid compilation failure due to lack of <errno.h> inclusion
3033         * lib/openat.c: Include <errno.h>.
3034
3035 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
3036
3037         * modules/getcwd (Depends-on): Add fdopendir.
3038         This fixes one of the two problems reported by Kai Habel in
3039         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
3040
3041         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
3042         stdalign problem reported by Ian Beckwith in
3043         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
3044         * modules/crypto/gc-arcfour (Depends-on):
3045         Depend conditionally on crypto/arcfour.
3046         * modules/crypto/gc-arctwo (Depends-on):
3047         Depend conditionally on crypto/arctwo.
3048         * modules/crypto/gc-des (Depends-on):
3049         Depend conditionally on crypto/des.
3050         * modules/crypto/gc-hmac-md5 (Depends-on):
3051         Depend conditionally on crypto/hmac-md5.
3052         * modules/crypto/gc-hmac-sha1 (Depends-on):
3053         Depend conditionally on crypto/hmac-sha1.
3054         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
3055         * modules/crypto/gc-md4 (Depends-on):
3056         Depend conditionally on crypto/md4.
3057         * modules/crypto/gc-md5 (Depends-on):
3058         Depend conditionally on crypto/md5.
3059         * modules/crypto/gc-rijndael (Depends-on):
3060         Depend conditionally on crypto/rijndael.
3061         * modules/crypto/gc-sha1 (Depends-on):
3062         Depend conditionally on crypto/sha1.
3063         * modules/crypto/gc-arcfour:
3064         * modules/crypto/gc-arctwo:
3065         * modules/crypto/gc-des:
3066         * modules/crypto/gc-hmac-md5:
3067         * modules/crypto/gc-hmac-sha1:
3068         * modules/crypto/gc-md2:
3069         * modules/crypto/gc-md4:
3070         * modules/crypto/gc-md5:
3071         * modules/crypto/gc-rijndael:
3072         * modules/crypto/gc-sha1:
3073         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
3074         now that the conditional dependencies do the work for us.
3075
3076 2011-11-17  Jim Meyering  <meyering@redhat.com>
3077
3078         tests: factor st_ctime-comparison out of two headers
3079         * tests/test-utimens-common.h (ctime_compare): Define.
3080         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
3081         * tests/test-lutimens.h (test_lutimens): Likewise.
3082         * tests/test-utimens.h (test_utimens): Likewise.
3083
3084         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
3085         Invoke the test program via an init.sh-using wrapper.
3086         * tests/test-getcwd.sh: New file.
3087         * modules/getcwd-tests (Files): Add it.
3088         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
3089
3090 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
3091
3092         gitlog-to-changelog: support multi-author commits.
3093         The FSF cares about keeping track of all authors of patches to its
3094         projects, but Git doesn't provide obvious support for multi-author
3095         changesets. Consensus seems to be forming around the use of extra
3096         Signed-off-by inspired lines in the log message formatted as
3097         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
3098         multi-author commits between version control systems.
3099         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
3100         log message and output in standard ChangeLog multi-author format.
3101         Reported by Peter Rosin <peda@lysator.liu.se>
3102
3103 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
3104             Bruno Haible  <bruno@clisp.org>
3105
3106         Fix some modules' file list.
3107         * modules/fstatat (Files): Add m4/lstat.m4.
3108         * modules/openat (Files): Likewise.
3109         * modules/unlinkat (Files): Likewise.
3110
3111 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
3112
3113         maint.mk: fix tight-scope.mk generation in VPATH builds.
3114         * top/maint.mk (tight-scope.mk): Make sure to prefix file
3115         reference with $(srcdir) so that the file is found correctly even
3116         when running `make syntax-check' in a VPATH build.
3117
3118 2011-11-13  Bruno Haible  <bruno@clisp.org>
3119             Jim Meyering  <meyering@redhat.com>
3120
3121         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
3122         * tests/init.sh (compare): Remove "No differences encountered" or
3123         synonymous output from the 'diff' program.
3124
3125 2011-11-13  Bruno Haible  <bruno@clisp.org>
3126
3127         Makefile: Tweak indentation.
3128         * Makefile: Use tab as first character in every line that contains rule
3129         commands.
3130
3131 2011-11-13  Bruno Haible  <bruno@clisp.org>
3132
3133         Syntax check for copyright statements.
3134         * check-copyright: New file.
3135         * Makefile (sc_check_copyright): New rule.
3136
3137 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3138
3139         * build-aux/git-version-gen: Add --prefix to configure the tag
3140         match string.
3141
3142 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3143
3144         * build-aux/git-version-gen: Add --help and --version.
3145
3146 2011-11-12  Jim Meyering  <meyering@redhat.com>
3147
3148         revamp the other test-exclude?.sh scripts to use init.sh, too
3149         * tests/test-exclude1.sh: Use init.sh.
3150         * tests/test-exclude2.sh: Likewise.
3151         * tests/test-exclude3.sh: Likewise.
3152         * tests/test-exclude4.sh: Likewise.
3153         * tests/test-exclude5.sh: Likewise.
3154         * tests/test-exclude6.sh: Likewise.
3155         * tests/test-exclude7.sh: Likewise.
3156         * tests/test-exclude8.sh: Likewise.
3157         * modules/exclude-tests (Files): List init.sh.
3158
3159         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
3160         These shell scripts ignored failure of the binary test-exclude,
3161         so making the latter return 77 didn't cause them to be skipped.
3162         * tests/test-exclude5.sh: Exit with test-exclude's error status
3163         when that program fails.  Revamp to use init.sh.
3164         * tests/test-exclude2.sh: Likewise.
3165
3166         test-exclude: fix a typo
3167         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
3168
3169 2011-11-11  Bruno Haible  <bruno@clisp.org>
3170
3171         obstack: Fix compilation error on MSVC 9.
3172         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
3173
3174 2011-11-11  Jim Meyering  <meyering@redhat.com>
3175
3176         test-exclude: skip tests rather than failing on deficient systems
3177         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
3178         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
3179         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
3180         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
3181
3182 2011-11-10  Bruno Haible  <bruno@clisp.org>
3183
3184         ptsname_r test: Avoid gcc warning on glibc systems.
3185         * tests/test-ptsname_r.c (null_ptr): New function.
3186         (test_errors): Use it.
3187
3188 2011-11-10  Bruno Haible  <bruno@clisp.org>
3189
3190         ptsname_r: Avoid compilation error on OSF/1 5.1.
3191         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
3192         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
3193         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
3194         function is not declared or incompatibly declared.
3195         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
3196         * modules/ptsname_r (Depends-on, configure.ac): Update.
3197         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
3198
3199 2011-11-10  Bruno Haible  <bruno@clisp.org>
3200
3201         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
3202         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
3203         When cross-compiling, guess yes on all platforms except AIX.
3204         Reported by Ludovic Courtès <ludo@gnu.org>.
3205
3206 2011-11-09  Bruno Haible  <bruno@clisp.org>
3207
3208         ptsname_r tests: Fix bugs.
3209         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
3210         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
3211
3212 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3213
3214         fstatat: work with cross-compilation
3215         Problem reported by Ludovic Courtès in
3216         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
3217         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
3218         "cross-compiling" and assume the bug is present.  Replace
3219         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
3220         an inverted sense, to be more conservative about our assumptions.
3221         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
3222
3223 2011-11-09  Bruno Haible  <bruno@clisp.org>
3224
3225         Improve MODULES.html output.
3226         * modules/mkfifoat (Description): Use the word "function".
3227         * modules/readlinkat (Description): Likewise.
3228         * modules/symlinkat (Description): Likewise.
3229
3230 2011-11-09  Eric Blake  <eblake@redhat.com>
3231
3232         ptsname_r-tests: new test module
3233         * modules/ptsname_r-tests: New module.
3234         * tests/test-ptsname_r.c: New file.
3235
3236         ptsname_r: new module
3237         * modules/ptsname_r: New module.
3238         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
3239         * lib/ptsname.c (__ptsname_r): Split...
3240         * lib/ptsname_r.c: ...into new file.
3241         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
3242         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
3243         * modules/stdlib (Makefile.am): Substitute witnesses.
3244         * lib/stdlib.in.h (ptsname_r): Declare it.
3245         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
3246         * MODULES.html.sh (Misc): Likewise.
3247         * modules/ptsname (Depends-on): Alter dependency.
3248         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
3249
3250 2011-11-09  Jim Meyering  <meyering@redhat.com>
3251
3252         announce-gen: be more concise when there's only one URL+tarball
3253         * build-aux/announce-gen (get_tool_versions): When you distribute
3254         only one type of tarball, combine the first two "Here are..."
3255         sections and make the key-checking grammar independent of
3256         how many tarballs there are.
3257
3258 2011-11-09  Eric Blake  <eblake@redhat.com>
3259
3260         openpty: provide a stub on mingw
3261         * lib/pty.in.h (includes): Provide forward declarations.
3262         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
3263
3264         raise: fix mingw handling of SIGPIPE
3265         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
3266
3267 2011-11-08  Bruno Haible  <bruno@clisp.org>
3268
3269         More conditional dependencies.
3270         * modules/faccessat (Depends-on): Add conditions.
3271         * modules/fchmodat (Depends-on): Likewise.
3272         * modules/fchownat (Depends-on): Likewise.
3273         * modules/fstatat (Depends-on): Likewise.
3274         * modules/mkfifoat (Depends-on): Likewise.
3275         * modules/readlinkat (Depends-on): Likewise.
3276         * modules/symlinkat (Depends-on): Likewise.
3277         * modules/unlinkat (Depends-on): Likewise.
3278         * modules/utimensat (Depends-on): Likewise.
3279         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
3280         * modules/linkat (Depends-on): Refine the conditions.
3281         * modules/renameat (Depends-on): Likewise.
3282
3283 2011-11-08  Bruno Haible  <bruno@clisp.org>
3284
3285         faccessat: Move AC_LIBOBJ invocation to module description.
3286         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
3287         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
3288         invocation from here...
3289         * modules/faccessat (configure.ac): ... to here. Invoke
3290         gl_PREREQ_FACCESSAT.
3291
3292 2011-11-08  Bruno Haible  <bruno@clisp.org>
3293
3294         faccessat: Simplify autoconf macro.
3295         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
3296         gl_FUNC_EUIDACCESS.
3297
3298 2011-11-08  Bruno Haible  <bruno@clisp.org>
3299
3300         renameat: Fix dependencies.
3301         * modules/renameat (Depends-on): Add stdbool.
3302
3303 2011-11-08  Bruno Haible  <bruno@clisp.org>
3304
3305         mkfifoat: Fix module description.
3306         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
3307         not gl_UNISTD_MODULE_INDICATOR.
3308
3309 2011-11-08  Bruno Haible  <bruno@clisp.org>
3310
3311         fstatat: Remove unused dependency.
3312         * modules/fstatat (Depends-on): Remove fstat.
3313
3314 2011-11-08  Simon Josefsson  <simon@josefsson.org>
3315
3316         GNUmakefile: behave when Makefile is missing.
3317         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
3318
3319 2011-11-08  Bruno Haible  <bruno@clisp.org>
3320
3321         openat: Conditionalize dependencies.
3322         * lib/openat.c: Reduce the scope of some #includes.
3323         * modules/openat (Depends-on): Add conditions.
3324
3325 2011-11-07  Jim Meyering  <meyering@redhat.com>
3326
3327         maint.mk: extract GPG key ID without using a temporary file
3328         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
3329         without using a temporary file.  Based on a suggestion from Werner Koch
3330         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
3331
3332 2011-11-07  Eric Blake  <eblake@redhat.com>
3333
3334         grantpt: fix typo
3335         * lib/stdlib.in.h (grantpt): Check correct function.
3336
3337         maint.mk: silence new syntax check
3338         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
3339
3340 2011-11-06  Bruno Haible  <bruno@clisp.org>
3341
3342         Doc about floating-point and math API.
3343         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
3344         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
3345
3346 2011-11-06  Bruno Haible  <bruno@clisp.org>
3347
3348         stdalign tests: Skip the test when compiled by Sun C.
3349         * tests/test-stdalign.c (main): Skip the test on Sun C.
3350
3351 2011-11-06  Bruno Haible  <bruno@clisp.org>
3352
3353         ansi-c++-opt: Complete the 2011-06-05 change.
3354         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
3355         does not support namespaces, set the variable to "no", not to ":".
3356
3357 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3358
3359         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
3360
3361 2011-11-06  Bruno Haible  <bruno@clisp.org>
3362
3363         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
3364         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
3365         (minus_zerol) [HP-UX]: New macro.
3366         (unary_minus) [HP-UX]: New function.
3367         (copysignl) [HP-UX]: Use unary_minus function.
3368
3369 2011-11-06  Bruno Haible  <bruno@clisp.org>
3370
3371         ldexp, ldexpf, ldexpl: Enhance tests.
3372         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
3373         and tests/test-ldexpl.c.
3374         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
3375         LDEXP, MIN_EXP, MAX_EXP): New macros.
3376         Include test-ldexp.h.
3377         (main): Just call test_function.
3378         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
3379         infinity.h, nan.h.
3380         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
3381         MAX_EXP): New macros.
3382         Include test-ldexp.h.
3383         (x, y): Remove variables.
3384         (main): Just call test_function.
3385         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
3386         infinity.h, nan.h.
3387         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
3388         MAX_EXP): New macros.
3389         Include test-ldexp.h.
3390         (x, y): Remove variables.
3391         (main): Just call test_function.
3392         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
3393         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
3394         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
3395         (Depends-on): Add isnand-nolibm, signbit, float.
3396         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
3397         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
3398         (Depends-on): Add isnanf-nolibm, signbit, float.
3399
3400 2011-11-06  Bruno Haible  <bruno@clisp.org>
3401
3402         math tests: Cosmetics.
3403         * tests/test-math-c++.cc: Reorder declarations.
3404
3405 2011-11-05  Bruno Haible  <bruno@clisp.org>
3406
3407         fma*: Simplify test.
3408         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
3409         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
3410
3411         Tests for module 'fmal'.
3412         * modules/fmal-tests: New file.
3413         * tests/test-fmal1.c: New file.
3414         * tests/test-fmal2.c: New file.
3415
3416         New module 'fmal'.
3417         * lib/math.in.h (fmal): New declaration.
3418         * lib/fmal.c: New file.
3419         * m4/fmal.m4: New file.
3420         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
3421         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
3422         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
3423         REPLACE_FMAL.
3424         * modules/fmal: New file.
3425         * doc/posix-functions/fmal.texi: Mention the new module and the various
3426         bugs.
3427
3428         Tests for module 'fmaf'.
3429         * modules/fmaf-tests: New file.
3430         * tests/test-fmaf1.c: New file.
3431         * tests/test-fmaf2.c: New file.
3432
3433         New module 'fmaf'.
3434         * lib/math.in.h (fmaf): New declaration.
3435         * lib/fmaf.c: New file.
3436         * m4/fmaf.m4: New file.
3437         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
3438         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
3439         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
3440         REPLACE_FMAF.
3441         * modules/fmaf: New file.
3442         * doc/posix-functions/fmaf.texi: Mention the new module and the various
3443         bugs.
3444
3445         Tests for module 'fma'.
3446         * modules/fma-tests: New file.
3447         * tests/test-fma1.c: New file.
3448         * tests/test-fma1.h: New file.
3449         * tests/test-fma2.c: New file.
3450         * tests/test-fma2.h: New file.
3451
3452         New module 'fma'.
3453         * lib/math.in.h (fma): New declaration.
3454         * lib/fma.c: New file.
3455         * m4/fma.m4: New file.
3456         * m4/fegetround.m4: New file.
3457         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
3458         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
3459         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
3460         REPLACE_FMA.
3461         * modules/fma: New file.
3462         * doc/posix-functions/fma.texi: Mention the new module and the various
3463         bugs.
3464
3465         Extend gl_MATHFUNC.
3466         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
3467         Support 'void' as argument type.
3468         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
3469
3470 2011-11-05  Jim Meyering  <meyering@redhat.com>
3471
3472         maint.mk: also prohibit inclusion of dirent.h without use
3473         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
3474
3475 2011-11-05  Bruno Haible  <bruno@clisp.org>
3476
3477         ldexpl tests: Avoid test failure on MSVC 9.
3478         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
3479         value. Needed in order to enforce the conversion from a value greater
3480         than LDBL_MAX to Infinity.
3481
3482 2011-11-05  Bruno Haible  <bruno@clisp.org>
3483
3484         New modules 'at-internal', 'openat-h', split off from module 'openat'.
3485         * modules/at-internal: New file, extracted from modules/openat.
3486         * modules/openat-h: New file.
3487         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
3488         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
3489         * modules/openat (Description): Add reference to POSIX function.
3490         (Files): Remove lib/openat.h, lib/openat-proc.c.
3491         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
3492         intprops, unistd.
3493         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
3494         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
3495         gl_FCNTL_MODULE_INDICATOR.
3496         (Include): Remove unistd.h, openat.h.
3497         * modules/areadlinkat (Files): Add lib/at-func.c.
3498         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3499         openat-die, openat-h, save-cwd.
3500         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
3501         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3502         openat-die, openat-h, save-cwd, unistd.
3503         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
3504         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3505         openat-h, save-cwd. Remove fcntl-h, openat.
3506         * modules/fchmodat (Files): Remove lib/openat.h.
3507         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3508         openat, stdbool, unistd.
3509         * modules/fchownat (Files): Remove lib/openat.h.
3510         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3511         openat, stdbool, sys_stat.
3512         * modules/fdopendir (Files): Remove lib/openat-priv.h,
3513         lib/openat-proc.c.
3514         (Depends-on): Add at-internal.
3515         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
3516         * modules/fstatat (Files): Remove lib/openat.h.
3517         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
3518         stdbool, unistd.
3519         * modules/fts (Depends-on): Add openat-h.
3520         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
3521         openat.
3522         * modules/mkdirat (Files): Remove lib/openat.h.
3523         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3524         openat, stdbool, sys_stat.
3525         * modules/mkfifoat (Files): Add lib/at-func.c.
3526         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3527         openat-h, save-cwd. Remove fcntl-h, openat.
3528         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
3529         * modules/readlinkat (Files): Add lib/at-func.c.
3530         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3531         openat-h, save-cwd. Remove fcntl-h, openat.
3532         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
3533         openat.
3534         * modules/selinux-at (Files): Add lib/at-func.c.
3535         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3536         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
3537         * modules/symlinkat (Files): Add lib/at-func.c.
3538         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3539         openat-h, save-cwd. Remove fcntl-h, openat.
3540         * modules/unlinkat (Files): Remove lib/openat.h.
3541         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
3542         stdbool.
3543         * modules/utimensat (Files): Add lib/at-func.c.
3544         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
3545         openat-die, openat-h, save-cwd.
3546         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
3547         * modules/fdutimensat-tests (Depends-on): Add openat.
3548         * modules/fstatat-tests (Depends-on): Add openat-h.
3549         * modules/readlinkat-tests (Depends-on): Add openat.
3550         * modules/symlinkat-tests (Depends-on): Add openat.
3551
3552 2011-11-05  Bruno Haible  <bruno@clisp.org>
3553
3554         openat: Include <stdbool.h>.
3555         * lib/openat.c: Include <stdbool.h>.
3556
3557 2011-11-04  Bruno Haible  <bruno@clisp.org>
3558
3559         fchownat, renameat, unlinkat: Fix dependencies.
3560         * modules/fchownat (Depends-on): Add fstatat.
3561         * modules/renameat (Depends-on): Likewise.
3562         * modules/unlinkat (Depends-on): Likewise.
3563
3564 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
3565
3566         openat: remove direct dependency on dirent
3567         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
3568         and hasn't been needed ever since fdopendir was split into its own
3569         module on 2009-08-31.
3570         * modules/openat (Depends-on): Remove dirent.
3571
3572 2011-11-04  Bruno Haible  <bruno@clisp.org>
3573
3574         renameat: Optimize code size.
3575         * modules/renameat (configure.ac): Don't compile at-func2.c if
3576         REPLACE_RENAMEAT is 1.
3577
3578 2011-11-04  Bruno Haible  <bruno@clisp.org>
3579
3580         openat tests: Fix file list.
3581         * modules/openat-tests (Files): Add tests/test-open.h.
3582
3583 2011-11-04  Bruno Haible  <bruno@clisp.org>
3584
3585         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
3586         * modules/fchmodat (Depends-on): Add openat-die.
3587         * modules/fchownat (Depends-on): Likewise.
3588         * modules/linkat (Depends-on): Likewise.
3589         * modules/renameat (Depends-on): Likewise.
3590         * modules/openat (Depends-on): Add dirent.
3591
3592 2011-11-04  Jim Meyering  <meyering@redhat.com>
3593
3594         at-func*.c: fix comments
3595         * lib/at-func2.c: Correct/improve first-line comment.
3596         * lib/at-func.c: Correct grammar in first-line comment.
3597
3598 2011-11-04  Bruno Haible  <bruno@clisp.org>
3599
3600         New module 'mkdirat', split off from module 'openat'.
3601         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
3602         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
3603         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
3604         * modules/mkdirat: New file, extracted from modules/openat.
3605         * modules/openat (Files): Remove lib/mkdirat.c.
3606         (Depends-on): Remove mkdir.
3607         (configure.ac): Remove AC_LIBOBJ of mkdirat.
3608         (Include): Remove <sys/stat.h>.
3609         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
3610         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
3611         tests/test-mkdir.h.
3612         (Depends-on): Remove ignore-value.
3613         (Makefile.am): Remove rules for test-mkdirat.
3614         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
3615         of module 'openat'.
3616         * NEWS: Mention the change.
3617
3618 2011-11-04  Bruno Haible  <bruno@clisp.org>
3619
3620         closedir: Avoid warning on mingw.
3621         * lib/closedir.c: Include <unistd.h>.
3622
3623 2011-11-04  Bruno Haible  <bruno@clisp.org>
3624
3625         New module 'fstatat', split off from module 'openat'.
3626         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
3627         defined.
3628         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
3629         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
3630         gl_FUNC_FSTATAT.
3631         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
3632         * modules/fstatat: New file, extracted from modules/openat.
3633         * modules/openat (Files): Remove lib/fstatat.c.
3634         (Depends-on): Remove lstat.
3635         (configure.ac): Remove AC_LIBOBJ of fstatat.
3636         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
3637         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
3638         tests/test-lstat.h, tests/test-stat.h.
3639         (Depends-on): Remove getcwd-lgpl.
3640         (Makefile.am): Remove rules for test-fstatat.
3641         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
3642         of module 'openat'.
3643         * NEWS: Mention the change.
3644         * modules/getcwd (Depends-on): Add fstatat.
3645         * modules/linkat (Depends-on): Likewise.
3646         * modules/mkfifoat-tests (Depends-on): Likewise.
3647         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
3648
3649 2011-11-03  Bruno Haible  <bruno@clisp.org>
3650
3651         New module 'unlinkat', split off from module 'openat'.
3652         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
3653         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
3654         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
3655         * modules/unlinkat: New file, extracted from modules/openat. Correct
3656         the dependency conditions.
3657         * modules/openat (Files): Remove lib/unlinkat.c.
3658         (Depends-on): Remove rmdir, unlink.
3659         (configure.ac): Remove AC_LIBOBJ of unlinkat.
3660         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
3661         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
3662         tests/test-rmdir.h, tests/test-unlink.h.
3663         (Depends-on): Remove unlinkdir.
3664         (Makefile.am): Remove rules for test-unlinkat.
3665         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
3666         of module 'openat'.
3667         * NEWS: Mention the change.
3668         * modules/linkat-tests (Depends-on): Add unlinkat.
3669         * modules/mkfifoat-tests (Depends-on): Likewise.
3670         * modules/readlinkat-tests (Depends-on): Likewise.
3671
3672 2011-11-02  Bruno Haible  <bruno@clisp.org>
3673
3674         New module 'fchmodat', split off from module 'openat'.
3675         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
3676         defined.
3677         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
3678         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
3679         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
3680         * modules/fchmodat: New file, extracted from modules/openat.
3681         * modules/openat (Files): Remove lib/fchmodat.c.
3682         (configure.ac): Remove AC_LIBOBJ of fchmodat.
3683         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
3684         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
3685         (Makefile.am): Remove rules for test-fchmodat.
3686         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
3687         of module 'openat'.
3688         * NEWS: Mention the change.
3689
3690 2011-11-02  Jim Meyering  <meyering@redhat.com>
3691
3692         putenv: indent #definition of "environ" to placate cppi
3693         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
3694
3695         gitlog-to-changelog: provide a ChangeLog-repair mechanism
3696         Git logs are often treated as immutable, because editing them
3697         changes the SHA1 checksums of all descendants.  Thus, errors in
3698         git logs tend to stay there forever.  However, when we generate
3699         a ChangeLog file -- typically for distribution -- from that git log,
3700         we can actually make corrections in the generated file.  The key
3701         lies in recording in machine-readable/applicable form the desired
3702         corrections.  See --help for description and an example.
3703         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
3704         (usage): Describe it; alphabetize option descriptions.
3705         (main): Honor the new option, carefully.
3706
3707 2011-11-01  Jim Meyering  <meyering@redhat.com>
3708
3709         gitlog-to-changelog: avoid an infloop
3710         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
3711         that ends up being empty.
3712
3713 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3714
3715         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
3716         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
3717         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
3718         contains (possibly-quoted) backslashes.  This should avoid
3719         all-too-common shell bugs if COMPLICATED contains backslashes in
3720         the "wrong" places.  Reported by David Evans in
3721         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
3722         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
3723         because we want ASCII ranges.  Is there some reason we don't use
3724         the C locale everywhere in this script?
3725         (func_module, top level): Avoid unwanted pathname expansion when
3726         $repo_url_prefix or $repo_url_suffix_repl contain shell
3727         metacharacters like '?' and '*'.
3728
3729 2011-11-01  Bruno Haible  <bruno@clisp.org>
3730
3731         fchownat: Improve description.
3732         * modules/fchownat (Description): Add link to function.
3733
3734 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3735
3736         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
3737         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
3738         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
3739         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
3740
3741 2011-11-01  Bruno Haible  <bruno@clisp.org>
3742
3743         alignof: Avoid collision with stdalign module.
3744         * lib/alignof.h (alignof): Remove macro.
3745         * NEWS: Mention the change.
3746         Reported by Paul Eggert.
3747
3748 2011-11-01  Bruno Haible  <bruno@clisp.org>
3749
3750         New module 'fchownat', split off from module 'openat'.
3751         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
3752         defined.
3753         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
3754         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
3755         invoke gl_FUNC_FCHOWNAT.
3756         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
3757         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
3758         * modules/fchownat: New file, extracted from modules/openat.
3759         * modules/openat (Files): Remove lib/fchownat.c.
3760         (Depends-on): Remove lchown.
3761         (configure.ac): Remove AC_LIBOBJ of fchownat.
3762         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
3763         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
3764         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
3765         (Depends-on): Remove mgetgroups, usleep, stat-time.
3766         (configure.ac): Remove test for getegid.
3767         (Makefile.am): Remove rules for test-fchownat.
3768         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
3769         of module 'openat'.
3770         * NEWS: Mention the change.
3771
3772 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
3773
3774         stdalign: port better to MSVC and to Sun C 5.11
3775         This fixes some of the problems reported by Bruno Haible in
3776         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
3777         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
3778         shortcomings of MSVC and of Sun C 5.11.
3779         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
3780         around __declspec arg.
3781         * modules/stdalign-tests (Files): Add tests/macros.h.
3782         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
3783         Include macros.h, for ASSERT.
3784         (DECLARE_ALIGNED): Remove.
3785         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
3786         to catch bug), and to 1 if not (simplifies the rest of the code).
3787         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
3788         (CHECK_AUTO): Remove.
3789         (CHECK_ALIGNED): Check only the alignment of the static vars,
3790         since auto var alignment isn't supported by Sun C 5.11.
3791         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
3792         ASSERT failures are easier to diagnose.
3793
3794 2011-10-31  Bruno Haible  <bruno@clisp.org>
3795
3796         doc about some IRIX 5.3 problems.
3797         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
3798         on IRIX 5.3.
3799         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
3800         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
3801         5.3.
3802         * doc/posix-functions/grantpt.texi: Likewise.
3803         * doc/posix-functions/unlockpt.texi: Likewise.
3804         * doc/posix-functions/lgamma.texi: Likewise.
3805         * doc/posix-functions/nextafter.texi: Likewise.
3806         * doc/posix-functions/remainder.texi: Likewise.
3807         * doc/posix-functions/select.texi: Mention misplaced declaration on
3808         IRIX 5.3.
3809         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3810
3811 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
3812
3813         gitlog-to-changelog: fix git-log invocation.
3814         git-log mishandles date strings before 1970-01-01 UTC, and there is
3815         no use to specify --since=1970-01-01 by default anyway.
3816         * build-aux/gitlog-to-changelog: By default, when no --since option
3817         was given, do not specify explicit --since option to git-log.
3818
3819 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
3820
3821         gitlog-to-changelog: new option --append-dot.
3822         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
3823         first non-blank line of each commit message terminated with a dot.
3824
3825 2011-10-30  Bruno Haible  <bruno@clisp.org>
3826
3827         ffsl, ffsll: Avoid compilation error due to 'restrict'.
3828         * lib/ffsl.h: Include <config.h>.
3829         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
3830
3831 2011-10-30  Jim Meyering  <meyering@redhat.com>
3832
3833         GNUmakefile: reenable "make syntax-check" for most projects
3834         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
3835         build-aux variable", "syntax-check" would do nothing but succeed with
3836         the "No version control files detected..." diagnostic (unless you
3837         happened to override _build-aux via cfg.mk).
3838         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
3839         to precede inclusion of maint.mk.  Otherwise, these variables would
3840         be used undefined in any project that does not override the default.
3841
3842 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
3843
3844         gitlog-to-changelog: treat a message with only blank lines as empty.
3845         * build-aux/gitlog-to-changelog: Move the code that removes leading and
3846         trailing blank lines before the code that issues a warning about an
3847         empty commit message.
3848
3849 2011-10-30  Jim Meyering  <meyering@redhat.com>
3850
3851         test-parse-datetime.c: avoid new DST-related false positive test failure
3852         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
3853         based on the time/date we'll convert, not the current time.
3854         Otherwise, the moment we cross a DST boundary like today's in
3855         Europe, (CEST to CET), that offset ends up being one hour off.
3856
3857 2011-10-27  Bruno Haible  <bruno@clisp.org>
3858
3859         fstat: Tweak documentation.
3860         * modules/fstat (Description): More precise description.
3861
3862 2011-10-27  Bruno Haible  <bruno@clisp.org>
3863
3864         Update documentation regarding 'largefile' module.
3865         * doc/posix-functions/fstat.texi: Tweak wording.
3866         * doc/posix-functions/opendir.texi: Mention that the module fixes the
3867         problems with huge directories and/or small ino_t types.
3868         * doc/posix-functions/readdir.texi: Likewise.
3869         * doc/posix-functions/rewinddir.texi: Likewise.
3870
3871 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
3872
3873         maint.mk: don't maintain a second build-aux variable.
3874         * maint.mk (build_aux): Removed.  The maintainer-makefile module
3875         depends on GNUmakefile, which already maintains a cfg.mk
3876         overridable $(_build-aux) for projects with a non-standard
3877         build-aux directory location, although without the $(srcdir)
3878         prefix.  Use that variable consistently instead of introducing a
3879         second one.  Adjust all call sites.
3880
3881 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
3882
3883         Add stdalign module and use it in other modules.
3884         This is based on a previous proposal by Bruno Haible
3885         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
3886
3887         stdalign: new module
3888         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
3889         * modules/stdalign: New files.
3890         * MODULES.html.sh (c1x_core_properties): Add stdalign.
3891         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
3892
3893         stdalign-tests: new module
3894         * modules/stdalign-tests, tests/test-stdalign.c: New files.
3895
3896         argp: use stdalign
3897         * lib/argp-parse.c: Include <stdalign.h>.
3898         (alignof): Remove.
3899         * modules/argp (Depends-on): Add stdalign.
3900
3901         crypto libraries: use stdalign
3902         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
3903         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
3904         Do not include <stdlib.h> twice, in md4.c.
3905         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
3906         because we are accessing a pointer's bit-pattern, not a size.
3907         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
3908         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
3909         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
3910         * modules/crypto/sha512: Likewise.
3911
3912         sys_socket: use stdalign, not alignof
3913         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
3914         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
3915
3916 2011-10-27  Bruno Haible  <bruno@clisp.org>
3917
3918         raise test: Avoid a test failure on Linux/MIPS.
3919         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
3920         because 99 is a valid signal on Linux/MIPS.
3921
3922 2011-10-27  Bruno Haible  <bruno@clisp.org>
3923
3924         nonblocking tests: Fix test failure on Linux/MIPS.
3925         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
3926         Set to 270000.
3927
3928 2011-10-27  Bruno Haible  <bruno@clisp.org>
3929
3930         utimensat: Work around problem on Linux/hppa.
3931         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
3932         values.
3933         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
3934
3935 2011-10-25  Jim Meyering  <meyering@redhat.com>
3936
3937         maint.mk: fix a bug in sc_prohibit_stddef_without_use
3938         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
3939         after symbols like NULL, size_t, etc.
3940         Reported by Alfred M. Szmidt.
3941
3942         maint.mk: exempt ENODATA from a syntax-check rule
3943         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
3944         from the sc_prohibit_always-defined_macros syntax-check rule.
3945         Add a comment.  See this for more details:
3946         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
3947
3948 2011-10-23  Jim Meyering  <meyering@redhat.com>
3949
3950         fts: close parent dir FD before returning from post-traversal fts_read
3951         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
3952         unlink A, even though an FD open on A remained.  This is suboptimal
3953         (holding a file descriptor open longer than needed), but otherwise not
3954         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
3955         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
3956         that represents a real problem: it causes the removal of A to fail
3957         with e.g., "rm: cannot remove `A': Device or resource busy"
3958
3959         fts visits each directory twice and keeps a cache (fts_fd_ring) of
3960         directory file descriptors.  After completing the final, FTS_DP,
3961         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
3962         cache, but then proceeded to add a new FD to it via the subsequent
3963         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
3964         final file descriptor would be closed only via fts_close's call to
3965         fd_ring_clear.  Now, it is usually closed earlier, via the final
3966         FTS_DP-returning fts_read call.
3967         * lib/fts.c (restore_initial_cwd): New function, converted from
3968         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
3969         Update callers.
3970         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
3971         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
3972
3973 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
3974             Bruno Haible  <bruno@clisp.org>
3975             Jim Meyering  <jim@meyering.net>
3976
3977         readme-release: improve safety of release prep instructions.
3978         * README-release: Don't git pull all branches when only master
3979         is needed for the release process.
3980         Run make maintainer-clean before changing trees and merging.
3981         Don't try to run ./configure right after git pull in case files
3982         that influence the bootstrap process have changed, move the
3983         ./configure step to after running ./bootstrap.
3984         Don't bootstrap "one last time"... it's the first time!
3985
3986 2011-10-22  Bruno Haible  <bruno@clisp.org>
3987
3988         errno, strerror-override: Support for MSVC 10.
3989         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
3990         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
3991         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
3992         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
3993         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
3994         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
3995         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
3996         Assign values compatible with MSVC 10.
3997         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
3998         New macros.
3999         (GNULIB_defined_EWINSOCK): New macro.
4000         * lib/strerror-override.c (strerror_override): Update accordingly.
4001         * lib/strerror-override.h: Likewise.
4002         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
4003         longer equal to the corresponding errno value.
4004         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4005
4006 2011-10-22  Bruno Haible  <bruno@clisp.org>
4007
4008         perror: Recognize when test program crashes.
4009         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
4010         strerror, set gl_cv_func_perror_works to no.
4011         Reported by Daniel Richard G. <skunk@iskunk.org>.
4012
4013         perror: Fix indentation.
4014         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
4015
4016 2011-10-22  Bruno Haible  <bruno@clisp.org>
4017
4018         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
4019         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
4020         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
4021         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
4022         functions, not as a macro.
4023         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
4024         macros.
4025         (isfinite, isinf, isnan, signbit): Check overloaded functions and
4026         absence of macro.
4027         Suggested by Eric Blake.
4028         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4029
4030 2011-10-21  Bruno Haible  <bruno@clisp.org>
4031
4032         relocatable-prog-wrapper: Don't leave object files behind.
4033         * build-aux/install-reloc: Re-synchronize list of .o files to be
4034         removed with list of compilation units.
4035
4036 2011-10-20  Bruno Haible  <bruno@clisp.org>
4037
4038         openpty, posix_openpt: Remove code duplication.
4039         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
4040         * lib/openpty.c: Include <stdlib.h>.
4041         (openpty): Use posix_openpt on all platforms except IRIX.
4042         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
4043
4044 2011-10-20  Bruno Haible  <bruno@clisp.org>
4045
4046         unlockpt: Detect invalid argument.
4047         * lib/unlockpt.c: Include <fcntl.h>.
4048         (unlockpt): Check whether fd is valid, using fcntl().
4049         * modules/unlockpt (Depends-on): Add fcntl-h.
4050
4051 2011-10-20  Bruno Haible  <bruno@clisp.org>
4052
4053         openpty: Avoid compilation error on AIX 6.1.
4054         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
4055
4056 2011-10-20  Bruno Haible  <bruno@clisp.org>
4057
4058         posix_openpt: Support for OpenBSD.
4059         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
4060         (posix_openpt) [OpenBSD]: New code.
4061         * lib/grantpt.c: Include <fcntl.h>.
4062         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
4063         * modules/grantpt (Depends-on): Add fcntl-h.
4064
4065 2011-10-20  Bruno Haible  <bruno@clisp.org>
4066
4067         posix_openpt test: Coding style.
4068         * tests/test-posix_openpt.c: Use GNU coding style.
4069
4070 2011-10-20  Bruno Haible  <bruno@clisp.org>
4071
4072         grantpt: Support --avoid=pt_chown.
4073         * modules/grantpt (Files): Add lib/pty-private.h.
4074
4075 2011-10-20  Bruno Haible  <bruno@clisp.org>
4076
4077         posix_openpt: Fix autoconf macro.
4078         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
4079         unneeded check for _getpty.
4080
4081 2011-10-20  Bruno Haible  <bruno@clisp.org>
4082
4083         openpty: Update comments.
4084         * lib/openpty.c: Add comments about Minix.
4085
4086 2011-10-19  Eric Blake  <eblake@redhat.com>
4087
4088         openpty: relax license
4089         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
4090
4091         pt_chown: use configmake to simplify build
4092         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
4093
4094         ptsname and others: relax license
4095         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
4096         * modules/unlockpt (License): Likewise.
4097         * modules/pt_chown (License): Likewise.
4098         * modules/ptsname (License): Likewise.
4099         * modules/ttyname_r (License): Likewise.
4100
4101 2011-10-19  Jim Meyering  <meyering@redhat.com>
4102
4103         posix_openpt: remove spurious #endif
4104         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
4105
4106 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
4107
4108         maint.mk: Respect $(build_aux) in web-manual rule.
4109         * top/maint.mk (web-manual): Find gen-announce script in user's
4110         $(build_aux) directory instead of hard-coding 'build-aux'.
4111
4112 2011-10-19  Bruno Haible  <bruno@clisp.org>
4113
4114         posix_openpt: Fix compilation error.
4115         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
4116         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
4117         Mention the openpty module as an alternative.
4118
4119 2011-10-19  Bruno Haible  <bruno@clisp.org>
4120
4121         Support for old NeXTstep 3.3 frexp().
4122         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
4123         execution time of the test to 5 seconds.
4124         Reported by Daniel Richard G. <skunk@iskunk.org>.
4125
4126 2011-10-19  Bruno Haible  <bruno@clisp.org>
4127
4128         Support for old NeXTstep 3.3 sed.
4129         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
4130         part, use /.../, not \|...|. Escape periods in the header file name.
4131         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4132         Reported by Daniel Richard G. <skunk@iskunk.org>.
4133
4134 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4135
4136         Support for old NeXTstep 3.3 gcc.
4137         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
4138         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
4139         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
4140         * lib/spawn.in.h (_Restrict_arr_): Likewise.
4141         * lib/regex.h (_Restrict_arr_): Likewise.
4142         * lib/regex_internal.h (re_token_t): Likewise.
4143         * lib/regexec.c (check_node_accept_bytes): Likewise.
4144         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
4145
4146 2011-10-18  Eric Blake  <eblake@redhat.com>
4147
4148         posix_openpt: new module
4149         * modules/posix_openpt: New module.
4150         * m4/posix_openpt.m4: New file.
4151         * lib/posix_openpt.c: Likewise.
4152         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4153         (gl_STDLIB_H_DEFAULTS): Set defaults.
4154         * modules/stdlib (Makefile.am): Substitute macros.
4155         * lib/stdlib.in.h (posix_openpt): Declare.
4156         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
4157         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
4158         * modules/posix_openpt-tests: New test module.
4159         * tests/test-posix_openpt.c: New test.
4160
4161 2011-10-15  Bruno Haible  <bruno@clisp.org>
4162
4163         xstrtoll: Fix compilation failure.
4164         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
4165         from lib/strtol.c.
4166         * doc/posix-headers/limits.texi: Mention missing numerical limits on
4167         some platforms.
4168         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4169
4170 2011-10-15  Bruno Haible  <bruno@clisp.org>
4171
4172         vasnprintf: Optimize bit search operation.
4173         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
4174         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
4175         gl_DOUBLE_EXPONENT_LOCATION.
4176         * modules/vasnprintf (Files): Add m4/exponentd.m4.
4177         * modules/unistdio/u8-vasnprintf (Files): Likewise.
4178         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
4179         * modules/unistdio/u16-vasnprintf (Files): Likewise.
4180         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
4181         * modules/unistdio/u32-vasnprintf (Files): Likewise.
4182         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
4183         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
4184         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
4185
4186 2011-10-15  Bruno Haible  <bruno@clisp.org>
4187
4188         vasnprintf: Fix comments.
4189         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
4190
4191 2011-10-14  Bruno Haible  <bruno@clisp.org>
4192
4193         Tests for module 'integer_length_ll'.
4194         * modules/integer_length_ll-tests: New file.
4195         * tests/test-integer_length_ll.c: New file.
4196
4197         New module 'integer_length_ll'.
4198         * lib/integer_length_ll.c: New file.
4199         * modules/integer_length_ll: New file.
4200
4201 2011-10-14  Bruno Haible  <bruno@clisp.org>
4202
4203         Tests for module 'integer_length_l'.
4204         * modules/integer_length_l-tests: New file.
4205         * tests/test-integer_length_l.c: New file.
4206
4207         New module 'integer_length_l'.
4208         * lib/integer_length_l.c: New file.
4209         * modules/integer_length_l: New file.
4210
4211 2011-10-14  Bruno Haible  <bruno@clisp.org>
4212
4213         Tests for module 'integer_length'.
4214         * modules/integer_length-tests: New file.
4215         * tests/test-integer_length.c: New file.
4216
4217         New module 'integer_length'.
4218         * lib/integer_length.h: New file.
4219         * lib/integer_length.c: New file.
4220         * modules/integer_length: New file.
4221
4222 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4223
4224         popen: Fix dependency conditions.
4225         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
4226
4227 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4228
4229         perror: Fix autoconf test.
4230         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
4231         <stdlib.h> and <string.h>.
4232
4233 2011-10-14  Bruno Haible  <bruno@clisp.org>
4234
4235         ffsl: Optimize on 64-bit platforms.
4236         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
4237         unrolling.
4238
4239 2011-10-13  Bruno Haible  <bruno@clisp.org>
4240
4241         ffsl: Optimize on 32-bit platforms.
4242         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
4243         use ffs() without a loop.
4244
4245         ffsl, ffsll: Optimize for GCC.
4246         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
4247         * lib/ffsl.c (GCC_BUILTIN): New macro.
4248         * lib/ffsll.c (GCC_BUILTIN): Likewise.
4249
4250 2011-10-13  Bruno Haible  <bruno@clisp.org>
4251
4252         ffs, bcopy, memset: Support symbol renaming via config.h.
4253         * lib/ffs.c: Include <config.h>.
4254         * lib/bcopy.c: Likewise.
4255         * lib/memset.c: Likewise.
4256
4257 2011-10-10  Bruno Haible  <bruno@clisp.org>
4258
4259         atanl: Simplify for platforms where 'long double' == 'double'.
4260         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4261         alternative implementation.
4262         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4263         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4264         * modules/atanl (Depends-on): Add atan. Update conditions.
4265
4266 2011-10-10  Bruno Haible  <bruno@clisp.org>
4267
4268         acosl: Simplify for platforms where 'long double' == 'double'.
4269         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4270         alternative implementation.
4271         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4272         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4273         * modules/acosl (Depends-on): Add acos. Update conditions.
4274
4275 2011-10-10  Bruno Haible  <bruno@clisp.org>
4276
4277         asinl: Simplify for platforms where 'long double' == 'double'.
4278         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4279         alternative implementation.
4280         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4281         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4282         * modules/asinl (Depends-on): Add asin. Update conditions.
4283
4284 2011-10-10  Bruno Haible  <bruno@clisp.org>
4285
4286         tanl: Simplify for platforms where 'long double' == 'double'.
4287         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4288         implementation.
4289         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4290         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4291         * modules/tanl (Depends-on): Add tan. Update conditions.
4292         (configure.ac): Don't compile trigl.c if
4293         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4294
4295 2011-10-10  Bruno Haible  <bruno@clisp.org>
4296
4297         cosl: Simplify for platforms where 'long double' == 'double'.
4298         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4299         implementation.
4300         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4301         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4302         * modules/cosl (Depends-on): Add cos. Update conditions.
4303         (configure.ac): Don't compile sincosl.c and trigl.c if
4304         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4305
4306 2011-10-10  Bruno Haible  <bruno@clisp.org>
4307
4308         sinl: Simplify for platforms where 'long double' == 'double'.
4309         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4310         implementation.
4311         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4312         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4313         * modules/sinl (Depends-on): Add sin. Update conditions.
4314         (configure.ac): Don't compile sincosl.c and trigl.c if
4315         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4316
4317 2011-10-10  Bruno Haible  <bruno@clisp.org>
4318
4319         logl: Simplify for platforms where 'long double' == 'double'.
4320         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4321         implementation.
4322         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4323         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4324         * modules/logl (Depends-on): Add log. Update conditions.
4325
4326 2011-10-10  Bruno Haible  <bruno@clisp.org>
4327
4328         expl: Simplify for platforms where 'long double' == 'double'.
4329         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4330         implementation.
4331         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4332         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4333         * modules/expl (Depends-on): Add exp. Update conditions.
4334
4335 2011-10-10  Bruno Haible  <bruno@clisp.org>
4336
4337         sqrtl: Simplify for platforms where 'long double' == 'double'.
4338         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4339         alternative implementation.
4340         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4341         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4342         * modules/sqrtl (Depends-on): Update conditions.
4343
4344 2011-10-10  Bruno Haible  <bruno@clisp.org>
4345
4346         ldexpl: Simplify for platforms where 'long double' == 'double'.
4347         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4348         alternative implementation.
4349         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4350         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4351         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
4352
4353 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
4354
4355         ffsll: set correct witness
4356         * modules/ffsll (configure.ac): Fix typo.
4357
4358 2011-10-10  Bruno Haible  <bruno@clisp.org>
4359
4360         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
4361         * lib/printf-frexpl.c: Include <config.h>.
4362         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4363         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
4364         second time.
4365         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
4366         gl_LONG_DOUBLE_VS_DOUBLE.
4367         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
4368         conditions.
4369
4370 2011-10-10  Bruno Haible  <bruno@clisp.org>
4371
4372         frexpl: Simplify for platforms where 'long double' == 'double'.
4373         * lib/frexpl.c: Include <config.h>.
4374         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4375         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4376         time.
4377         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4378         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4379         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
4380         * modules/frexpl (Depends-on): Add frexp. Update conditions.
4381         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
4382         conditions.
4383
4384 2011-10-10  Jim Meyering  <meyering@redhat.com>
4385
4386         test-renameat: don't leave behind a temporary file
4387         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
4388           ERROR: files left in build directory after distclean:
4389           ./gltests/test-renameat.too
4390           make[1]: *** [distcleancheck] Error 1
4391         Reported by Tom G. Christensen.
4392
4393 2011-10-09  Bruno Haible  <bruno@clisp.org>
4394
4395         rint: Determine RINT_LIBM correctly on AIX 7.
4396         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
4397         directly, not only through a function pointer. Also accept an optional
4398         4th argument with extra code.
4399         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
4400         rintf() call by gcc when optimizing.
4401
4402         mathfunc.m4: Refactor.
4403         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
4404         m4 variable.
4405
4406 2011-10-09  Bruno Haible  <bruno@clisp.org>
4407
4408         rintl: Simplify for platforms where 'long double' == 'double'.
4409         * lib/rintl.c: Include <config.h>.
4410         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4411         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4412         time.
4413         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4414         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4415         * modules/rintl (Depends-on): Add rint. Update conditions.
4416
4417 2011-10-09  Bruno Haible  <bruno@clisp.org>
4418
4419         roundl: Simplify for platforms where 'long double' == 'double'.
4420         * lib/roundl.c: Include <config.h>.
4421         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4422         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4423         time.
4424         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4425         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4426         * modules/roundl (Depends-on): Add round. Update conditions.
4427
4428 2011-10-09  Bruno Haible  <bruno@clisp.org>
4429
4430         truncl: Simplify for platforms where 'long double' == 'double'.
4431         * lib/truncl.c: Include <config.h>.
4432         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4433         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4434         time.
4435         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4436         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4437         * modules/truncl (Depends-on): Add trunc. Update conditions.
4438
4439 2011-10-09  Bruno Haible  <bruno@clisp.org>
4440
4441         ceill: Simplify for platforms where 'long double' == 'double'.
4442         * lib/ceill.c: Include <config.h>.
4443         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4444         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4445         time.
4446         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4447         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4448         * modules/ceill (Depends-on): Add ceil. Update conditions.
4449
4450 2011-10-09  Bruno Haible  <bruno@clisp.org>
4451
4452         floorl: Simplify for platforms where 'long double' == 'double'.
4453         * lib/floorl.c: Include <config.h>.
4454         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4455         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4456         time.
4457         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4458         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4459         * modules/floorl (Depends-on): Add floor. Update conditions.
4460
4461 2011-10-09  Bruno Haible  <bruno@clisp.org>
4462
4463         rint: Fix ordering constraints.
4464         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
4465         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
4466         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
4467
4468 2011-10-09  Bruno Haible  <bruno@clisp.org>
4469
4470         copysignl: Simplify for platforms where 'long double' == 'double'.
4471         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4472         alternative.
4473         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4474         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4475         * modules/copysignl (Depends-on): Add copysign. Update conditions.
4476
4477 2011-10-09  Bruno Haible  <bruno@clisp.org>
4478
4479         Tests for module 'rintl'.
4480         * modules/rintl-tests: New file.
4481         * tests/test-rintl.c: New file.
4482
4483         New module 'rintl'.
4484         * lib/math.in.h (rintl): New declaration.
4485         * lib/rintl.c: New file.
4486         * m4/rintl.m4: New file.
4487         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
4488         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
4489         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
4490         * modules/rintl: New file.
4491         * tests/test-math-c++.cc: Check the declaration of rintl.
4492         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4493         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
4494         * doc/posix-functions/rintl.texi: Mention the new module.
4495
4496 2011-10-09  Bruno Haible  <bruno@clisp.org>
4497
4498         Tests for module 'rintf'.
4499         * modules/rintf-tests: New file.
4500         * tests/test-rintf.c: New file.
4501
4502         New module 'rintf'.
4503         * lib/math.in.h (rintf): New declaration.
4504         * lib/rintf.c: New file.
4505         * m4/rintf.m4: New file.
4506         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
4507         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
4508         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
4509         * modules/rintf: New file.
4510         * tests/test-math-c++.cc: Check the declaration of rintf.
4511         * doc/posix-functions/rintf.texi: Mention the new module.
4512
4513 2011-10-09  Bruno Haible  <bruno@clisp.org>
4514
4515         rint: Support for MSVC.
4516         * lib/math.in.h (rint): New declaration.
4517         * lib/rint.c: New file.
4518         * m4/rint.m4: New file.
4519         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
4520         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
4521         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
4522         * modules/rint (Description): Fix.
4523         (Files): Add lib/rint.c, m4/rint.m4.
4524         (Depends-on): Add math.
4525         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
4526         gl_MATH_MODULE_INDICATOR.
4527         * tests/test-math-c++.cc: Check the declaration of rint.
4528         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4529         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
4530         * doc/posix-functions/rint.texi: Mention the replacement provided by
4531         the module.
4532
4533         rint tests: More tests.
4534         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
4535         minus-zero.h, infinity.h, nan.h.
4536         (main): Skip the test if the current rounding mode is not standard. Add
4537         tests for negative numbers, minus zero, infinity, NaN.
4538         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
4539         tests/nan.h.
4540         (Depends-on): Add isnand-nolibm.
4541
4542 2011-10-09  Bruno Haible  <bruno@clisp.org>
4543
4544         Tests for module 'copysignl'.
4545         * modules/copysignl-tests: New file.
4546         * tests/test-copysignl.c: New file.
4547
4548         New module 'copysignl'.
4549         * lib/math.in.h (copysignl): New declaration.
4550         * lib/copysignl.c: New file.
4551         * m4/copysignl.m4: New file.
4552         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
4553         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
4554         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
4555         HAVE_COPYSIGNL.
4556         * modules/copysignl: New file.
4557         * tests/test-math-c++.cc: Check the declaration of copysignl.
4558         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4559         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
4560         * doc/posix-functions/copysignl.texi: Mention the new module.
4561
4562 2011-10-09  Bruno Haible  <bruno@clisp.org>
4563
4564         Tests for module 'copysignf'.
4565         * modules/copysignf-tests: New file.
4566         * tests/test-copysignf.c: New file.
4567
4568         New module 'copysignf'.
4569         * lib/math.in.h (copysignf): New declaration.
4570         * lib/copysignf.c: New file.
4571         * m4/copysignf.m4: New file.
4572         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
4573         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
4574         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
4575         HAVE_COPYSIGNF.
4576         * modules/copysignf: New file.
4577         * tests/test-math-c++.cc: Check the declaration of copysignf.
4578         * doc/posix-functions/copysignf.texi: Mention the new module.
4579
4580 2011-10-09  Bruno Haible  <bruno@clisp.org>
4581
4582         Ensure that HAVE_* variables are set to 1 before they are set to 0.
4583         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
4584         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
4585         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4586         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
4587         gl_SIGNAL_H_DEFAULTS.
4588
4589 2011-10-09  Bruno Haible  <bruno@clisp.org>
4590
4591         poll: Make macro safer.
4592         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
4593         ac_cv_header_poll_h is not set.
4594
4595 2011-10-09  Bruno Haible  <bruno@clisp.org>
4596
4597         copysign: Provide replacement.
4598         * lib/math.in.h (copysign): New declaration.
4599         * lib/copysign.c: New file.
4600         * m4/copysign.m4: New file.
4601         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
4602         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
4603         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
4604         HAVE_COPYSIGN.
4605         * modules/copysign (Description): Clarify.
4606         (Files): Add lib/copysign.c, m4/copysign.m4.
4607         (Depends-on): Add math, signbit.
4608         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
4609         gl_MATH_MODULE_INDICATOR.
4610         * tests/test-math-c++.cc: Check the declaration of copysign.
4611         * doc/posix-functions/copysign.texi: Mention the effects of the module
4612         on Minix and MSVC.
4613
4614 2011-10-09  Bruno Haible  <bruno@clisp.org>
4615
4616         isinf: Ensure macro on AIX 5.1.
4617         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
4618         macro.
4619         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
4620
4621 2011-10-09  Bruno Haible  <bruno@clisp.org>
4622
4623         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
4624         * modules/snprintf-posix-tests (configure.ac): Require
4625         gl_LONG_DOUBLE_VS_DOUBLE.
4626         * modules/sprintf-posix-tests (configure.ac): Likewise.
4627         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
4628         * modules/vasprintf-posix-tests (configure.ac): Likewise.
4629         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
4630         * modules/vsprintf-posix-tests (configure.ac): Likewise.
4631         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
4632         tests on platforms where 'long double' is the same as 'double'.
4633         * tests/test-sprintf-posix.h (test_function): Likewise.
4634         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4635         * tests/test-vasprintf-posix.c (test_function): Likewise.
4636
4637         *printf: Fix for platforms where 'long double' == 'double'.
4638         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
4639         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
4640         * modules/dprintf-posix (Files): Add m4/math_h.m4.
4641         * modules/fprintf-posix (Files): Likewise.
4642         * modules/obstack-printf-posix (Files): Likewise.
4643         * modules/snprintf-posix (Files): Likewise.
4644         * modules/sprintf-posix (Files): Likewise.
4645         * modules/vasnprintf (Files): Likewise.
4646         * modules/vasnprintf-posix (Files): Likewise.
4647         * modules/vasprintf-posix (Files): Likewise.
4648         * modules/vdprintf-posix (Files): Likewise.
4649         * modules/vfprintf-posix (Files): Likewise.
4650         * modules/vsnprintf-posix (Files): Likewise.
4651         * modules/vsprintf-posix (Files): Likewise.
4652         * modules/unistdio/u8-vasnprintf (Files): Likewise.
4653         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
4654         * modules/unistdio/u16-vasnprintf (Files): Likewise.
4655         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
4656         * modules/unistdio/u32-vasnprintf (Files): Likewise.
4657         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
4658         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
4659
4660         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
4661         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
4662         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4663         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
4664         'long double'.
4665         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
4666
4667         isinf: Fix for platforms where 'long double' == 'double'.
4668         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
4669         Don't blindly assume 80-bit 'long double'.
4670
4671         isfinite: Fix for platforms where 'long double' == 'double'.
4672         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
4673         Don't blindly assume 80-bit 'long double'.
4674
4675         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
4676         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
4677         * modules/isfinite-tests (configure.ac): Require
4678         gl_LONG_DOUBLE_VS_DOUBLE.
4679         * modules/isinf-tests (configure.ac): Likewise.
4680         * modules/isnan-tests (configure.ac): Likewise.
4681         * modules/isnanl-tests (configure.ac): Likewise.
4682         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
4683         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
4684         tests on platforms where 'long double' is the same as 'double'.
4685         * tests/test-isinf.c (test_isinfl): Likewise.
4686         * tests/test-isnan.c (test_long_double): Likewise.
4687         * tests/test-isnanl.h (main): Likewise.
4688
4689 2011-10-08  Bruno Haible  <bruno@clisp.org>
4690
4691         Tests for module 'tanhf'.
4692         * modules/tanhf-tests: New file.
4693         * tests/test-tanhf.c: New file.
4694
4695         New module 'tanhf'.
4696         * lib/math.in.h (tanhf): New declaration.
4697         * lib/tanhf.c: New file.
4698         * m4/tanhf.m4: New file.
4699         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
4700         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
4701         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
4702         * modules/tanhf: New file.
4703         * tests/test-math-c++.cc: Check the declaration of tanhf.
4704         * doc/posix-functions/tanhf.texi: Mention the new module.
4705
4706         tanh: Use a .m4 file.
4707         * m4/tanh.m4: New file.
4708         * modules/tanh (Files): Add it.
4709         (configure.ac): Just invoke gl_FUNC_TANH.
4710
4711 2011-10-08  Bruno Haible  <bruno@clisp.org>
4712
4713         Tests for module 'coshf'.
4714         * modules/coshf-tests: New file.
4715         * tests/test-coshf.c: New file.
4716
4717         New module 'coshf'.
4718         * lib/math.in.h (coshf): New declaration.
4719         * lib/coshf.c: New file.
4720         * m4/coshf.m4: New file.
4721         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
4722         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
4723         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
4724         * modules/coshf: New file.
4725         * tests/test-math-c++.cc: Check the declaration of coshf.
4726         * doc/posix-functions/coshf.texi: Mention the new module.
4727
4728         cosh: Use a .m4 file.
4729         * m4/cosh.m4: New file.
4730         * modules/cosh (Files): Add it.
4731         (configure.ac): Just invoke gl_FUNC_COSH.
4732
4733 2011-10-08  Bruno Haible  <bruno@clisp.org>
4734
4735         Tests for module 'sinhf'.
4736         * modules/sinhf-tests: New file.
4737         * tests/test-sinhf.c: New file.
4738
4739         New module 'sinhf'.
4740         * lib/math.in.h (sinhf): New declaration.
4741         * lib/sinhf.c: New file.
4742         * m4/sinhf.m4: New file.
4743         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
4744         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
4745         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
4746         * modules/sinhf: New file.
4747         * tests/test-math-c++.cc: Check the declaration of sinhf.
4748         * doc/posix-functions/sinhf.texi: Mention the new module.
4749
4750         sinh: Use a .m4 file.
4751         * m4/sinh.m4: New file.
4752         * modules/sinh (Files): Add it.
4753         (configure.ac): Just invoke gl_FUNC_SINH.
4754
4755 2011-10-08  Bruno Haible  <bruno@clisp.org>
4756
4757         Tests for module 'atan2f'.
4758         * modules/atan2f-tests: New file.
4759         * tests/test-atan2f.c: New file.
4760
4761         New module 'atan2f'.
4762         * lib/math.in.h (atan2f): New declaration.
4763         * lib/atan2f.c: New file.
4764         * m4/atan2f.m4: New file.
4765         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
4766         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
4767         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
4768         * modules/atan2f: New file.
4769         * tests/test-math-c++.cc: Check the declaration of atan2f.
4770         * doc/posix-functions/atan2f.texi: Mention the new module.
4771
4772         atan2: Use a .m4 file.
4773         * m4/atan2.m4: New file.
4774         * modules/atan2 (Files): Add it.
4775         (configure.ac): Just invoke gl_FUNC_ATAN2.
4776
4777 2011-10-08  Bruno Haible  <bruno@clisp.org>
4778
4779         Tests for module 'atanf'.
4780         * modules/atanf-tests: New file.
4781         * tests/test-atanf.c: New file.
4782
4783         New module 'atanf'.
4784         * lib/math.in.h (atanf): New declaration.
4785         * lib/atanf.c: New file.
4786         * m4/atanf.m4: New file.
4787         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
4788         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
4789         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
4790         * modules/atanf: New file.
4791         * tests/test-math-c++.cc: Check the declaration of atanf.
4792         * doc/posix-functions/atanf.texi: Mention the new module.
4793
4794         atan: Use a .m4 file.
4795         * m4/atan.m4: New file.
4796         * modules/atan (Files): Add it.
4797         (configure.ac): Just invoke gl_FUNC_ATAN.
4798
4799 2011-10-08  Bruno Haible  <bruno@clisp.org>
4800
4801         Tests for module 'acosf'.
4802         * modules/acosf-tests: New file.
4803         * tests/test-acosf.c: New file.
4804
4805         New module 'acosf'.
4806         * lib/math.in.h (acosf): New declaration.
4807         * lib/acosf.c: New file.
4808         * m4/acosf.m4: New file.
4809         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
4810         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
4811         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
4812         * modules/acosf: New file.
4813         * tests/test-math-c++.cc: Check the declaration of acosf.
4814         * doc/posix-functions/acosf.texi: Mention the new module.
4815
4816         acos: Use a .m4 file.
4817         * m4/acos.m4: New file.
4818         * modules/acos (Files): Add it.
4819         (configure.ac): Just invoke gl_FUNC_ACOS.
4820
4821 2011-10-08  Bruno Haible  <bruno@clisp.org>
4822
4823         Tests for module 'asinf'.
4824         * modules/asinf-tests: New file.
4825         * tests/test-asinf.c: New file.
4826
4827         New module 'asinf'.
4828         * lib/math.in.h (asinf): New declaration.
4829         * lib/asinf.c: New file.
4830         * m4/asinf.m4: New file.
4831         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
4832         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
4833         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
4834         * modules/asinf: New file.
4835         * tests/test-math-c++.cc: Check the declaration of asinf.
4836         * doc/posix-functions/asinf.texi: Mention the new module.
4837
4838         asin: Use a .m4 file.
4839         * m4/asin.m4: New file.
4840         * modules/asin (Files): Add it.
4841         (configure.ac): Just invoke gl_FUNC_ASIN.
4842
4843 2011-10-08  Bruno Haible  <bruno@clisp.org>
4844
4845         Tests for module 'tanf'.
4846         * modules/tanf-tests: New file.
4847         * tests/test-tanf.c: New file.
4848
4849         New module 'tanf'.
4850         * lib/math.in.h (tanf): New declaration.
4851         * lib/tanf.c: New file.
4852         * m4/tanf.m4: New file.
4853         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
4854         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
4855         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
4856         * modules/tanf: New file.
4857         * tests/test-math-c++.cc: Check the declaration of tanf.
4858         * doc/posix-functions/tanf.texi: Mention the new module.
4859
4860         tan: Use a .m4 file.
4861         * m4/tan.m4: New file.
4862         * modules/tan (Files): Add it.
4863         (configure.ac): Just invoke gl_FUNC_TAN.
4864
4865 2011-10-08  Bruno Haible  <bruno@clisp.org>
4866
4867         Tests for module 'cosf'.
4868         * modules/cosf-tests: New file.
4869         * tests/test-cosf.c: New file.
4870
4871         New module 'cosf'.
4872         * lib/math.in.h (cosf): New declaration.
4873         * lib/cosf.c: New file.
4874         * m4/cosf.m4: New file.
4875         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
4876         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
4877         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
4878         * modules/cosf: New file.
4879         * tests/test-math-c++.cc: Check the declaration of cosf.
4880         * doc/posix-functions/cosf.texi: Mention the new module.
4881
4882         cos: Use a .m4 file.
4883         * m4/cos.m4: New file.
4884         * modules/cos (Files): Add it.
4885         (configure.ac): Just invoke gl_FUNC_COS.
4886
4887 2011-10-08  Bruno Haible  <bruno@clisp.org>
4888
4889         Tests for module 'sinf'.
4890         * modules/sinf-tests: New file.
4891         * tests/test-sinf.c: New file.
4892
4893         New module 'sinf'.
4894         * lib/math.in.h (sinf): New declaration.
4895         * lib/sinf.c: New file.
4896         * m4/sinf.m4: New file.
4897         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
4898         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
4899         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
4900         * modules/sinf: New file.
4901         * tests/test-math-c++.cc: Check the declaration of sinf.
4902         * doc/posix-functions/sinf.texi: Mention the new module.
4903
4904         sin: Use a .m4 file.
4905         * m4/sin.m4: New file.
4906         * modules/sin (Files): Add it.
4907         (configure.ac): Just invoke gl_FUNC_SIN.
4908
4909 2011-10-08  Bruno Haible  <bruno@clisp.org>
4910
4911         Tests for module 'powf'.
4912         * modules/powf-tests: New file.
4913         * tests/test-powf.c: New file.
4914
4915         New module 'powf'.
4916         * lib/math.in.h (powf): New declaration.
4917         * lib/powf.c: New file.
4918         * m4/powf.m4: New file.
4919         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
4920         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
4921         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
4922         * modules/powf: New file.
4923         * tests/test-math-c++.cc: Check the declaration of powf.
4924         * doc/posix-functions/powf.texi: Mention the new module.
4925
4926         pow: Use a .m4 file.
4927         * m4/pow.m4: New file.
4928         * modules/pow (Files): Add it.
4929         (configure.ac): Just invoke gl_FUNC_POW.
4930
4931 2011-10-08  Bruno Haible  <bruno@clisp.org>
4932
4933         Tests for module 'log10f'.
4934         * modules/log10f-tests: New file.
4935         * tests/test-log10f.c: New file.
4936
4937         New module 'log10f'.
4938         * lib/math.in.h (log10f): New declaration.
4939         * lib/log10f.c: New file.
4940         * m4/log10f.m4: New file.
4941         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
4942         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
4943         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
4944         * modules/log10f: New file.
4945         * tests/test-math-c++.cc: Check the declaration of log10f.
4946         * doc/posix-functions/log10f.texi: Mention the new module.
4947
4948         log10: Use a .m4 file.
4949         * m4/log10.m4: New file.
4950         * modules/log10 (Files): Add it.
4951         (configure.ac): Just invoke gl_FUNC_LOG10.
4952
4953 2011-10-08  Bruno Haible  <bruno@clisp.org>
4954
4955         Tests for module 'logf'.
4956         * modules/logf-tests: New file.
4957         * tests/test-logf.c: New file.
4958
4959         New module 'logf'.
4960         * lib/math.in.h (logf): New declaration.
4961         * lib/logf.c: New file.
4962         * m4/logf.m4: New file.
4963         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
4964         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
4965         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
4966         * modules/logf: New file.
4967         * tests/test-math-c++.cc: Check the declaration of logf.
4968         * doc/posix-functions/logf.texi: Mention the new module.
4969
4970         log: Use a .m4 file.
4971         * m4/log.m4: New file.
4972         * modules/log (Files): Add it.
4973         (configure.ac): Just invoke gl_FUNC_LOG.
4974
4975 2011-10-08  Bruno Haible  <bruno@clisp.org>
4976
4977         Tests for module 'expf'.
4978         * modules/expf-tests: New file.
4979         * tests/test-expf.c: New file.
4980
4981         New module 'expf'.
4982         * lib/math.in.h (expf): New declaration.
4983         * lib/expf.c: New file.
4984         * m4/expf.m4: New file.
4985         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
4986         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
4987         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
4988         * modules/expf: New file.
4989         * tests/test-math-c++.cc: Check the declaration of expf.
4990         * doc/posix-functions/expf.texi: Mention the new module.
4991
4992         exp: Use a .m4 file.
4993         * m4/exp.m4: New file.
4994         * modules/exp (Files): Add it.
4995         (configure.ac): Just invoke gl_FUNC_EXP.
4996
4997 2011-10-08  Bruno Haible  <bruno@clisp.org>
4998
4999         Tests for module 'sqrtf'.
5000         * modules/sqrtf-tests: New file.
5001         * tests/test-sqrtf.c: New file.
5002
5003         New module 'sqrtf'.
5004         * lib/math.in.h (sqrtf): New declaration.
5005         * lib/sqrtf.c: New file.
5006         * m4/sqrtf.m4: New file.
5007         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
5008         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
5009         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
5010         * modules/sqrtf: New file.
5011         * tests/test-math-c++.cc: Check the declaration of sqrtf.
5012         * doc/posix-functions/sqrtf.texi: Mention the new module.
5013
5014 2011-10-08  Bruno Haible  <bruno@clisp.org>
5015
5016         Tests: Avoid link failures w.r.t. libintl.
5017         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
5018         $(LIBINTL).
5019         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
5020         $(LIBINTL).
5021         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
5022         against $(LIBINTL).
5023         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
5024         $(LIBINTL).
5025         * modules/openat-tests (Makefile.am): Link test-fchmodat against
5026         $(LIBINTL).
5027         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
5028
5029 2011-10-08  Bruno Haible  <bruno@clisp.org>
5030
5031         pow tests: Defeat compiler optimizations.
5032         * tests/test-pow.c (main): Assign arguments to x and y before use.
5033
5034 2011-10-08  Bruno Haible  <bruno@clisp.org>
5035
5036         gnulib-tool: Improve last commit.
5037         * gnulib-tool (func_modules_transitive_closure): Simplify code.
5038         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
5039         ignore dependencies that are not among the modules list.
5040
5041 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
5042
5043         gnulib-tool: don't follow dependencies to avoided modules
5044         This fixes a bug that is related to the previous one.
5045         * gnulib-tool (func_modules_transitive_closure)
5046         (func_emit_autoconf_snippets):
5047         Check whether a dependency is acceptable before using it.
5048         (--extract-dependencies): Report an error if --avoid is also used,
5049         since this combination of options is not yet supported.
5050
5051         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
5052         Problem reported by Peter Dyballa in
5053         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
5054         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
5055         when echoing "$condition".
5056
5057 2011-10-07  Bruno Haible  <bruno@clisp.org>
5058
5059         Fix documentation about math functions on MacOS X.
5060         * doc/posix-functions/exp2.texi: Don't say the function is missing on
5061         MacOS X 10.5.
5062         * doc/posix-functions/fdim.texi: Likewise.
5063         * doc/posix-functions/feclearexcept.texi: Likewise.
5064         * doc/posix-functions/fegetenv.texi: Likewise.
5065         * doc/posix-functions/fegetround.texi: Likewise.
5066         * doc/posix-functions/feholdexcept.texi: Likewise.
5067         * doc/posix-functions/feraiseexcept.texi: Likewise.
5068         * doc/posix-functions/fesetenv.texi: Likewise.
5069         * doc/posix-functions/fesetround.texi: Likewise.
5070         * doc/posix-functions/fetestexcept.texi: Likewise.
5071         * doc/posix-functions/feupdateenv.texi: Likewise.
5072         * doc/posix-functions/fmax.texi: Likewise.
5073         * doc/posix-functions/fmin.texi: Likewise.
5074         * doc/posix-functions/log2.texi: Likewise.
5075         * doc/posix-functions/modff.texi: Likewise.
5076         * doc/posix-functions/nan.texi: Likewise.
5077         * doc/posix-functions/nanf.texi: Likewise.
5078         * doc/posix-functions/nextafterf.texi: Likewise.
5079         * doc/posix-functions/remquo.texi: Likewise.
5080
5081 2011-10-07  Bruno Haible  <bruno@clisp.org>
5082
5083         modff: Drop assumption about library that defines modff.
5084         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
5085         AC_CHECK_FUNCS.
5086         * modules/modff (Files): Add m4/mathfunc.m4.
5087
5088 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
5089
5090         raise tests: Avoid a GCC warning.
5091         * tests/test-raise.c (handler): Use _Noreturn.
5092
5093 2011-10-07  Bruno Haible  <bruno@clisp.org>
5094
5095         Tests for module 'ldexpf'.
5096         * modules/ldexpf-tests: New file.
5097         * tests/test-ldexpf.c: New file.
5098
5099         New module 'ldexpf'.
5100         * lib/math.in.h (ldexpf): New declaration.
5101         * lib/ldexpf.c: New file.
5102         * m4/ldexpf.m4: New file.
5103         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
5104         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
5105         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
5106         * modules/ldexpf: New file.
5107         * tests/test-math-c++.cc: Check the declaration of ldexpf.
5108         * doc/posix-functions/ldexpf.texi: Mention the new module.
5109
5110 2011-10-06  Bruno Haible  <bruno@clisp.org>
5111
5112         frexpf: Work around problems on IRIX and mingw.
5113         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
5114         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
5115         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
5116         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
5117         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
5118         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
5119         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
5120
5121 2011-10-06  Bruno Haible  <bruno@clisp.org>
5122
5123         fabsf: Drop assumption about library that defines fabsf.
5124         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
5125         AC_CHECK_FUNCS.
5126         * modules/fabsf (Files): Add m4/mathfunc.m4.
5127
5128 2011-10-06  Bruno Haible  <bruno@clisp.org>
5129
5130         frexpf: Drop assumption about library that defines frexpf.
5131         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
5132         'int *', 'float *', 'long double *', 'float', 'long double'.
5133         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
5134         AC_CHECK_FUNCS.
5135         * modules/frexpf (Files): Add m4/mathfunc.m4.
5136
5137         Tests for module 'frexpf'.
5138         * modules/frexpf-tests: New file.
5139         * tests/test-frexpf.c: New file.
5140
5141         New module 'frexpf'.
5142         * lib/math.in.h (frexpf): New declaration.
5143         * lib/frexpf.c: New file.
5144         * m4/frexpf.m4: New file.
5145         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
5146         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
5147         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
5148         * modules/frexpf: New file.
5149         * tests/test-math-c++.cc: Check the declaration of frexpf.
5150         * doc/posix-functions/frexpf.texi: Mention the new module.
5151
5152 2011-10-06  Bruno Haible  <bruno@clisp.org>
5153
5154         math: Sort function declarations of math.in.h.
5155         * lib/math.in.h (frexp, logb): Move declarations.
5156
5157 2011-10-05  Bruno Haible  <bruno@clisp.org>
5158
5159         Tests for module 'modff'.
5160         * modules/modff-tests: New file.
5161         * tests/test-modff.c: New file.
5162
5163         New module 'modff'.
5164         * lib/math.in.h (modff): New declaration.
5165         * lib/modff.c: New file.
5166         * m4/modff.m4: New file.
5167         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
5168         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
5169         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
5170         * modules/modff: New file.
5171         * tests/test-math-c++.cc: Check the declaration of modff.
5172         * doc/posix-functions/modff.texi: Mention the new module.
5173
5174         modf tests: Make test sharper.
5175         * tests/test-modf.c (main): Strengthen upper bound.
5176
5177         modf: Use a .m4 file.
5178         * m4/modf.m4: New file.
5179         * modules/modf (Files): Add it.
5180         (configure.ac): Just invoke gl_FUNC_MODF.
5181
5182 2011-10-05  Bruno Haible  <bruno@clisp.org>
5183
5184         Tests for module 'fmodf'.
5185         * modules/fmodf-tests: New file.
5186         * tests/test-fmodf.c: New file.
5187
5188         New module 'fmodf'.
5189         * lib/math.in.h (fmodf): New declaration.
5190         * lib/fmodf.c: New file.
5191         * m4/fmodf.m4: New file.
5192         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
5193         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
5194         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
5195         * modules/fmodf: New file.
5196         * tests/test-math-c++.cc: Check the declaration of fmodf.
5197         * doc/posix-functions/fmodf.texi: Mention the new module.
5198
5199         fmod: Use a .m4 file.
5200         * m4/fmod.m4: New file.
5201         * modules/fmod (Files): Add it.
5202         (configure.ac): Just invoke gl_FUNC_FMOD.
5203
5204 2011-10-05  Bruno Haible  <bruno@clisp.org>
5205
5206         Tests for module 'fabsf'.
5207         * modules/fabsf-tests: New file.
5208         * tests/test-fabsf.c: New file.
5209
5210         New module 'fabsf'.
5211         * lib/math.in.h (fabsf): New declaration.
5212         * lib/fabsf.c: New file.
5213         * m4/fabsf.m4: New file.
5214         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
5215         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
5216         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
5217         * modules/fabsf: New file.
5218         * tests/test-math-c++.cc: Check the declaration of fabsf.
5219         * doc/posix-functions/fabsf.texi: Mention the new module.
5220
5221         fabs: Use a .m4 file.
5222         * m4/fabs.m4: New file.
5223         * modules/fabs (Files): Add it.
5224         (configure.ac): Just invoke gl_FUNC_FABS.
5225
5226 2011-10-05  Jim Meyering  <meyering@redhat.com>
5227
5228         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
5229         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
5230         ls -lL regression introduced in coreutils-8.12, it does so at the
5231         cost of an additional stat call in the common case.  Besides, now
5232         that the kernel change that prompted commit 95f7c57f has been reverted
5233         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
5234         we have no use for commit 95f7c57f, "file-has-acl: use
5235         acl_extended_file_nofollow if available".
5236
5237 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
5238
5239         file-has-acl: revert unintended change in behavior of ls -L
5240         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
5241         derived from...
5242         (file_has_acl): ...code here.  Call it.
5243         This problem was introduced with 2011-07-22 commit 95f7c57f,
5244         "file-has-acl: use acl_extended_file_nofollow if available".
5245         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
5246
5247 2011-10-03  Bruno Haible  <bruno@clisp.org>
5248
5249         poll: Avoid link errors on MSVC.
5250         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
5251         * modules/poll (Depends-on): Add sockets.
5252         (Link): New section.
5253         * NEWS: Mention the change.
5254         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
5255         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
5256         $(LIB_POLL) instead of $(LIBSOCKET).
5257
5258 2011-10-03  Bruno Haible  <bruno@clisp.org>
5259
5260         sys_select tests: Fix link error on MSVC 9.
5261         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
5262         with $(LIB_SELECT) instead of $(LIBSOCKET).
5263
5264 2011-10-03  Bruno Haible  <bruno@clisp.org>
5265
5266         sys_select: Fix compilation error on mingw.
5267         * lib/sys_select.in.h: On native Windows, include <io.h>.
5268
5269 2011-10-03  Bruno Haible  <bruno@clisp.org>
5270
5271         wmemset: Support for MSVC.
5272         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
5273         whether wmemset() exists.
5274
5275 2011-10-03  Bruno Haible  <bruno@clisp.org>
5276
5277         wmemmove: Support for MSVC.
5278         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
5279         whether wmemmove() exists.
5280
5281 2011-10-03  Bruno Haible  <bruno@clisp.org>
5282
5283         wmemcpy: Support for MSVC.
5284         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
5285         whether wmemcpy() exists.
5286
5287 2011-10-03  Bruno Haible  <bruno@clisp.org>
5288
5289         wmemcmp: Support for MSVC.
5290         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
5291         whether wmemcmp() exists.
5292
5293 2011-10-03  Bruno Haible  <bruno@clisp.org>
5294
5295         wmemchr: Support for MSVC.
5296         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
5297         whether wmemchr() exists.
5298
5299 2011-10-03  Bruno Haible  <bruno@clisp.org>
5300
5301         glthread/*, strsignal: Support for MSVC.
5302         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
5303         including <winsock.h> on MSVC 9.
5304         * lib/glthread/lock.h: Likewise.
5305         * lib/glthread/thread.h: Likewise.
5306         * lib/glthread/tls.h: Likewise.
5307         * lib/glthread/yield.h: Likewise.
5308         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
5309         if HAVE_UNISTD_H is false.
5310         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
5311
5312 2011-10-03  Bruno Haible  <bruno@clisp.org>
5313
5314         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
5315         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
5316         Set to 100000.
5317
5318 2011-10-03  Bruno Haible  <bruno@clisp.org>
5319
5320         acl: Fix specification.
5321         * lib/file-has-acl.c (file_has_acl): Fix specification.
5322
5323 2011-10-03  Bruno Haible  <bruno@clisp.org>
5324
5325         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
5326         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
5327         (compute_curr_prefix, shared_library_fullname,
5328         find_shared_library_fullname, get_shared_library_fullname, relocate):
5329         Use it together with PIC && INSTALLDIR.
5330         Reported by <jojelino@gmail.com>
5331         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
5332
5333 2011-10-01  Jim Meyering  <meyering@redhat.com>
5334
5335         maint.mk: adjust a release-related rule not to require use of gzip
5336         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
5337         Instead, check each file in $(DIST_ARCHIVES).  This is better for
5338         projects that build only .tar.xz files.  Also fix an erroneous test.
5339
5340         test-linkat: don't leave behind a temporary file
5341         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
5342         Otherwise, coreutils' "make distcheck" would fail with this:
5343           Only in /c/cu/tests/torture/coreutils/test/\
5344             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
5345           make[2]: *** [my-distcheck] Error 1
5346
5347         float, math: add omitted file
5348         * lib/itold.c: Add file, required for yesterday's float change.
5349
5350 2011-10-01  Bruno Haible  <bruno@clisp.org>
5351
5352         isinf: Fix for OpenBSD/x86.
5353         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
5354         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
5355         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
5356
5357 2011-10-01  Bruno Haible  <bruno@clisp.org>
5358
5359         isfinite: Fix syntax error in configure test.
5360         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
5361
5362         isfinite: Fix typo.
5363         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
5364         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
5365
5366 2011-10-01  Bruno Haible  <bruno@clisp.org>
5367
5368         nonblocking tests: Fix test failure on Linux/IA-64.
5369         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
5370         Set to 270000.
5371
5372 2011-10-01  Bruno Haible  <bruno@clisp.org>
5373
5374         mkfifoat tests: Fix a test failure on mingw.
5375         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
5376         with error ENOSYS.
5377
5378 2011-09-30  Bruno Haible  <bruno@clisp.org>
5379
5380         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
5381         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
5382         'long double'. Set REPLACE_ITOLD.
5383         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
5384         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
5385         * lib/itold.c: New file.
5386         * modules/float (Files): Add lib/itold.c.
5387         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
5388         (Makefile.am): Substitute REPLACE_ITOLD.
5389         * modules/math (Depends-on): Add float.
5390         (Makefile.am): Substitute REPLACE_ITOLD.
5391         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
5392         * doc/posix-headers/math.texi: Likewise.
5393         * doc/posix-functions/logl.texi: Likewise.
5394
5395 2011-09-30  Bruno Haible  <bruno@clisp.org>
5396
5397         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
5398         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
5399         Set to 140000.
5400
5401 2011-09-30  Bruno Haible  <bruno@clisp.org>
5402
5403         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
5404         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
5405         invocation, say "right after AC_PROG_CC_STDC", not "right after
5406         AC_PROG_CC".
5407         Reported by Gary V. Vaughan <gary@gnu.org>.
5408
5409 2011-09-30  Bruno Haible  <bruno@clisp.org>
5410
5411         Centralize C99 requirement.
5412         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
5413         * modules/stdarg (configure.ac-early): Invoke it instead of
5414         AC_PROG_CC_STDC.
5415         Reported by Gary V. Vaughan and Paul Eggert.
5416
5417 2011-09-29  Bruno Haible  <bruno@clisp.org>
5418
5419         float: Fix LDBL_MAX value on Linux/PowerPC.
5420         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
5421         on Linux/PowerPC.
5422         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
5423         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
5424         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
5425         platform.
5426         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
5427
5428 2011-09-29  Bruno Haible  <bruno@clisp.org>
5429
5430         doc: Improve doc about gl_EARLY.
5431         * doc/gnulib-tool.texi (Initial import): Mention where to place an
5432         AC_PROG_CC_STDC invocation.
5433         Reported by Gary V. Vaughan <gary@gnu.org>.
5434
5435 2011-09-28  Bruno Haible  <bruno@clisp.org>
5436
5437         fgetc, fputc, fread, fwrite tests: Fix link error.
5438         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
5439         on non-MSVC platforms.
5440         * tests/test-fputc.c (main): Likewise.
5441         * tests/test-fread.c (main): Likewise.
5442         * tests/test-fwrite.c (main): Likewise.
5443         Reported by Jim Meyering.
5444
5445 2011-09-27  Bruno Haible  <bruno@clisp.org>
5446
5447         fputc, fwrite tests: Avoid test failure on MSVC.
5448         * tests/test-fgetc.c: Include msvc-inval.h.
5449         (main): Invoke gl_msvc_inval_ensure_handler.
5450         * tests/test-fputc.c: Include msvc-inval.h.
5451         (main): Invoke gl_msvc_inval_ensure_handler.
5452         * tests/test-fread.c: Include msvc-inval.h.
5453         (main): Invoke gl_msvc_inval_ensure_handler.
5454         * tests/test-fwrite.c: Include msvc-inval.h.
5455         (main): Invoke gl_msvc_inval_ensure_handler.
5456         * modules/fgetc-tests (Depends-on): Add msvc-inval.
5457         * modules/fputc-tests (Depends-on): Likewise.
5458         * modules/fread-tests (Depends-on): Likewise.
5459         * modules/fwrite-tests (Depends-on): Likewise.
5460
5461 2011-09-27  Bruno Haible  <bruno@clisp.org>
5462
5463         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
5464         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
5465         (raise): Remove older, duplicated declaration.
5466         (_gl_raise_SIGPIPE): New declaration.
5467         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
5468         (rpl_raise): Remove function.
5469         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
5470         a gnulib-defined SIGPIPE here.
5471         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
5472         'sigprocmask' has detected missing signal-blocking and the module
5473         'sigpipe' is enabled.
5474         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
5475
5476 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
5477
5478         base64-tests: avoid memory leak
5479         * tests/test-base64.c (main): Plug memory leak.
5480
5481         base32: new module
5482         * modules/base32: New module.
5483         * lib/base32.c: New file.
5484         * lib/base32.h: Likewise.
5485         * m4/base32.m4: Likewise.
5486         * modules/base32-tests: New test.
5487         * tests/test-base32.c: Likewise.
5488         * MODULES.html.sh (Misc): Mention it.
5489
5490 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
5491
5492         gnulib: use more-standard license notice wording
5493         * gnulib-tool (func_emit_copyright_notice): When emitting a
5494         license notice into a file, use the standard wording as suggested
5495         by the current information for GNU maintainers, except say "file"
5496         rather than "program".  The new wording gives a license version
5497         number, which addresses an issue raised by Glenn Morris in
5498         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
5499         * m4/onceonly.m4: Use that same wording here, too.
5500
5501         dup2: minor simplification
5502         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
5503         as lib/dup2.c no longer uses 'inline'.
5504
5505 2011-09-25  Bruno Haible  <bruno@clisp.org>
5506
5507         strings: Fix compilation error on MSVC.
5508         * lib/strings.in.h: Include <stddef.h> for size_t.
5509
5510 2011-09-25  Bruno Haible  <bruno@clisp.org>
5511
5512         fflush et al.: Document limitation on MSVC.
5513         * doc/posix-functions/fflush.texi: Document possible crash in handling
5514         mode other than DEFAULT_HANDLING.
5515         * doc/posix-functions/fgetc.texi: Likewise.
5516         * doc/posix-functions/fputc.texi: Likewise.
5517         * doc/posix-functions/fread.texi: Likewise.
5518         * doc/posix-functions/fwrite.texi: Likewise.
5519
5520 2011-09-25  Bruno Haible  <bruno@clisp.org>
5521
5522         msvc-inval: Allow three invalid parameter handling modes.
5523         * lib/msvc-inval.h: Don't include <stdlib.h> here.
5524         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
5525         macros.
5526         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
5527         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
5528         SANE_LIBRARY_HANDLING as a no-op.
5529         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
5530         <stdlib.h>.
5531         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
5532
5533 2011-09-25  Bruno Haible  <bruno@clisp.org>
5534
5535         msvc-inval: Make handler multithread-safe.
5536         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
5537         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
5538         declarations.
5539         (gl_msvc_inval_current): New declaration.
5540         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
5541         Operate on the structure returned by gl_msvc_inval_current().
5542         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
5543         Remove varaiables.
5544         (tls_index, tls_initialized): New variables.
5545         (not_per_thread): New variable.
5546         (gl_msvc_inval_current): New function.
5547         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
5548         returned by gl_msvc_inval_current().
5549
5550 2011-09-25  Bruno Haible  <bruno@clisp.org>
5551
5552         msvc-inval: Install handler globally.
5553         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
5554         !_MSC_VER.
5555         (gl_msvc_invalid_parameter_handler): Remove declaration.
5556         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
5557         declarations.
5558         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
5559         Install the handler globally, don't uninstall it.
5560         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
5561         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
5562         currently valid, call RaiseException instead.
5563         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
5564         for !_MSC_VER.
5565
5566 2011-09-25  Bruno Haible  <bruno@clisp.org>
5567
5568         strerror_r-posix: Fix for MSVC 9.
5569         * lib/strerror_r.c (local_snprintf): New function.
5570         (snprintf): Define to local_snprintf, not to _snprintf.
5571
5572 2011-09-25  Bruno Haible  <bruno@clisp.org>
5573
5574         ftruncate: Support for MSVC 9.
5575         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
5576         (chsize_nothrow): New function.
5577         (chsize): Redefine as a macro.
5578         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
5579         * modules/ftruncate (Depends-on): Add msvc-inval.
5580
5581 2011-09-25  Bruno Haible  <bruno@clisp.org>
5582
5583         New module 'fstat'.
5584         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
5585         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
5586         * lib/fchdir.c (rpl_fstat): Remove function.
5587         * m4/fstat.m4: New file.
5588         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
5589         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
5590         declared.
5591         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
5592         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
5593         * modules/fstat: New file.
5594         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
5595         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
5596         is set.
5597         * doc/posix-functions/fstat.texi: Mention the new module and the
5598         problem on MSVC.
5599         * NEWS: Mention the change.
5600         * modules/acl (Depends-on): Add fstat.
5601         * modules/chdir-safer (Depends-on): Likewise.
5602         * modules/chown (Depends-on): Likewise.
5603         * modules/copy-file (Depends-on): Likewise.
5604         * modules/fchdir (Depends-on): Likewise.
5605         * modules/fdopendir (Depends-on): Likewise.
5606         * modules/fopen (Depends-on): Likewise.
5607         * modules/fts (Depends-on): Likewise.
5608         * modules/getcwd (Depends-on): Likewise.
5609         * modules/isapipe (Depends-on): Likewise.
5610         * modules/linkat (Depends-on): Likewise.
5611         * modules/lseek (Depends-on): Likewise.
5612         * modules/mkdir-p (Depends-on): Likewise.
5613         * modules/open (Depends-on): Likewise.
5614         * modules/openat (Depends-on): Likewise.
5615         * modules/read-file (Depends-on): Likewise.
5616         * modules/renameat (Depends-on): Likewise.
5617         * modules/utimens (Depends-on): Likewise.
5618
5619 2011-09-25  Bruno Haible  <bruno@clisp.org>
5620
5621         linkat: Fix compilation on MSVC 9.
5622         * lib/linkat.c: Don't include <stdint.h>.
5623
5624 2011-09-25  Bruno Haible  <bruno@clisp.org>
5625
5626         fclose: Support for MSVC 9.
5627         * lib/fclose.c: Include msvc-inval.h.
5628         (fclose_nothrow): New function.
5629         (rpl_fclose): Use it.
5630         * modules/fclose (Depends-on): Add msvc-inval.
5631         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
5632
5633 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
5634
5635         dup2: minor simplifications
5636         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
5637         that it's a performance win.
5638         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
5639         ! defined __CYGWIN__)" to "ifdef F_GETFL".
5640
5641 2011-09-24  Jim Meyering  <meyering@redhat.com>
5642
5643         test-futimens: avoid a warning from gcc -Wshadow
5644         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
5645         to avoid a shadowing warning.
5646
5647 2011-09-24  Bruno Haible  <bruno@clisp.org>
5648
5649         fdopen: Support for MSVC 9.
5650         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
5651         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
5652         * lib/fdopen.c: Include msvc-inval.h.
5653         (fdopen_nothrow): New function.
5654         (rpl_fdopen): Use it.
5655         * modules/fdopen (Depends-on): Add msvc-inval.
5656         * modules/fclose-tests (Depends-on): Add fdopen.
5657         * modules/fflush-tests (Depends-on): Likewise.
5658         * modules/fgetc-tests (Depends-on): Likewise.
5659         * modules/fputc-tests (Depends-on): Likewise.
5660         * modules/fread-tests (Depends-on): Likewise.
5661         * modules/freopen-tests (Depends-on): Likewise.
5662         * modules/fseeko-tests (Depends-on): Likewise.
5663         * modules/ftello-tests (Depends-on): Likewise.
5664         * modules/fwrite-tests  (Depends-on): Likewise.
5665         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
5666
5667 2011-09-24  Bruno Haible  <bruno@clisp.org>
5668
5669         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
5670         * modules/fgetc-tests (Depends-on): Add unistd.
5671         * modules/fputc-tests (Depends-on): Likewise.
5672         * modules/fread-tests (Depends-on): Likewise.
5673         * modules/fwrite-tests (Depends-on): Likewise.
5674
5675 2011-09-24  Bruno Haible  <bruno@clisp.org>
5676
5677         dup: Simplify autoconf test.
5678         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
5679         on gl_MSVC_INVAL's result.
5680
5681 2011-09-24  Bruno Haible  <bruno@clisp.org>
5682
5683         Tests for function fwrite().
5684         * modules/fwrite-tests: New file.
5685         * tests/test-fwrite.c: New file.
5686         * modules/stdio-tests (Depends-on): Add fwrite-tests.
5687
5688         Tests for function fread().
5689         * modules/fread-tests: New file.
5690         * tests/test-fread.c: New file.
5691         * modules/stdio-tests (Depends-on): Add fread-tests.
5692
5693         Activate fputc tests.
5694         * modules/stdio-tests (Depends-on): Add fputc-tests.
5695
5696         Enhance fgetc, fputc tests.
5697         * tests/test-fgetc.c (main): Also test the stream's error indicator.
5698         * tests/test-fputc.c (main): Likewise.
5699
5700 2011-09-24  Bruno Haible  <bruno@clisp.org>
5701
5702         write: Support for MSVC 9.
5703         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5704         is not 1.
5705         * lib/write.c (write_nothrow): New function.
5706         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
5707         not 1. Use write_nothrow.
5708         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
5709         invalid parameter handler.
5710         (gl_PREREQ_WRITE): New macro.
5711         * modules/write (Depends-on): Add msvc-inval.
5712         (configure.ac): Invoke gl_PREREQ_WRITE.
5713         * doc/posix-functions/write.texi: Mention the problem on MSVC.
5714
5715 2011-09-24  Bruno Haible  <bruno@clisp.org>
5716
5717         read: Fix last commit.
5718         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
5719
5720 2011-09-24  Bruno Haible  <bruno@clisp.org>
5721
5722         dup2: Fix last commit.
5723         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
5724         (rpl_dup2): Disable fcntl workaround on native Windows.
5725
5726         sigprocmask: Make code safer.
5727         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
5728         section that changes macro definitions for this compilation unit.
5729
5730 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
5731
5732         dup2: clarify by coalescing Windows-specific material
5733         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
5734         "msvc-nothrow.h"' to the Windows-specific section, so that the
5735         Emacs source need not contain these include files.
5736         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
5737         Windows-specific fixes into this function rather than just the
5738         nothrow fix, as this shortens and clarifies the code.  Always
5739         define as a function, as that's a bit cleaner than having it be
5740         sometimes a function and sometimes a macro.
5741         (rpl_dup2): Move the Windows-specific stuff out of here and into
5742         ms_windows_dup2.  Don't protect the Haiku-related fix with
5743         "#if !defined __linux__", as the same code also works around
5744         a Linux kernel bug, and it doesn't add any system calls on any
5745         platform.  Add comment about FreeBSD 6.1.
5746
5747         sigprocmask: move #include directive
5748         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
5749         Windows-specific section, so that the Emacs source need not
5750         contain msvc-inval.h.
5751
5752 2011-09-23  Bruno Haible  <bruno@clisp.org>
5753
5754         read: Support for MSVC 9.
5755         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5756         is not 1.
5757         * lib/read.c (read_nothrow): New function.
5758         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
5759         read_nothrow.
5760         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
5761         invalid parameter handler.
5762         (gl_PREREQ_READ): New macro.
5763         * modules/read (Depends-on): Add msvc-inval.
5764         (configure.ac): Invoke gl_PREREQ_READ.
5765         * doc/posix-functions/read.texi: Mention the problem on MSVC.
5766
5767 2011-09-23  Bruno Haible  <bruno@clisp.org>
5768
5769         close: Support for MSVC 9.
5770         * lib/close.c: Include <errno.h>, msvc-inval.h.
5771         (close_nothrow): New function.
5772         (rpl_close): Use it.
5773         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
5774         invalid parameter handler.
5775         * modules/close (Depends-on): Add msvc-inval.
5776         * modules/dup2-tests (Depends-on): Add close.
5777         * modules/dup3-tests (Depends-on): Likewise.
5778         * modules/fcntl-tests (Depends-on): Likewise.
5779         * modules/spawn-pipe-tests (Depends-on): Likewise.
5780         * modules/unistd-safer-tests (Depends-on): Likewise.
5781         * doc/posix-functions/close.texi: Mention the problem on MSVC.
5782
5783 2011-09-23  Bruno Haible  <bruno@clisp.org>
5784
5785         New module 'dup'.
5786         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
5787         Allow replacement.
5788         * lib/dup.c: New file.
5789         * lib/fchdir.c (rpl_dup): Remove function.
5790         * m4/dup.m4: New file.
5791         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
5792         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
5793         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
5794         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
5795         * modules/dup: New file.
5796         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
5797         'dup' module is in use.
5798         * modules/fdopendir (Depends-on): Add dup.
5799         * modules/fdutimensat-tests (Depends-on): Likewise.
5800         * modules/fts (Depends-on): Likewise.
5801         * modules/futimens-tests (Depends-on): Likewise.
5802         * modules/posix_spawnp-tests (Depends-on): Likewise.
5803         * modules/unistd-safer-tests (Depends-on): Likewise.
5804         * modules/utimens-tests (Depends-on): Likewise.
5805         * doc/posix-functions/dup.texi: Mention the new module and the problem
5806         on MSVC.
5807
5808 2011-09-23  Bruno Haible  <bruno@clisp.org>
5809
5810         getdtablesize: Support for MSVC 9.
5811         * lib/getdtablesize.c: Include msvc-inval.h.
5812         (_setmaxstdio_nothrow): New function.
5813         (_setmaxstdio): Redefine it.
5814         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
5815         * modules/getdtablesize (Depends-on): Add msvc-inval.
5816         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
5817
5818 2011-09-23  Bruno Haible  <bruno@clisp.org>
5819
5820         signal-h: Rename from signal.
5821         * modules/signal-h: Renamed from modules/signal.
5822         * modules/pthread_sigmask (Depends-on): Update.
5823         * modules/raise (Depends-on): Likewise.
5824         * modules/sigaction (Depends-on): Likewise.
5825         * modules/sigpipe (Depends-on): Likewise.
5826         * modules/sigprocmask (Depends-on): Likewise.
5827         * modules/sys_select (Depends-on): Likewise.
5828         * modules/signal-h-tests: Renamed from modules/signal-tests.
5829         (Files, Depends-on, Makefile.am): Update.
5830         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
5831         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
5832         (Files, Makefile.am): Update.
5833         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
5834         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
5835         * modules/signal: New placeholder file.
5836         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
5837         * doc/posix-headers/signal.texi: Update.
5838         * NEWS: Mention the change.
5839
5840 2011-09-23  Bruno Haible  <bruno@clisp.org>
5841
5842         sigprocmask: Avoid crashes through signal() on MSVC 9.
5843         * lib/sigprocmask.c: Include msvc-inval.h.
5844         (signal_nothrow): New function.
5845         (signal): Redefine it.
5846         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
5847         * modules/sigprocmask (Depends-on): Add msvc-inval.
5848         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
5849
5850 2011-09-23  Bruno Haible  <bruno@clisp.org>
5851
5852         Tests for module 'raise'.
5853         * modules/raise-tests: New file.
5854         * tests/test-raise.c: New file.
5855
5856         raise: Support for MSVC.
5857         * lib/signal.in.h (raise): New declaration.
5858         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
5859         for native Windows platforms.
5860         * m4/raise.m4: New file.
5861         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
5862         HAVE_RAISE, REPLACE_RAISE.
5863         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
5864         REPLACE_RAISE.
5865         * modules/raise (Status, Notice): Remove fields.
5866         (Files): Add m4/raise.m4.
5867         (Depends-on): Add signal, msvc-inval.
5868         (configure.ac): Use the common idioms.
5869         (Maintainer): Add me.
5870         * tests/test-signal-c++.cc: Check the signature of raise.
5871         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
5872
5873 2011-09-23  Bruno Haible  <bruno@clisp.org>
5874
5875         pipe2: Fix compilation on pre-C99 compilers.
5876         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
5877
5878 2011-09-23  Bruno Haible  <bruno@clisp.org>
5879
5880         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
5881         * lib/msvc-nothrow.h: New file.
5882         * lib/msvc-nothrow.c: New file.
5883         * m4/msvc-nothrow.m4: New file.
5884         * modules/msvc-nothrow: New file.
5885         * lib/dup2.c: Include msvc-nothrow.h.
5886         (rpl_dup2): No need to protect _get_osfhandle call here.
5887         * lib/accept4.c: Include msvc-nothrow.h.
5888         * lib/error.c: Likewise.
5889         * lib/fcntl.c: Likewise.
5890         * lib/lseek.c: Likewise.
5891         * lib/nonblocking.c: Likewise.
5892         * lib/poll.c: Likewise.
5893         * lib/read.c: Likewise.
5894         * lib/select.c: Likewise.
5895         * lib/sockets.h: Likewise.
5896         * lib/sockets.c: Likewise.
5897         * lib/stdio-read.c: Likewise.
5898         * lib/stdio-write.c: Likewise.
5899         * lib/write.c: Likewise.
5900         * lib/w32sock.h: Likewise.
5901         * lib/w32spawn.h: Likewise.
5902         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
5903         * lib/fsync.c: Likewise.
5904         * lib/isapipe.c: Likewise.
5905         * modules/dup2 (Depends-on): Add msvc-nothrow.
5906         * modules/accept4 (Depends-on): Likewise.
5907         * modules/error (Depends-on): Likewise.
5908         * modules/fcntl (Depends-on): Likewise.
5909         * modules/lseek (Depends-on): Likewise.
5910         * modules/nonblocking (Depends-on): Likewise.
5911         * modules/poll (Depends-on): Likewise.
5912         * modules/read (Depends-on): Likewise.
5913         * modules/select (Depends-on): Likewise.
5914         * modules/sockets (Depends-on): Likewise.
5915         * modules/sigpipe (Depends-on): Likewise.
5916         * modules/write (Depends-on): Likewise.
5917         * modules/accept (Depends-on): Likewise.
5918         * modules/bind (Depends-on): Likewise.
5919         * modules/connect (Depends-on): Likewise.
5920         * modules/gethostname (Depends-on): Likewise.
5921         * modules/getpeername (Depends-on): Likewise.
5922         * modules/getsockname (Depends-on): Likewise.
5923         * modules/getsockopt (Depends-on): Likewise.
5924         * modules/ioctl (Depends-on): Likewise.
5925         * modules/listen (Depends-on): Likewise.
5926         * modules/recv (Depends-on): Likewise.
5927         * modules/recvfrom (Depends-on): Likewise.
5928         * modules/send (Depends-on): Likewise.
5929         * modules/sendto (Depends-on): Likewise.
5930         * modules/setsockopt (Depends-on): Likewise.
5931         * modules/shutdown (Depends-on): Likewise.
5932         * modules/socket (Depends-on): Likewise.
5933         * modules/execute (Depends-on): Likewise.
5934         * modules/spawn-pipe (Depends-on): Likewise.
5935         * modules/flock (Depends-on): Likewise.
5936         * modules/fsync (Depends-on): Likewise.
5937         * modules/isapipe (Depends-on): Likewise.
5938         * tests/test-cloexec.c: Include msvc-nothrow.h.
5939         * tests/test-dup-safer.c: Likewise.
5940         * tests/test-dup2.c: Likewise.
5941         * tests/test-dup3.c: Likewise.
5942         * tests/test-fcntl.c: Likewise.
5943         * tests/test-pipe.c: Likewise.
5944         * tests/test-pipe2.c: Likewise.
5945         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
5946         * modules/unistd-safer-tests (Depends-on): Likewise.
5947         * modules/dup2-tests (Depends-on): Likewise.
5948         * modules/dup3-tests (Depends-on): Likewise.
5949         * modules/fcntl-tests (Depends-on): Likewise.
5950         * modules/pipe-posix-tests (Depends-on): Likewise.
5951         * modules/pipe2-tests (Depends-on): Likewise.
5952
5953 2011-09-23  Bruno Haible  <bruno@clisp.org>
5954
5955         dup2: Make code more maintainable.
5956         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
5957         (rpl_dup2): Use it.
5958         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
5959         * modules/dup2 (configure.ac): Invoke it.
5960         Reported by Paul Eggert.
5961
5962 2011-09-23  Bruno Haible  <bruno@clisp.org>
5963
5964         msvc-inval: Fix compilation error.
5965         * lib/msvc-inval.h: Include <excpt.h>.
5966
5967 2011-09-23  Bruno Haible  <bruno@clisp.org>
5968
5969         mkdir: Tweak for MSVC 9.
5970         * lib/sys_stat.in.h: Update comments.
5971         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
5972
5973         Tests for module 'chdir'.
5974         * modules/chdir-tests: New file.
5975         * tests/test-chdir.c: New file.
5976
5977         New module 'chdir'.
5978         * modules/chdir: New file.
5979         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
5980         (chdir): New declaration.
5981         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
5982         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
5983         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
5984         * tests/test-unistd-c++.cc: Check signature of chdir.
5985         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
5986         * modules/chdir-long (Depends-on): Add chdir.
5987         * modules/fchdir (Depends-on): Likewise.
5988         * modules/rename (Depends-on): Likewise.
5989         * modules/savewd (Depends-on): Likewise.
5990
5991         rmdir: Support for mingw, MSVC 9.
5992         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
5993         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
5994
5995         getcwd: Tweak for MSVC 9.
5996         * lib/unistd.in.h: Update comments.
5997         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
5998
5999 2011-09-22  Bruno Haible  <bruno@clisp.org>
6000
6001         strerror_r-posix: Avoid a link error on MSVC.
6002         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
6003         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
6004
6005 2011-09-22  Bruno Haible  <bruno@clisp.org>
6006
6007         select: Avoid link errors on MSVC.
6008         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
6009         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
6010         * modules/pselect (Link): Likewise.
6011         * NEWS: Mention the change.
6012         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
6013         test-select-stdin against $(LIB_SELECT).
6014         * modules/pselect-tests (Makefile.am): Link test-pselect against
6015         $(LIB_SELECT).
6016
6017 2011-09-22  Bruno Haible  <bruno@clisp.org>
6018
6019         select: Avoid compilation error on MSVC.
6020         * lib/select.c: Don't include <stdbool.h>.
6021
6022 2011-09-21  Bruno Haible  <bruno@clisp.org>
6023
6024         Consolidate all uses of PATH_MAX in *.m4 files.
6025         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
6026         macros.
6027         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
6028         and gl_PATHMAX_SNIPPET.
6029         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6030         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6031         * modules/chdir-long (Files): Add m4/pathmax.m4.
6032         * modules/getcwd (Files): Likewise.
6033
6034 2011-09-21  Bruno Haible  <bruno@clisp.org>
6035
6036         ftruncate: Un-deprecate, concentrate on Win32 support.
6037         * modules/ftruncate (Status, Notice): Remove sections.
6038         (Depends-on): Add largefile.
6039         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
6040         non-mingw platforms.
6041         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
6042         include <io.h>.
6043         * modules/perror-tests (Depends-on): Add ftruncate.
6044         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
6045         'ftruncate' module.
6046
6047 2011-09-21  Bruno Haible  <bruno@clisp.org>
6048
6049         Add dependencies to new dirent related modules.
6050         * modules/opendir (Depends-on): Add closedir.
6051         * modules/getcwd (Depends-on): Add opendir, closedir.
6052         * modules/dirent-safer-tests (Depends-on): Likewise.
6053         * modules/fdopendir-tests (Depends-on): Likewise.
6054         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
6055         * modules/renameat-tests (Depends-on): Likewise.
6056
6057 2011-09-21  Bruno Haible  <bruno@clisp.org>
6058
6059         opendir: Avoid compilation error on mingw.
6060         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
6061         * modules/opendir (Depends-on): Add unistd.
6062
6063 2011-09-21  Bruno Haible  <bruno@clisp.org>
6064
6065         ftruncate tests: Avoid a test failure on mingw.
6066         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
6067
6068 2011-09-21  Bruno Haible  <bruno@clisp.org>
6069
6070         select tests: Avoid test failures on OSF/1 5.1 and mingw.
6071         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
6072         native Windows.
6073
6074 2011-09-21  Bruno Haible  <bruno@clisp.org>
6075
6076         New module 'fdopen'.
6077         * lib/stdio.in.h (fdopen): New declaration.
6078         * lib/fdopen.c: New file.
6079         * m4/fdopen.m4: New file.
6080         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
6081         REPLACE_FDOPEN.
6082         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
6083         REPLACE_FDOPEN.
6084         * modules/fdopen: New file.
6085         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
6086         * tests/test-stdio-c++.cc: Check signature of fdopen.
6087         * doc/posix-functions/fdopen.texi: Mention the new module.
6088
6089 2011-09-21  Bruno Haible  <bruno@clisp.org>
6090
6091         unlockpt tests: Avoid test failure on NetBSD 5.1.
6092         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
6093         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
6094
6095 2011-09-21  Bruno Haible  <bruno@clisp.org>
6096
6097         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
6098         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
6099         * tests/test-getlogin_r.c (main): Likewise.
6100
6101 2011-09-20  Bruno Haible  <bruno@clisp.org>
6102
6103         time tests: Don't require pid_t.
6104         * doc/posix-headers/time.texi: Revert last change.
6105         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
6106         * tests/test-time.c: Comment out the check for pid_t.
6107
6108 2011-09-20  Bruno Haible  <bruno@clisp.org>
6109
6110         fsync tests: Avoid a test failure on mingw.
6111         * tests/test-fsync.c (main): Allow a failure with EIO.
6112
6113 2011-09-20  Bruno Haible  <bruno@clisp.org>
6114
6115         euidaccess: Update comments.
6116         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
6117
6118 2011-09-20  Bruno Haible  <bruno@clisp.org>
6119
6120         Ensure EBADF returns for socket functions on mingw.
6121         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
6122         descriptor is invalid.
6123         * lib/bind.c (rpl_bind): Likewise.
6124         * lib/connect.c (rpl_connect): Likewise.
6125         * lib/getpeername.c (rpl_getpeername): Likewise.
6126         * lib/getsockname.c (rpl_getsockname): Likewise.
6127         * lib/getsockopt.c (rpl_getsockopt): Likewise.
6128         * lib/listen.c (rpl_listen): Likewise.
6129         * lib/recv.c (rpl_recv): Likewise.
6130         * lib/recvfrom.c (rpl_recvfrom): Likewise.
6131         * lib/send.c (rpl_send): Likewise.
6132         * lib/sendto.c (rpl_sendto): Likewise.
6133         * lib/setsockopt.c (rpl_setsockopt): Likewise.
6134         * lib/shutdown.c (rpl_shutdown): Likewise.
6135
6136 2011-09-20  Bruno Haible  <bruno@clisp.org>
6137
6138         select tests: EBADF tests.
6139         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
6140         test_bad_fd): New functions.
6141         (test_function): Invoke also test_bad_fd.
6142
6143 2011-09-20  Bruno Haible  <bruno@clisp.org>
6144
6145         Tests for module 'posix_spawn_file_actions_addopen.
6146         * modules/posix_spawn_file_actions_addopen-tests: New file.
6147         * tests/test-posix_spawn_file_actions_addopen.c: New file.
6148
6149         Tests for module 'posix_spawn_file_actions_adddup2'.
6150         * modules/posix_spawn_file_actions_adddup2-tests: New file.
6151         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
6152
6153         Tests for module 'posix_spawn_file_actions_addclose'.
6154         * modules/posix_spawn_file_actions_addclose-tests: New file.
6155         * tests/test-posix_spawn_file_actions_addclose.c: New file.
6156
6157 2011-09-20  Bruno Haible  <bruno@clisp.org>
6158
6159         Tests for module 'unlockpt'.
6160         * modules/unlockpt-tests: New file.
6161         * tests/test-unlockpt.c: New file.
6162         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
6163
6164         Tests for module 'grantpt'.
6165         * modules/grantpt-tests: New file.
6166         * tests/test-grantpt.c: New file.
6167         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
6168
6169 2011-09-20  Bruno Haible  <bruno@clisp.org>
6170
6171         freopen tests: EBADF tests.
6172         * tests/test-freopen.c: Include errno.h, unistd.h.
6173         (main): Add tests for EBADF, commented out for the moment.
6174
6175         fclose tests: EBADF tests.
6176         * tests/test-fclose.c (main): Add tests for EBADF.
6177
6178         fflush tests: EBADF tests.
6179         * tests/test-fflush.c: Include errno.h, macros.h.
6180         (main): Add tests for EBADF.
6181
6182         ftello tests: EBADF tests.
6183         * tests/test-ftello4.sh: New file.
6184         * tests/test-ftello4.c: New file.
6185         * modules/ftello-tests (Files): Add them.
6186         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
6187
6188         fseeko tests: EBADF tests.
6189         * tests/test-fseeko4.sh: New file.
6190         * tests/test-fseeko4.c: New file.
6191         * modules/fseeko-tests (Files): Add them.
6192         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
6193
6194         Tests for function fputc().
6195         * modules/fputc-tests: New file.
6196         * tests/test-fputc.c: New file.
6197         * modules/stdio-tests (Depends-on): Add fputc-tests.
6198
6199         Tests for function fgetc().
6200         * modules/fgetc-tests: New file.
6201         * tests/test-fgetc.c: New file.
6202         * modules/stdio-tests (Depends-on): Add fgetc-tests.
6203
6204         Tests for function fdopen().
6205         * modules/fdopen-tests: New file.
6206         * tests/test-fdopen.c: New file.
6207         * modules/stdio-tests (Depends-on): Add fdopen-tests.
6208
6209         Tests for module 'vdprintf'.
6210         * modules/vdprintf-tests: New file.
6211         * tests/test-vdprintf.c: New file.
6212
6213         Tests for module 'dprintf'.
6214         * modules/dprintf-tests: New file.
6215         * tests/test-dprintf.c: New file.
6216
6217 2011-09-20  Bruno Haible  <bruno@clisp.org>
6218
6219         Tests for module 'ioctl'.
6220         * modules/ioctl-tests: New file.
6221         * tests/test-ioctl.c: New file.
6222
6223 2011-09-20  Bruno Haible  <bruno@clisp.org>
6224
6225         fcntl tests: EBADF tests.
6226         * tests/test-fcntl.c (main): Add more tests for EBADF.
6227
6228 2011-09-20  Bruno Haible  <bruno@clisp.org>
6229
6230         utimensat tests: EBADF tests.
6231         * tests/test-utimensat.c (main): Add tests for EBADF.
6232
6233         renameat tests: EBADF tests.
6234         * tests/test-renameat.c (main): Add tests for EBADF.
6235
6236         mkfifoat tests: EBADF tests.
6237         * tests/test-mkfifoat.c (main): Add tests for EBADF.
6238
6239         readlinkat tests: EBADF tests.
6240         * tests/test-readlinkat.c (main): Add tests for EBADF.
6241
6242         symlinkat tests: EBADF tests.
6243         * tests/test-symlinkat.c (main): Add tests for EBADF.
6244
6245         linkat tests: EBADF tests.
6246         * tests/test-linkat.c (main): Add tests for EBADF.
6247
6248         Tests for module 'faccessat'.
6249         * modules/faccessat-tests: New file.
6250         * tests/test-faccessat.c: New file.
6251
6252         fdopendir tests: EBADF tests.
6253         * tests/test-fdopendir.c (main): Add more tests for EBADF.
6254
6255         openat tests: EBADF tests.
6256         * tests/test-fchownat.c (main): Add tests for EBADF.
6257         * tests/test-fstatat.c (main): Likewise.
6258         * tests/test-mkdirat.c (main): Likewise.
6259         * tests/test-openat.c (main): Likewise.
6260         * tests/test-unlinkat.c (main): Likewise.
6261         * tests/test-fchmodat.c: New file.
6262         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
6263         (Makefile.am): Also run 'test-fchmodat'.
6264
6265 2011-09-20  Bruno Haible  <bruno@clisp.org>
6266
6267         utimens, futimens, fdutimensat tests: EBADF tests.
6268         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
6269
6270         Tests for function fstat().
6271         * modules/fstat-tests: New file.
6272         * tests/test-fstat.c: New file.
6273         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
6274
6275 2011-09-20  Bruno Haible  <bruno@clisp.org>
6276
6277         test-ttyname_r tests: EBADF tests.
6278         * tests/test-ttyname_r.c (main): Add tests for EBADF.
6279
6280         Tests for module 'isatty'.
6281         * modules/isatty-tests: New file.
6282         * tests/test-isatty.c: New file.
6283
6284         Tests for module 'write'.
6285         * modules/write-tests: New file.
6286         * tests/test-write.c: New file.
6287
6288         Tests for module 'read'.
6289         * modules/read-tests: New file.
6290         * tests/test-read.c: New file.
6291
6292         pwrite tests: EBADF tests.
6293         * tests/test-pwrite.c (main): Add tests for EBADF.
6294
6295         pread tests: EBADF tests.
6296         * tests/test-pread.c (main): Add tests for EBADF.
6297
6298         lseek tests: EBADF tests.
6299         * tests/test-lseek.c (main): Add more tests for EBADF.
6300
6301         Tests for module 'ftruncate'.
6302         * modules/ftruncate-tests: New file.
6303         * tests/test-ftruncate.sh: New file.
6304         * tests/test-ftruncate.c: New file.
6305
6306         fsync tests: EBADF tests.
6307         * tests/test-fsync.c (main): Add more tests for EBADF.
6308
6309         fdatasync tests: EBADF tests.
6310         * tests/test-fdatasync.c (main): Add more tests for EBADF.
6311
6312         Tests for module 'fchown'.
6313         * modules/fchown-tests: New file.
6314         * tests/test-fchown.c: New file.
6315
6316         Tests for module 'fchmod'.
6317         * modules/fchmod-tests: New file.
6318         * tests/test-fchmod.c: New file.
6319
6320         fchdir tests: EBADF tests.
6321         * tests/test-fchdir.c (main): Add more tests for EBADF.
6322
6323         dup2 tests: EBADF tests.
6324         * tests/test-dup2.c (main): Add more tests for EBADF.
6325
6326         Tests for module 'dup'.
6327         * modules/dup-tests: New file.
6328         * tests/test-dup.c: New file.
6329
6330         Tests for module 'close'.
6331         * modules/close-tests: New file.
6332         * tests/test-close.c: New file.
6333
6334 2011-09-20  Bruno Haible  <bruno@clisp.org>
6335
6336         Tests for module 'shutdown'.
6337         * modules/shutdown-tests: New file.
6338         * tests/test-shutdown.c: New file.
6339
6340         Tests for module 'setsockopt'.
6341         * modules/setsockopt-tests: New file.
6342         * tests/test-setsockopt.c: New file.
6343
6344         Tests for module 'sendto'.
6345         * modules/sendto-tests: New file.
6346         * tests/test-sendto.c: New file.
6347
6348         Tests for module 'send'.
6349         * modules/send-tests: New file.
6350         * tests/test-send.c: New file.
6351
6352         Tests for module 'recvfrom'.
6353         * modules/recvfrom-tests: New file.
6354         * tests/test-recvfrom.c: New file.
6355
6356         Tests for module 'recv'.
6357         * modules/recv-tests: New file.
6358         * tests/test-recv.c: New file.
6359
6360         Tests for module 'listen'.
6361         * modules/listen-tests: New file.
6362         * tests/test-listen.c: New file.
6363
6364         Tests for module 'getsockopt'.
6365         * modules/getsockopt-tests: New file.
6366         * tests/test-getsockopt.c: New file.
6367
6368         Tests for module 'getsockname'.
6369         * modules/getsockname-tests: New file.
6370         * tests/test-getsockname.c: New file.
6371
6372         Tests for module 'getpeername'.
6373         * modules/getpeername-tests: New file.
6374         * tests/test-getpeername.c: New file.
6375
6376         Tests for module 'connect'.
6377         * modules/connect-tests: New file.
6378         * tests/test-connect.c: New file.
6379
6380         Tests for module 'bind'.
6381         * modules/bind-tests: New file.
6382         * tests/test-bind.c: New file.
6383
6384         accept4 tests: Fix for native Windows.
6385         * tests/test-accept4.c: Include sockets.h.
6386         (main): Invoke gl_sockets_startup.
6387         * modules/accept4-tests (Depends-on): Add sockets.
6388
6389         accept tests: Fix for native Windows.
6390         * tests/test-accept.c: Include sockets.h.
6391         (main): Invoke gl_sockets_startup.
6392         * modules/accept-tests (Depends-on): Add sockets.
6393
6394 2011-09-19  Bruno Haible  <bruno@clisp.org>
6395
6396         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
6397         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
6398         do...while(0).
6399         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
6400         Suggested by Paul Eggert.
6401
6402 2011-09-19  Bruno Haible  <bruno@clisp.org>
6403
6404         sched: Ensure pid_t is defined.
6405         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
6406         not define pid_t.
6407         * lib/sched.in.h: Include <sys/types.h>.
6408         * doc/posix-headers/sched.texi: Mention the pid_t problem.
6409         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6410
6411 2011-09-19  Bruno Haible  <bruno@clisp.org>
6412
6413         msvc-inval: Ensure the entire expansion is a single statement.
6414         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
6415         of braces.
6416
6417 2011-09-19  Jim Meyering  <meyering@redhat.com>
6418
6419         tests: use printf, not echo in init.sh's warn_ function
6420         * tests/init.sh (warn_): Use printf, not echo.  The latter would
6421         misbehave when given strings containing a backslash or starting
6422         with e.g., -n.  James Youngman suggested setting IFS.
6423
6424 2011-09-19  Eric Blake  <eblake@redhat.com>
6425
6426         futimens: enhance test
6427         * tests/test-futimens.h (test_futimens): Also check for EBADF on
6428         closed non-negative fd.
6429
6430         date: accept 'hence' as opposite of 'ago'
6431         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
6432         * tests/test-parse-datetime.c (main): Enhance test.
6433         Suggested by Jesse Wilson.
6434
6435 2011-09-19  Jim Meyering  <meyering@redhat.com>
6436
6437         getcwd: don't fail in a deep directory on a system without openat
6438         Before this change, getcwd would fail when called from a directory
6439         of depth PATH_MAX / 3 or greater.  That was due to the fact that
6440         the non-openat implementation used "..", "../..", "../../..", etc.
6441         to access ancestor directories.  With too many, that string would
6442         be longer than PATH_MAX.
6443         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
6444         using gnulib's openat replacement.
6445         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
6446         we're using the replacement function.
6447
6448 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
6449
6450         maint.mk: avoid warnings from perl about missing files
6451         * top/maint.mk (def_sym_regex): Ignore files listed in
6452         $(gl_other_headers_) that do not exist, say because a project
6453         does not use a corresponding module.
6454
6455 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
6456
6457         stat: use pathmax.h only if needed
6458         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
6459         This is better for Emacs, which does not have a mingw port and
6460         therefore can avoid the pathmax module.
6461
6462         utimens: remove dependency on dup2
6463         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
6464         to work around the Linux kernel bug.
6465         * modules/utimens (Depends-on): Remove dup2.
6466
6467 2011-09-18  Bruno Haible  <bruno@clisp.org>
6468
6469         inet_ntop, inet_pton: Look for it also in libresolv.
6470         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
6471         libnsl, search for it in libresolv.
6472         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6473         Needed on Solaris 7.
6474
6475 2011-09-18  Bruno Haible  <bruno@clisp.org>
6476
6477         accept, accept4 tests: Avoid link error on Solaris.
6478         * modules/accept-tests (Makefile.am): Link test-accept against
6479         $(LIBSOCKET).
6480         * modules/accept4-tests (Makefile.am): Link test-accept4 against
6481         $(LIBSOCKET).
6482
6483         accept4: Avoid link error on Solaris.
6484         * modules/accept4 (Link): New section.
6485
6486         socket functions: Avoid link errors on Solaris.
6487         * modules/accept (Depends-on): Add socketlib.
6488         (Link): New section.
6489         * modules/bind (Depends-on): Add socketlib.
6490         (Link): New section.
6491         * modules/connect (Depends-on): Add socketlib.
6492         (Link): New section.
6493         * modules/getpeername (Depends-on): Add socketlib.
6494         (Link): New section.
6495         * modules/getsockname (Depends-on): Add socketlib.
6496         (Link): New section.
6497         * modules/getsockopt (Depends-on): Add socketlib.
6498         (Link): New section.
6499         * modules/listen (Depends-on): Add socketlib.
6500         (Link): New section.
6501         * modules/recv (Depends-on): Add socketlib.
6502         (Link): New section.
6503         * modules/recvfrom (Depends-on): Add socketlib.
6504         (Link): New section.
6505         * modules/send (Depends-on): Add socketlib.
6506         (Link): New section.
6507         * modules/sendto (Depends-on): Add socketlib.
6508         (Link): New section.
6509         * modules/setsockopt (Depends-on): Add socketlib.
6510         (Link): New section.
6511         * modules/shutdown (Depends-on): Add socketlib.
6512         (Link): New section.
6513         * modules/socket (Depends-on): Add socketlib.
6514         (Link): New section.
6515
6516 2011-09-18  Bruno Haible  <bruno@clisp.org>
6517
6518         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
6519         * tests/test-ptsname.c (main): Terminate the test if it takes longer
6520         than 5 seconds.
6521         * modules/ptsname-tests (configure.ac): Test for alarm.
6522
6523 2011-09-18  Bruno Haible  <bruno@clisp.org>
6524
6525         posix_spawn_file_actions_add*: Fix module dependencies.
6526         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
6527         posix_spawn_file_actions_init.
6528         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
6529         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
6530
6531 2011-09-18  Bruno Haible  <bruno@clisp.org>
6532
6533         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
6534         * tests/test-rename.h (test_rename): Allow error code EEXIST.
6535         * tests/test-renameat.c (main): Likewise.
6536
6537 2011-09-18  Bruno Haible  <bruno@clisp.org>
6538
6539         Tests for module 'accept4'.
6540         * modules/accept4-tests: New file.
6541         * tests/test-accept4.c: New file.
6542
6543 2011-09-18  Bruno Haible  <bruno@clisp.org>
6544
6545         Tests for module 'accept'.
6546         * modules/accept-tests: New file.
6547         * tests/test-accept.c: New file.
6548
6549 2011-09-18  Bruno Haible  <bruno@clisp.org>
6550
6551         dup2: Support for MSVC.
6552         * lib/dup2.c: Include msvc-inval.h.
6553         (rpl_dup2): Handle invalid parameter notifications during dup2 and
6554         _get_osfhandle calls.
6555         * modules/dup2 (Depends-on): Add msvc-inval.
6556         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
6557
6558         New module 'msvc-inval'.
6559         * lib/msvc-inval.h: New file.
6560         * lib/msvc-inval.c: New file.
6561         * m4/msvc-inval.m4: New file.
6562         * modules/msvc-inval: New file.
6563
6564 2011-09-17  Bruno Haible  <bruno@clisp.org>
6565
6566         Tests for module 'pclose'.
6567         * modules/pclose-tests: New file.
6568
6569         New module 'pclose'.
6570         * lib/stdio.in.h (pclose): New declaration.
6571         * lib/pclose.c: New file.
6572         * m4/pclose.m4: New file.
6573         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
6574         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
6575         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
6576         * modules/pclose: New file.
6577         * modules/popen-tests (Depends-on): Add pclose.
6578         * modules/popen-safer-tests (Depends-on): Likewise.
6579         * doc/posix-functions/pclose.texi: Mention the new module.
6580
6581 2011-09-17  Bruno Haible  <bruno@clisp.org>
6582
6583         popen: Support for MSVC.
6584         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
6585         * lib/popen.c (popen): Provide alternate definition for native Windows.
6586         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
6587         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
6588         * modules/popen (Depends-on, configure.ac): Update condition.
6589         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
6590         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
6591         fixed.
6592
6593 2011-09-17  Bruno Haible  <bruno@clisp.org>
6594
6595         isnanl, isnand, isnanf: Work around MSVC bug.
6596         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
6597
6598 2011-09-17  Bruno Haible  <bruno@clisp.org>
6599
6600         sys_socket tests: Fix recent mistake.
6601         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
6602
6603 2011-09-17  Bruno Haible  <bruno@clisp.org>
6604
6605         putenv: Support for MSVC.
6606         * modules/putenv (Depends-on): Add environ.
6607         * lib/putenv.c (environ): Disable declaration.
6608         * lib/unistd.in.h: Update comment.
6609
6610 2011-09-17  Bruno Haible  <bruno@clisp.org>
6611
6612         math: Avoid macro redefinition warnings on MSVC.
6613         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
6614         Undefine before redefining.
6615
6616 2011-09-17  Bruno Haible  <bruno@clisp.org>
6617
6618         doc: Mention functions which are declared as macros.
6619         * doc/posix-functions/*[fl].texi: Mention that some functions are
6620         defined as macros with arguments only.
6621
6622 2011-09-17  Bruno Haible  <bruno@clisp.org>
6623
6624         Add dependencies to new dirent related modules.
6625         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
6626         * modules/fts (Depends-on): Likewise.
6627         * modules/glob (Depends-on): Likewise.
6628         * modules/savedir (Depends-on): Likewise.
6629         * modules/scandir (Depends-on): Likewise.
6630         * modules/dirent-safer (Depends-on): Add opendir, closedir.
6631         * modules/fdopendir (Depends-on): Add opendir.
6632
6633 2011-09-17  Bruno Haible  <bruno@clisp.org>
6634
6635         inet_pton: Support for MSVC on Windows Vista or newer.
6636         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
6637         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
6638         HAVE_DECL_INET_PTON is defined.
6639         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
6640         On platforms with <winsock2.h>, test whether inet_pton is declared in
6641         <ws2tcpip.h>. If so, arrange to replace it.
6642         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
6643         REPLACE_INET_PTON.
6644         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
6645         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
6646         (Depends-on, configure.ac): Update condition.
6647         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
6648
6649 2011-09-17  Bruno Haible  <bruno@clisp.org>
6650
6651         inet_ntop: Support for MSVC on Windows Vista or newer.
6652         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
6653         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
6654         HAVE_DECL_INET_NTOP is defined.
6655         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
6656         On platforms with <winsock2.h>, test whether inet_ntop is declared in
6657         <ws2tcpip.h>. If so, arrange to replace it.
6658         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
6659         REPLACE_INET_NTOP.
6660         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
6661         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
6662         (Depends-on, configure.ac): Update condition.
6663         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
6664
6665 2011-09-16  Eric Blake  <eblake@redhat.com>
6666
6667         test-fsync: yet another enhancement
6668         * tests/test-fsync.c (main): Also test behavior on read-only text
6669         file.
6670
6671 2011-09-16  Bruno Haible  <bruno@clisp.org>
6672
6673         Enhance fsync, fdatasync tests.
6674         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
6675         * tests/test-fdatasync.c (main): Likewise.
6676
6677 2011-09-16  Bruno Haible  <bruno@clisp.org>
6678
6679         Support for MSVC compiler: Ensure mode_t gets defined.
6680         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
6681         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6682         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6683         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
6684         * tests/test-fcntl-h.c: Check that mode_t is defined.
6685         * tests/test-sys_stat.c: Likewise.
6686         * tests/test-sys_types.c: Likewise.
6687         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
6688         * doc/posix-headers/sys_stat.texi: Likewise.
6689         * doc/posix-headers/sys_types.texi: Likewise.
6690
6691 2011-09-16  Bruno Haible  <bruno@clisp.org>
6692
6693         sys_stat: Support for MSVC.
6694         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
6695         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
6696         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
6697         MSVC.
6698
6699 2011-09-16  Bruno Haible  <bruno@clisp.org>
6700
6701         Support for MSVC compiler: Ensure off_t gets defined.
6702         * lib/unistd.in.h: Include <sys/types.h>.
6703         * tests/test-fcntl-h.c: Check that off_t is defined.
6704         * tests/test-sys_stat.c: Likewise.
6705         * tests/test-sys_types.c: Likewise.
6706
6707 2011-09-16  Eric Blake  <eblake@redhat.com>
6708
6709         fdatasync: port to Solaris
6710         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
6711         * modules/fdatasync (Link): Document it.
6712         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
6713
6714         fdatasync: port to MacOS X 10.7
6715         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
6716         declared.
6717         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
6718         * modules/unistd (Makefile.am): Substitute it.
6719         * lib/unistd.in.h (fdatasync): Declare on MacOS.
6720         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
6721
6722         fdatasync: minor improvements
6723         * modules/fdatasync (Depends-on): Add condition for fsync.
6724         * lib/fdatasync.c (fdatasync): Add comment.
6725         * tests/test-unistd-c++.cc: Test fdatasync.
6726
6727         unistd: update refs to newer POSIX
6728         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
6729         Suggested by Bruno Haible.
6730
6731         fdatasync: new module
6732         * modules/fsync (Description): Document difference to fdatasync.
6733         * modules/fdatasync: New module.
6734         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
6735         * lib/fdatasync.c (fdatasync): Likewise.
6736         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
6737         defaults.
6738         * modules/unistd (Makefile.am): Set witnesses.
6739         * lib/unistd.in.h (fdatasync): Declare.
6740         * MODULES.html.sh: Document it.
6741         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
6742         * modules/fdatasync-tests: New test.
6743         * tests/test-fdatasync.c: Likewise.
6744
6745 2011-09-16  Eric Blake  <eblake@redhat.com>
6746
6747         test-fsync: enhance tests
6748         * modules/fsync-tests (Depends-on): Add errno, for mingw.
6749         * tests/test-fsync.c (main): Enhance test.
6750
6751 2011-09-15  Bruno Haible  <bruno@clisp.org>
6752
6753         Support for MSVC compiler: Ensure ssize_t gets defined.
6754         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
6755         * doc/posix-headers/stdio.texi: Likewise.
6756         * modules/stdio (Depends-on): Add ssize_t.
6757         * modules/sys_socket (Depends-on): Likewise.
6758         * modules/sys_types (Depends-on): Likewise.
6759         * modules/sys_uio (Depends-on): Likewise.
6760         * modules/unistd (Depends-on): Likewise.
6761         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
6762         * tests/test-sys_types.c: Check that ssize_t is defined.
6763
6764 2011-09-14  Bruno Haible  <bruno@clisp.org>
6765
6766         Avoid using #, the m4 comment starter character, near brackets.
6767         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
6768         delimiter character in sed expressions.
6769         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
6770         Suggested by Eric Blake.
6771
6772         Properly quote AC_CHECK_DECLS' 4th argument.
6773         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
6774         argument.
6775         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6776         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6777         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6778         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
6779         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
6780         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
6781         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
6782         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
6783         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
6784         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6785         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
6786         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6787         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
6788         * m4/isinf.m4 (gl_ISINF): Likewise.
6789         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6790         * m4/readutmp.m4 (gl_READUTMP): Likewise.
6791         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
6792         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6793         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6794         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6795         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
6796         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
6797         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
6798         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6799         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6800         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6801         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
6802         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6803         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6804         Reported by Eric Blake.
6805
6806         Properly quote AC_CHECK_DECL's 4th argument.
6807         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
6808         argument.
6809         * m4/argp.m4 (gl_ARGP): Likewise.
6810         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
6811         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6812         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
6813         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6814         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
6815         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
6816         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6817         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
6818         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
6819         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
6820         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
6821         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
6822         Reported by Eric Blake.
6823
6824 2011-09-14  Eric Blake  <eblake@redhat.com>
6825
6826         opendir: avoid compile warning
6827         * lib/opendir.c (includes): Always include errno.h.
6828         Reported by Tatsuro MATSUOKA.
6829
6830 2011-09-14  Jim Meyering  <meyering@redhat.com>
6831
6832         maint.mk: sc_tight_scope: propagate failure from sub-make
6833         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
6834         Reported by Martin von Gagern.
6835
6836 2011-09-13  Bruno Haible  <bruno@clisp.org>
6837
6838         tempname: Support for MSVC.
6839         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
6840         MSVC.
6841         * modules/tempname (Depends-on): Add fcntl-h.
6842
6843 2011-09-13  Bruno Haible  <bruno@clisp.org>
6844
6845         sys_time: Support for MSVC.
6846         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
6847         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
6848         include <winsock2.h>.
6849         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
6850         function declarations that collide with POSIX.
6851         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
6852         (Makefile.am): Substitute HAVE_WINSOCK2_H.
6853
6854 2011-09-13  Bruno Haible  <bruno@clisp.org>
6855
6856         stat: Support for MSVC.
6857         * lib/stat.c: Include pathmax.h.
6858         * modules/stat (Depends-on): Add pathmax.
6859
6860         pathmax: Support for native Windows.
6861         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
6862
6863 2011-09-12  Bruno Haible  <bruno@clisp.org>
6864
6865         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
6866         * lib/dirent.in.h (struct dirent): New type.
6867         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
6868         DT_WHT): New macros.
6869         (DIR): New type.
6870         (opendir, closedir): Declare only if the module 'opendir' is enabled.
6871         (readdir, rewinddir): New declarations.
6872         * lib/dirent-private.h: New file.
6873         * lib/opendir.c: New file.
6874         * lib/readdir.c: New file.
6875         * lib/rewinddir.c: New file.
6876         * lib/closedir.c: New file.
6877         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
6878         * m4/opendir.m4: New file.
6879         * m4/readdir.m4: New file.
6880         * m4/rewinddir.m4: New file.
6881         * m4/closedir.m4: New file.
6882         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
6883         REPLACE_CLOSEDIR here.
6884         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
6885         readdir, rewinddir are declared.
6886         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
6887         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
6888         HAVE_REWINDDIR, HAVE_CLOSEDIR.
6889         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
6890         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
6891         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
6892         * modules/opendir: New file.
6893         * modules/readdir: New file.
6894         * modules/rewinddir: New file.
6895         * modules/closedir: New file.
6896         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
6897         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
6898         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
6899         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
6900         * NEWS: Mention the 'fchdir' change.
6901
6902 2011-09-11  Bruno Haible  <bruno@clisp.org>
6903
6904         asm-underscore.m4: Support for MSVC.
6905         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
6906         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
6907
6908 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
6909
6910         Doc about crypt functions.
6911         * doc/posix-functions/crypt.texi: Expand range of glibc versions
6912         needing for _GNU_SOURCE to get crypt.
6913         * doc/posix-functions/encrypt.texi: Likewise.
6914         * doc/posix-functions/setkey.texi: Likewise.
6915
6916 2011-09-11  Bruno Haible  <bruno@clisp.org>
6917
6918         doc: Update regarding MSVC 9.
6919         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
6920         tested".
6921         * doc/posix-functions/*.texi: Update with info about MSVC 9.
6922         * doc/posix-headers/*.texi: Likewise.
6923         * doc/pastposix-functions/*.texi: Likewise.
6924         * doc/glibc-functions/*.texi: Likewise.
6925         * doc/glibc-headers/*.texi: Likewise.
6926
6927 2011-09-11  Bruno Haible  <bruno@clisp.org>
6928
6929         unistd et al.: Don't assume <unistd.h> exists.
6930         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
6931         does not exist.
6932         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
6933         exist. But include <stdlib.h>.
6934         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
6935         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
6936         symlink() does not exist.
6937         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
6938         include <io.h> instead.
6939         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
6940         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
6941         include <direct.h> instead.
6942         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6943         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6944         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
6945         <io.h> instead.
6946         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
6947         correctly if the system does not have hard links.
6948         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
6949         <direct.h> instead.
6950         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
6951         it when looking for function declarations.
6952         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
6953         <direct.h> and <io.h> instead.
6954         * doc/posix-headers/unistd.texi: More details about MSVC problem.
6955
6956 2011-09-11  Bruno Haible  <bruno@clisp.org>
6957
6958         strcase: Support for MSVC.
6959         * modules/strcase (Status, Notice): Remove obsoletion mark.
6960         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
6961         * doc/posix-functions/strncasecmp.texi: Likewise.
6962
6963         strings: Don't assume <strings.h> exists.
6964         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
6965         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
6966         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
6967         * doc/posix-headers/strings.texi: Mention the MSVC problem.
6968
6969 2011-09-11  Bruno Haible  <bruno@clisp.org>
6970
6971         dirent: Don't assume <dirent.h> exists.
6972         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
6973         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
6974         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
6975         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
6976
6977 2011-09-11  Bruno Haible  <bruno@clisp.org>
6978
6979         Fix wint_t on MSVC.
6980         * lib/wchar.in.h (wint_t): On MSVC, override it.
6981         * lib/wctype.in.h (wint_t): Likewise.
6982         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
6983         MSVC.
6984         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
6985         * doc/posix-headers/wctype.texi: Likewise.
6986
6987 2011-09-11  Bruno Haible  <bruno@clisp.org>
6988
6989         sys_types: Fix typo.
6990         * lib/sys_types.in.h: Fix typo in comment.
6991         Reported by Paul Eggert.
6992
6993         Support for MSVC compiler: Ensure size_t gets defined.
6994         * modules/strings (Depends-on): Add 'sys_types'.
6995         * modules/sys_uio (Depends-on): Likewise.
6996         * lib/sys_uio.in.h: Update comment.
6997
6998         C++ tests for module 'sys_types'.
6999         * modules/sys_types-c++-tests: New file.
7000         * tests/test-sys_types-c++.cc: New file.
7001
7002         Tests for module 'sys_types'.
7003         * modules/sys_types-tests: New file.
7004         * tests/test-sys_types.c: New file.
7005
7006         New module 'sys_types'.
7007         * lib/sys_types.in.h: New file.
7008         * m4/sys_types_h.m4: New file.
7009         * modules/sys_types: New file.
7010         * doc/posix-headers/sys_types.texi: Mention the new module and the
7011         size_t problem on MSVC 9.
7012
7013 2011-09-11  Bruno Haible  <bruno@clisp.org>
7014
7015         Support for MSVC compiler: Avoid division by a literal 0.
7016         * lib/math.in.h (NAN): Define through a function call also on MSVC.
7017         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
7018         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
7019         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
7020         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
7021         * tests/infinity.h: New file.
7022         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
7023         on MSVC.
7024         * tests/test-ceilf1.c: Include infinity.h.
7025         (main): Use Infinityf.
7026         * tests/test-ceil1.c: Include infinity.h.
7027         (main): Use Infinityd.
7028         * tests/test-ceill.c: Include infinity.h.
7029         (main): Use Infinityl.
7030         * tests/test-dprintf-posix.c: Include infinity.h.
7031         (test_function): Use Infinityd.
7032         * tests/test-floorf1.c: Include infinity.h.
7033         (main): Use Infinityf.
7034         * tests/test-floor1.c: Include infinity.h.
7035         (main): Use Infinityd.
7036         * tests/test-floorl.c: Include infinity.h.
7037         (main): Use Infinityl.
7038         * tests/test-fprintf-posix.c: Include infinity.h.
7039         (test_function): Use Infinityd.
7040         * tests/test-frexp.c: Include infinity.h.
7041         (main): Use Infinityd.
7042         * tests/test-frexpl.c: Include infinity.h.
7043         (main): Use Infinityl.
7044         * tests/test-isfinite.c: Include infinity.h.
7045         (test_isfinitef): Use Infinityf.
7046         (test_isfinited): Use Infinityd.
7047         (test_isfinitel): Use Infinityl.
7048         * tests/test-isinf.c: Include infinity.h.
7049         (test_isinff): Use Infinityf.
7050         (test_isinfd): Use Infinityd.
7051         (test_isinfl): Use Infinityl.
7052         * tests/test-isnan.c: Include infinity.h.
7053         (test_float): Use Infinityf.
7054         (test_double): Use Infinityd.
7055         (test_long_double): Use Infinityl.
7056         * tests/test-isnanf.h: Include infinity.h.
7057         (main): Use Infinityf.
7058         * tests/test-isnand.h: Include infinity.h.
7059         (main): Use Infinityd.
7060         * tests/test-isnanl.h: Include infinity.h.
7061         (main): Use Infinityl.
7062         * tests/test-ldexpl.c: Include infinity.h.
7063         (main): Use Infinityl.
7064         * tests/test-printf-posix.h: Include infinity.h.
7065         (test_function): Use Infinityd.
7066         * tests/test-roundf1.c: Include infinity.h.
7067         (main): Use Infinityf.
7068         * tests/test-round1.c: Include infinity.h.
7069         (main): Use Infinityd.
7070         * tests/test-roundl.c: Include infinity.h.
7071         (main): Use Infinityl.
7072         * tests/test-signbit.c: Include infinity.h.
7073         (test_signbitf): Use Infinityf.
7074         (test_signbitd): Use Infinityd.
7075         (test_signbitl): Use Infinityl.
7076         * tests/test-snprintf-posix.h: Include infinity.h.
7077         (test_function): Use Infinityd, Infinityl.
7078         * tests/test-sprintf-posix.h: Include infinity.h.
7079         (test_function): Use Infinityd, Infinityl.
7080         * tests/test-truncf1.c: Include infinity.h.
7081         (main): Use Infinityf.
7082         * tests/test-trunc1.c: Include infinity.h.
7083         (main): Use Infinityd.
7084         * tests/test-truncl.c: Include infinity.h.
7085         (main): Use Infinityl.
7086         * tests/test-vasnprintf-posix.c: Include infinity.h.
7087         (test_function): Use Infinityd, Infinityl.
7088         * tests/test-vasprintf-posix.c: Include infinity.h.
7089         (test_function): Use Infinityd, Infinityl.
7090         * modules/ceilf-tests (Files): Add tests/infinity.h.
7091         * modules/ceil-tests (Files): Likewise.
7092         * modules/ceill-tests (Files): Likewise.
7093         * modules/dprintf-posix-tests (Files): Likewise.
7094         * modules/floorf-tests (Files): Likewise.
7095         * modules/floor-tests (Files): Likewise.
7096         * modules/floorl-tests (Files): Likewise.
7097         * modules/fprintf-posix-tests (Files): Likewise.
7098         * modules/frexp-tests (Files): Likewise.
7099         * modules/frexp-nolibm-tests (Files): Likewise.
7100         * modules/frexpl-tests (Files): Likewise.
7101         * modules/frexpl-nolibm-tests (Files): Likewise.
7102         * modules/isfinite-tests (Files): Likewise.
7103         * modules/isinf-tests (Files): Likewise.
7104         * modules/isnan-tests (Files): Likewise.
7105         * modules/isnanf-tests (Files): Likewise.
7106         * modules/isnanf-nolibm-tests (Files): Likewise.
7107         * modules/isnand-tests (Files): Likewise.
7108         * modules/isnand-nolibm-tests (Files): Likewise.
7109         * modules/isnanl-tests (Files): Likewise.
7110         * modules/isnanl-nolibm-tests (Files): Likewise.
7111         * modules/ldexpl-tests (Files): Likewise.
7112         * modules/printf-posix-tests (Files): Likewise.
7113         * modules/roundf-tests (Files): Likewise.
7114         * modules/round-tests (Files): Likewise.
7115         * modules/roundl-tests (Files): Likewise.
7116         * modules/signbit-tests (Files): Likewise.
7117         * modules/snprintf-posix-tests (Files): Likewise.
7118         * modules/sprintf-posix-tests (Files): Likewise.
7119         * modules/truncf-tests (Files): Likewise.
7120         * modules/trunc-tests (Files): Likewise.
7121         * modules/truncl-tests (Files): Likewise.
7122         * modules/vasnprintf-posix-tests (Files): Likewise.
7123         * modules/vasprintf-posix-tests (Files): Likewise.
7124         * modules/vdprintf-posix-tests (Files): Likewise.
7125         * modules/vfprintf-posix-tests (Files): Likewise.
7126         * modules/vprintf-posix-tests (Files): Likewise.
7127         * modules/vsnprintf-posix-tests (Files): Likewise.
7128         * modules/vsprintf-posix-tests (Files): Likewise.
7129         * modules/xprintf-posix-tests (Files): Likewise.
7130
7131 2011-09-11  Bruno Haible  <bruno@clisp.org>
7132
7133         Ensure pid_t gets defined.
7134         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
7135         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
7136         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
7137         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7138         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
7139         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
7140         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
7141         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7142         * tests/test-fcntl-h.c: Check that pid_t is defined.
7143         * tests/test-sched.c: Likewise.
7144         * tests/test-termios.c: Likewise.
7145         * tests/test-time.c: Likewise.
7146         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
7147         * doc/posix-headers/signal.texi: Likewise.
7148         * doc/posix-headers/sys_types.texi: Likewise.
7149         * doc/posix-headers/time.texi: Likewise.
7150
7151 2011-09-11  Bruno Haible  <bruno@clisp.org>
7152
7153         acl: Fix compilation on Solaris 10 (older version).
7154         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
7155         of ACE_EVERYONE.
7156         * lib/set-mode-acl.c (qset_acl): Likewise.
7157         Reported by Christian Jullien <eligis@orange.fr>.
7158
7159 2011-09-10  Bruno Haible  <bruno@clisp.org>
7160
7161         iconv, unsetenv: Add support for MSVC compiler.
7162         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
7163         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
7164
7165 2011-09-10  Bruno Haible  <bruno@clisp.org>
7166
7167         *printf: Add support for MSVC compiler.
7168         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
7169         handles the exception caused by the %n directive. When cross-compiling,
7170         guess no on native Windows.
7171         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
7172         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
7173         emulate it through vsnprintf.
7174         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
7175         * doc/posix-functions/dprintf.texi: Update documentation regarding
7176         MSVC 9.
7177         * doc/posix-functions/fprintf.texi: Likewise.
7178         * doc/posix-functions/printf.texi: Likewise.
7179         * doc/posix-functions/snprintf.texi: Likewise.
7180         * doc/posix-functions/sprintf.texi: Likewise.
7181         * doc/posix-functions/swprintf.texi: Likewise.
7182         * doc/posix-functions/vdprintf.texi: Likewise.
7183         * doc/posix-functions/vfprintf.texi: Likewise.
7184         * doc/posix-functions/vprintf.texi: Likewise.
7185         * doc/posix-functions/vsnprintf.texi: Likewise.
7186         * doc/posix-functions/vsprintf.texi: Likewise.
7187         * doc/glibc-functions/asprintf.texi: Likewise.
7188         * doc/glibc-functions/obstack_printf.texi: Likewise.
7189         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7190         * doc/glibc-functions/vasprintf.texi: Likewise.
7191
7192 2011-09-10  Bruno Haible  <bruno@clisp.org>
7193
7194         nocrash: Add support for native Windows.
7195         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
7196
7197 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
7198             Bruno Haible  <bruno@clisp.org>
7199
7200         absolute-header, include-next: Add support for MSVC compiler.
7201         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
7202         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
7203         directory separator in #line directives.
7204         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
7205         recognize also backslash as directory separator in #line directives.
7206
7207 2011-09-08  Jim Meyering  <meyering@redhat.com>
7208
7209         maint.mk: mark the post-release commit log with "maint: " prefix
7210         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
7211         one-line commit-log summary.
7212
7213 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
7214             Bruno Haible  <bruno@clisp.org>
7215
7216         Doc about crypt functions.
7217         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
7218         systems.
7219         * doc/posix-functions/encrypt.texi: Likewise.
7220         * doc/posix-functions/setkey.texi: Likewise.
7221
7222 2011-09-08  Simon Josefsson  <simon@josefsson.org>
7223
7224         * lib/gc.h: Fix copyright header.
7225
7226 2011-09-07  Bruno Haible  <bruno@clisp.org>
7227
7228         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
7229         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
7230         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
7231
7232 2011-09-07  Bruno Haible  <bruno@clisp.org>
7233
7234         openat: Work around compilation error with OSF/1 5.1 DTK cc.
7235         * lib/fopen.c: Use different syntax for include of <stdio.h>.
7236         * lib/freopen.c: Likewise.
7237         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
7238         * lib/lstat.c: Likewise.
7239         * lib/stat.c: Likewise.
7240         * lib/open.c: Use different syntax for include of <fcntl.h>.
7241         * lib/openat.c: Include fcntl.h again, explicitly.
7242
7243 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
7244
7245         parse-datetime: document the newly accepted format
7246         * doc/parse-datetime.texi (Combined date and time of day items):
7247         New section.
7248
7249 2011-09-06  Bruno Haible  <bruno@clisp.org>
7250
7251         acl: Fix a test failure on newer Solaris 10 with ZFS.
7252         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
7253         ENOSYS as no ACL.
7254         Reported by Jim Meyering.
7255
7256 2011-09-06  Bruno Haible  <bruno@clisp.org>
7257
7258         acl: Update for AIX >= 5.3 with NFS.
7259         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
7260         ENOSYS as no ACL.
7261
7262         acl: Fix a test failure on AIX >= 5.3 with NFS.
7263         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
7264         as no ACL.
7265
7266 2011-09-06  Bruno Haible  <bruno@clisp.org>
7267
7268         acl: Fix a test failure on IRIX 6.5 with NFS.
7269         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
7270         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
7271         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
7272         * lib/copy-acl.c (qcopy_acl): Likewise.
7273
7274 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
7275
7276         openat: port to AIX 7.1 with large files
7277         AIX 7.1 does a "#define openat open64at" if large files are in use,
7278         so we can't simply #undef openat.  Use the orig_openat trick (similar
7279         to orig_open in lib/open.c) to work around the problem.  Problem
7280         reported by Kevin Brott for GNU tar, in the thread containing
7281         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
7282         * lib/openat.c (__need_system_fcntl_h): Define first.
7283         Include <fcntl.h> and <sys/types.h> before undefining.
7284         (orig_openat) [HAVE_OPENAT]: New inline function.
7285         (openat) [HAVE_OPENAT]: Do not undef.
7286         (rpl_openat): Use orig_openat, not openat.
7287
7288 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
7289             Bruno Haible  <bruno@clisp.org>
7290
7291         acl: Avoid errors on NonStop Kernel.
7292         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
7293         ENOTSUP errors.
7294
7295 2011-09-05  Bruno Haible  <bruno@clisp.org>
7296
7297         acl: Clean up Solaris code.
7298         * lib/acl-internal.h: Remove no-op #if.
7299         * lib/file-has-acl.c: Likewise.
7300         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
7301         * lib/copy-acl.c (qcopy_acl): Likewise.
7302
7303 2011-09-05  Bruno Haible  <bruno@clisp.org>
7304
7305         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
7306         binaries built on the original Solaris 10.
7307         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
7308         trivial.
7309
7310 2011-09-05  Bruno Haible  <bruno@clisp.org>
7311
7312         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
7313         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
7314         10.
7315         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
7316         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
7317         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
7318         instead of acl_get, facl_get, acl_set, facl_set.
7319
7320 2011-09-05  Bruno Haible  <bruno@clisp.org>
7321
7322         copy-file: Try unit tests on more file systems.
7323         * tests/test-copy-file-1.sh: New file.
7324         * tests/test-copy-file-2.sh: New file.
7325         * modules/copy-file-tests (Files): Add them.
7326         (Makefile.am): Add them to TESTS.
7327
7328         acl: Try unit tests on more file systems.
7329         * tests/test-file-has-acl-1.sh: New file.
7330         * tests/test-file-has-acl-2.sh: New file.
7331         * tests/test-set-mode-acl-1.sh: New file.
7332         * tests/test-set-mode-acl-2.sh: New file.
7333         * tests/test-copy-acl-1.sh: New file.
7334         * tests/test-copy-acl-2.sh: New file.
7335         * modules/acl-tests (Files): Add them.
7336         (Makefile.am): Add them to TESTS.
7337
7338 2011-09-04  Bruno Haible  <bruno@clisp.org>
7339
7340         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
7341         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
7342         10.
7343         (OLD_ALLOW, OLD_DENY): New macros.
7344         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
7345         ACE_ACCESS_ALLOWED_ACE_TYPE.
7346         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
7347         ACE_ACCESS_DENIED_ACE_TYPE.
7348         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
7349         (NEW_ACE_EXECUTE): Fix value.
7350         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
7351         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
7352         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
7353         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
7354         NEW_ACE_SYNCHRONIZE): New macros.
7355         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
7356         instead of acl_fromtext, acl_set, facl_set.
7357         Fixes a coreutils/tests/cp/perm failure.
7358
7359 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
7360
7361         openat: test for fstatat (..., 0) bug
7362         Further testing with tar suggests that fstatat (..., 0)
7363         does not work in general, on AIX 7.1; see
7364         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
7365         So, give up entirely on AIX 7.1's fstatat, and fall back on our
7366         replacement fstatat (which is what older AIX releases were using
7367         anyway).
7368         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
7369         use is now changed to orig_fstatat.  This was probably the right
7370         thing to do anyway.
7371         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
7372         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
7373         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
7374         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
7375         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
7376         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
7377         if the bug is found.
7378
7379         openat: test for fstatat (AT_FDCWD, ..., 0) bug
7380         This tests for another fstatat bug on AIX 7.1:
7381         fstatat (AT_FDCWD, ..., 0) does not work.  See
7382         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
7383         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
7384         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
7385         (rpl_fstatat): Adjust so that it works around either (or both)
7386         bugs if present.
7387         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
7388
7389 2011-09-03  Karl Berry  <karl@gnu.org>
7390
7391         * doc/regex.texi (Character Class Operators): Avoid literal ":"
7392         in index entries.
7393
7394 2011-09-02  Bruno Haible  <bruno@clisp.org>
7395
7396         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
7397         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
7398         values of AR, ARFLAGS, RANLIB.
7399         Reported by John W. Eaton <jwe@gnu.org> for Octave.
7400
7401 2011-09-02  Bruno Haible  <bruno@clisp.org>
7402
7403         Find 'ar' program that fits with --host argument.
7404         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
7405
7406 2011-09-02  Bruno Haible  <bruno@clisp.org>
7407
7408         tests: init.sh: Support any non-GNU diff.
7409         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
7410         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
7411         Solaris 8.
7412
7413 2011-09-02  Bruno Haible  <bruno@clisp.org>
7414
7415         tests: init.sh: work also with any non-GNU diff that supports -u
7416         * tests/init.sh: Relax check for diff -u support.
7417         Rather than checking for GNU diff via --version, simply check
7418         for support for -u itself.  Useful at least on OpenBSD 4.9,
7419         AIX 7.1, IRIX 6.5, and Solaris 10.
7420
7421 2011-09-01  Bruno Haible  <bruno@clisp.org>
7422
7423         strtoimax, strtoumax: Document problem on HP-UX 11.
7424         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
7425         * doc/posix-functions/strtoumax.texi: Likewise.
7426
7427 2011-09-01  Bruno Haible  <bruno@clisp.org>
7428
7429         strtoumax: Avoid link error on OSF/1 with DTK cc.
7430         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
7431         defined as a function.
7432         * modules/strtoumax (Depends-on, configure.ac): Test only whether
7433         strtoumax is defined, not whether it is declared.
7434
7435 2011-09-01  Bruno Haible  <bruno@clisp.org>
7436
7437         strtoimax: Avoid link error on OSF/1 with DTK cc.
7438         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
7439         defined as a function.
7440         * modules/strtoimax (Depends-on, configure.ac): Test only whether
7441         strtoimax is defined, not whether it is declared.
7442
7443 2011-09-01  Bruno Haible  <bruno@clisp.org>
7444
7445         imaxdiv: Avoid link error on OSF/1 with DTK cc.
7446         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
7447         as a function.
7448         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
7449         whether it is declared.
7450
7451 2011-09-01  Bruno Haible  <bruno@clisp.org>
7452
7453         imaxabs: Avoid link error on OSF/1 with DTK cc.
7454         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
7455         as a function.
7456         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
7457         whether it is declared.
7458
7459 2011-09-01  Bruno Haible  <bruno@clisp.org>
7460
7461         Tests for module 'strtoumax'.
7462         * modules/strtoumax-tests: New file.
7463         * tests/test-strtoumax.c: New file.
7464
7465         Tests for module 'strtoimax'.
7466         * modules/strtoimax-tests: New file.
7467         * tests/test-strtoimax.c: New file.
7468
7469         Tests for module 'imaxdiv'.
7470         * modules/imaxdiv-tests: New file.
7471         * tests/test-imaxdiv.c: New file.
7472
7473         Tests for module 'imaxabs'.
7474         * modules/imaxabs-tests: New file.
7475         * tests/test-imaxabs.c: New file.
7476
7477 2011-09-01  Bruno Haible  <bruno@clisp.org>
7478
7479         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
7480         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
7481         pthread_create.
7482
7483 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
7484
7485         openat: work around AIX 7.1 fstatat issue
7486         This should fix the problem that was not properly fixed
7487         in the previous change, dated 2011-08-30.
7488         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
7489         __need_system_stat_h defined.
7490         (orig_fstatat) [HAVE_FSTATAT]: New function.
7491         (rpl_fstatat): Go back to the old way of doing things,
7492         except call orig_fstatat instead of fstatat.
7493         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
7494         Remove unnecessary check whether fstatat fills in st_size etc.
7495
7496 2011-09-01  Bruno Haible  <bruno@clisp.org>
7497
7498         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
7499         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
7500         just include the system's header.
7501
7502 2011-08-31  Jim Meyering  <meyering@redhat.com>
7503
7504         tests: avoid spurious assertion failure in test-float.c on ppc64
7505         * tests/test-float.c (test_long_double): Comment out an assertion,
7506         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
7507         with gcc-4.4.4.
7508
7509         maint: indent with spaces, not TABs
7510         I need to get in the habit of running gnulib's "make check".
7511         Both of these would have been caught.
7512         * m4/largefile.m4: Indent with spaces, not TABs.
7513         * lib/parse-datetime.y (iso_8601_time): Likewise.
7514         Spotted by Pádraig Brady.
7515
7516         test-parse-datetime.c: accommodate a relatively strict gcc warning
7517         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
7518         to avoid a warning from gcc's -Werror=missing-declarations.
7519         Insert a few spaces-before-funcall-parenthesis.
7520
7521 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
7522
7523         parse-datetime: accept ISO 8601 date and time rep with "T" separator
7524         The parser now accepts ISO 8601 date-time strings with "T" as the
7525         separator.  It has long parsed dates like "2004-02-29 16:21:42"
7526         with a space between the date and time strings.  Now it also parses
7527         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
7528         variants like "2004-02-29T16:21:42.333-07:00"
7529         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
7530         of day representation using the 'T' separator character.
7531         * doc/parse-datetime.texi (General date syntax): replace use of
7532         deprecated --iso-8601 option with --rfc-3339 in example of date
7533         command output formats that can be parsed.
7534         * tests/test-parse-datetime.c (tm_diff): New function, taken from
7535         lib/parse-datetime.y.
7536         (gmt_offset): New function.
7537         (main): Add additional test cases to validate ISO8601 extended
7538         date and time of day parsing.
7539
7540 2011-08-31  Bruno Haible  <bruno@clisp.org>
7541
7542         freopen: Documentation.
7543         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
7544         name.
7545         Reported by Claudio Bley <claudio.bley@gmail.com>.
7546
7547 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
7548
7549         freopen: Don't crash if the filename argument is NULL.
7550         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
7551         NULL.
7552
7553 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
7554
7555         openat: work around AIX 7.1 fstatat bug
7556         Problem reported by Kevin Brott for GNU tar, in the thread containing
7557         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
7558         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
7559         FSTATAT_ST_SIZE_ETC_BROKEN.
7560         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
7561         rpl_fstatat.
7562         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
7563         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
7564         AC_CHECK_FUNCS_ONCE for fstatat.
7565         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
7566         fchmodat, mkdirat, openat and unlinkat.
7567
7568 2011-08-30  Bruno Haible  <bruno@clisp.org>
7569
7570         Avoid endless recursions if config.h includes some header files.
7571         * lib/fopen.c (__need_FILE): Define already before including config.h.
7572         * lib/freopen.c (__need_FILE): Likewise.
7573         * lib/open.c (__need_system_fcntl_h): Likewise.
7574         * lib/stat.c (__need_system_sys_stat_h): Likewise.
7575         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
7576         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7577
7578 2011-08-25  Karl Berry  <karl@gnu.org>
7579
7580         * config/srclist.txt (ylwrap): new try.
7581         * build-aux/ylwrap: new file.
7582
7583 2011-08-23  Bruno Haible  <bruno@clisp.org>
7584
7585         tmpdir: Use a good default directory on native Windows.
7586         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
7587         (P_tmpdir): Default to _P_tmpdir on native Windows.
7588         (path_search): On native Windows, try the value returned by GetTempPath
7589         before trying P_tmpdir.
7590         * modules/tmpdir (Depends-on): Add pathmax.
7591         Suggested by John Darrington <john@darrington.wattle.id.au>.
7592
7593 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
7594
7595         doc: fix typo in README-release
7596         * top/README-release: Capitalize first word of a sentence.
7597
7598 2011-08-19  Jim Meyering  <meyering@redhat.com>
7599
7600         fts: do not exhaust memory when processing million-entry directories
7601         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
7602         directory would require about 256*N bytes of memory.  Thus, it was
7603         easy to construct a directory too large to be processed by any of
7604         those tools.  With this change, fts' maximum memory utilization is
7605         now limited to around 30MB.
7606         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
7607         (fts_read): When we've processed the final entry (i.e., when
7608         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
7609         using the parent entry to read any remaining entries.  Dispatch
7610         depending on what fts_build returns:
7611         - NULL+stop, aka failure: stop
7612         - NULL otherwise: move up in the dir hierarchy
7613         - non-NULL: handle this new entry
7614         (fts_build): Declare and use new local, continue_readdir.
7615         Prepare to be called from fts_read, when the entries
7616         from a partially-read directory have just been exhausted.
7617         In that case, we'll skip the opendir and instead use the parent's
7618         fts_dirp and derive dir_fd from that.
7619         Finally, in the readdir loop, if we read max_entries entries,
7620         exit the loop ensuring *not* to call closedir.  This is required
7621         so that fts_dirp can be reused on a subsequent call.
7622         Prompted by Ben England's report of memory exhaustion in find
7623         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
7624
7625         maint: fts: move decl of `dp' down into while loop; split a long line
7626         * lib/fts.c (fts_build): No semantic change.
7627
7628         fts: add/use new struct member, fts_dirp
7629         We are about to use this to manage any directory with
7630         too many entries to read all of them into memory at once.
7631         To do that, we'll need to save the DIR* pointer in each
7632         affected FTSENT struct.
7633         * lib/fts_.h: Include <dirent.h>.
7634         (struct FTSENT) [fts_dirp]: New member.
7635         * lib/fts.c (closedir_and_clear): Define.
7636         Use it in place of closedir so that we are sure to
7637         clear the new fts_dirp member when done with it.
7638         (fts_alloc): Initialize the new member.
7639         (fts_lfree): Free, if needed.
7640
7641         maint: fts: give __opendir2 a new parameter and rename
7642         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
7643         than surreptitiously using sole caller's "dir_fd".
7644         (fts_opendir): Rename from __opendir2.
7645
7646         maint: fts.c: remove __opendir2's now-unused parameter, oflag
7647         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
7648
7649         maint: fts.c: correct off-by-one indentation
7650         * lib/fts.c (fts_build): Correct indentation, change style
7651         of a couple of block comments, and bracing style.
7652
7653         maint: fts.c: move __opendir2 #define "up" out of function body
7654         * lib/fts.c (__opendir2): Move "up".  No semantic change.
7655
7656         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
7657         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
7658         out for a long time and besides was useful only on BSD systems.
7659
7660 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7661
7662         regex: port to Stratus OpenVOS
7663         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
7664         define to empty, rather than attempting nonportable optimizations.
7665         Problem reported by Paul Green in:
7666         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
7667         and fix suggested by Eric Blake in:
7668         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
7669
7670 2011-08-17  Eric Blake  <eblake@redhat.com>
7671
7672         getcwd: fix test failures on mingw
7673         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
7674         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
7675         test if long directory cannot be created, and allow mingw errno.
7676
7677         getcwd-lgpl: fix m4 to match relaxed test for BSD
7678         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
7679         (gl_FUNC_GETCWD_SIGNATURE): New macro.
7680         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
7681         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
7682         signature problem.
7683
7684         getcwd: fix compilation on mingw64
7685         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
7686         getcwd.
7687         Reported by Marc-André Lureau.
7688
7689         pipe2: silence compiler warning
7690         * lib/pipe2.c (pipe2): Hide label if it is not used.
7691
7692 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
7693
7694         relocatable-prog: fix link error
7695         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
7696         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
7697         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
7698         into modules/relocatable-lib without noticing that
7699         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
7700         also needs to build relocatable.c.
7701
7702 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
7703
7704         getaddrinfo: fix sh typo in gai_strerrorA decl checking
7705         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
7706         shell code: it contained a 'break' that was not in a loop.
7707         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
7708         via a shell-language loop; this may have been true in old Autoconf
7709         versions, but it's not true in Autoconf 2.68.  I found this bug
7710         when testing coreutils git on Solaris 8, whose shell complains
7711         about the syntax error.
7712
7713 2011-08-12  Simon Josefsson  <simon@josefsson.org>
7714
7715         * lib/base64.c: Fix comment to reference RFC 4648.
7716         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
7717         <gvtulder@gmail.com>.
7718
7719 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7720
7721         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
7722
7723         po/Makefile.in.in: fix make -q problem
7724         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
7725         rule, since there's no file named 'check-macro-version' and its
7726         use as a file breaks make -q.
7727         (all): Don't depend on check-macro-version.
7728         (CHECK_MACRO_VERSION): New macro.
7729         (stamp-po): Use it.
7730
7731         configmake: fix make -q problem
7732         * modules/configmake (configmake.h): Update configmake.h's time stamp
7733         even if the file does not change.  Otherwise, 'make -q' fails.
7734         Problem reported by Simon Josefsson in
7735         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
7736
7737 2011-08-11  Jim Meyering  <meyering@redhat.com>
7738
7739         git-version-gen: correct the advice in a comment
7740         * build-aux/git-version-gen: Correct comment.
7741         Don't recommend to list .tarball-version in .gitignore.
7742
7743 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7744
7745         base64: fix off-by-one buffer size bug
7746         Problem and (trivial) fix reported by Gijs van Tulder in
7747         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
7748         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
7749         * tests/test-base64.c (main): Catch the bug.
7750
7751 2011-08-10  Eric Blake  <eblake@redhat.com>
7752
7753         closein: correct comments
7754         * lib/closein.c (close_stdin): Improve comments.
7755
7756 2011-08-09  Bruno Haible  <bruno@clisp.org>
7757
7758         More tests for 'fseeko'.
7759         * tests/test-fseeko3.c: New file, from Eric Blake.
7760         * tests/test-fseeko3.sh: New file.
7761         * modules/fseeko-tests (Files): Add them.
7762         (TESTS): Add test-fseeko3.sh.
7763         (check_PROGRAMS): Add test-fseeko3.
7764
7765 2011-08-09  Eric Blake  <eblake@redhat.com>
7766
7767         fseeko: remove unneeded hack
7768         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
7769
7770         fseeko: fix bug on glibc
7771         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
7772         Reported by John W. Eaton.
7773
7774 2011-08-08  Bruno Haible  <bruno@clisp.org>
7775
7776         unictype/base: Fix interoperability with preinstalled libunistring.
7777         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
7778         Reported by Simon Josefsson.
7779
7780 2011-08-08  Bruno Haible  <bruno@clisp.org>
7781
7782         iswblank: Detect declaration correctly.
7783         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
7784         AC_CHECK_DECLS invocation.
7785
7786 2011-08-08  Bruno Haible  <bruno@clisp.org>
7787
7788         tcgetsid: Detect declaration correctly.
7789         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
7790         AC_CHECK_DECLS invocation.
7791         Reported by Simon Josefsson.
7792
7793 2011-08-08  Eric Blake  <eblake@redhat.com>
7794
7795         largefile: fix typo that regressed large file support
7796         * modules/largefile (configure.ac-early): Fix section name.
7797
7798 2011-08-06  Karl Berry  <karl@gnu.org>
7799
7800         * MODULES.html.sh (func_all_files): _Noreturn is no longer
7801         a separate module.
7802
7803 2011-08-05  Simon Josefsson  <simon@josefsson.org>
7804
7805         openat: Fix warnings and commens when building unlinkat.c on Hurd.
7806         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
7807         get prototype for free.
7808
7809 2011-08-04  Bruno Haible  <bruno@clisp.org>
7810
7811         Tests for module 'pathmax'.
7812         * modules/pathmax-tests: New file.
7813         * tests/test-pathmax.c: New file.
7814
7815         canonicalize-lgpl: Support larger filenames on the Hurd.
7816         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
7817         Reported by Paul Eggert.
7818
7819         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
7820         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
7821         * lib/chdir-long.h: Include pathmax.h.
7822         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
7823         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
7824         (PATH_MAX): Remove code that is done by pathmax.h.
7825         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
7826         * lib/tmpfile.c: Add a comment.
7827         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
7828         * modules/chdir-long (Depends-on): Add pathmax.
7829         * modules/getcwd (Depends-on): Add pathmax.
7830         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
7831         is not defined.
7832         * doc/posix-headers/limits.texi: Mention the pathmax module.
7833         * NEWS: Mention the change.
7834
7835 2011-08-02  Bruno Haible  <bruno@clisp.org>
7836
7837         pthread_sigmask: Actually use results of gl_THREADLIB.
7838         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
7839         gl_THREADLIB, not gl_[]THREADLIB.
7840         Reported by Eric Blake.
7841
7842 2011-08-02  Jim Meyering  <meyering@redhat.com>
7843
7844         maint.mk: relax the default _gl_TS_function_match regexp
7845         * top/maint.mk (_gl_TS_function_match): Don't require at least one
7846         space between function name and "(" in an "extern" declaration.
7847         That would fail to match a decl with no space there: extern void foo();
7848
7849 2011-07-31  Iain Nicol  <iain@thenicols.net>
7850
7851         git-version-gen: document that EXTRA_DIST must include .version
7852         * build-aux/git-version-gen: In the how-to-use comment, document
7853         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
7854         will fail when run from an unpacked distribution tarball.
7855
7856 2011-08-01  Bruno Haible  <bruno@clisp.org>
7857
7858         wctype-h: Fix last change.
7859         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
7860         REPLACE_TOWLOWER to 0.
7861         Reported by Sam Steingold <sds@gnu.org>.
7862
7863 2011-07-31  Bruno Haible  <bruno@clisp.org>
7864
7865         frexpl: Update autoconf test.
7866         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
7867         according to changes of 2011-06-20.
7868
7869 2011-07-31  Bruno Haible  <bruno@clisp.org>
7870
7871         sys_utsname: Add support for Minix.
7872         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
7873         <sys/utsname.h>.
7874         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7875         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
7876
7877 2011-07-31  Bruno Haible  <bruno@clisp.org>
7878
7879         strings: Add support for Minix.
7880         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
7881         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
7882         * doc/posix-headers/strings.texi: Document the Minix problem.
7883
7884 2011-07-31  Bruno Haible  <bruno@clisp.org>
7885
7886         wctype-h: Add support for Minix.
7887         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
7888         REPLACE_TOWLOWER.
7889         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
7890         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
7891         REPLACE_ISWCNTRL.
7892
7893 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
7894
7895         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
7896         This is a performance improvement for 64-bit hosts: it causes the
7897         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
7898
7899 2011-07-31  Bruno Haible  <bruno@clisp.org>
7900
7901         stdioext: Add support for Minix.
7902         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
7903         * lib/fpurge.c (fpurge): Likewise.
7904         * lib/freadahead.c (freadahead): Likewise.
7905         * lib/freadable.c (freadable): Likewise.
7906         * lib/freading.c (freading): Likewise.
7907         * lib/freadptr.c (freadptr): Likewise.
7908         * lib/freadseek.c (freadptrinc): Likewise.
7909         * lib/fseeko.c (rpl_fseeko): Likewise.
7910         * lib/fseterr.c (fseterr): Likewise.
7911         * lib/fwritable.c (fwritable): Likewise.
7912         * lib/fwriting.c (fwriting): Likewise.
7913         * lib/fflush.c (clear_ungetc_buffer): Update comment.
7914         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
7915
7916 2011-07-31  Bruno Haible  <bruno@clisp.org>
7917
7918         errno: Port to Minix.
7919         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
7920         ECONNABORTED are defined.
7921         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
7922         GNULIB_defined_ECONNABORTED): New macros.
7923         * lib/strerror-override.h (strerror_override): Test also
7924         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
7925         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
7926         ECONNABORTED.
7927         * doc/posix-headers/errno.texi: Mention the Minix problem.
7928
7929 2011-07-31  Bruno Haible  <bruno@clisp.org>
7930
7931         Work around declaration collisions on Minix.
7932         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
7933         defined, set REPLACE_MBSINIT.
7934         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
7935         defined, set REPLACE_MBRTOWC.
7936         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
7937         set REPLACE_MBRLEN.
7938         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
7939         defined, set REPLACE_MBSRTOWCS.
7940         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
7941         defined, set REPLACE_WCRTOMB.
7942         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
7943         defined, set REPLACE_WCSRTOMBS.
7944
7945 2011-07-31  Bruno Haible  <bruno@clisp.org>
7946
7947         Add support for Minix with ACK compiler.
7948         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
7949         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
7950         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
7951
7952 2011-07-31  Bruno Haible  <bruno@clisp.org>
7953
7954         Documentation about Minix.
7955         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
7956         * doc/glibc-headers/*.texi: Likewise.
7957         * doc/posix-functions/*.texi: Likewise.
7958         * doc/glibc-functions/*.texi: Likewise.
7959
7960 2011-07-31  Bruno Haible  <bruno@clisp.org>
7961
7962         snippet/warn-on-use: Fix indentation.
7963         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
7964
7965 2011-07-25  Jim Meyering  <meyering@redhat.com>
7966
7967         tests: test-update-copyright.sh: remove unnecessary "rm" commands
7968         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
7969         commands.
7970
7971 2011-07-27  Jim Meyering  <meyering@redhat.com>
7972
7973         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
7974         * top/maint.mk (gl_extract_significant_defines_): Now that
7975         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
7976         gnulib/lib/signal.in.h, and now that we recommend to
7977         define-if-undefined those two symbols in application code,
7978         we must filter them out of the "significant" list.
7979         This avoids a "make syntax-check" failure in coreutils.
7980
7981 2011-07-26  Eric Blake  <eblake@redhat.com>
7982
7983         warnings: add comments about previous patch
7984         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
7985         * m4/include_next.m4: Likewise.
7986         * m4/warn-on-use.m4: Likewise.
7987         * m4/warnings.m4: Likewise, and simplify use.
7988         Suggested by Stefano Lattarini.
7989
7990         include-next, warnings: support older autoconf
7991         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
7992         AS_VAR_PUSHDEF in a way that works with older autoconf.
7993         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
7994         Reported by Daniel P. Berrange.
7995
7996 2011-07-25  Bruno Haible  <bruno@clisp.org>
7997
7998         fseek, ftell: Fix doc.
7999         * doc/posix-functions/fseek.texi: Reword statement about
8000         AC_SYS_LARGEFILE.
8001         * doc/posix-functions/ftell.texi: Likewise.
8002
8003 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
8004             Bruno Haible  <bruno@clisp.org>
8005
8006         Add dependencies to the 'largefile' module.
8007         * modules/fopen (Depends-on): Add 'largefile'.
8008         * modules/freopen (Depends-on): Likewise.
8009         * modules/fseeko (Depends-on): Likewise.
8010         * modules/ftello (Depends-on): Likewise.
8011         * modules/glob (Depends-on): Likewise.
8012         * modules/lseek (Depends-on): Likewise.
8013         * modules/lstat (Depends-on): Likewise.
8014         * modules/mkostemp (Depends-on): Likewise.
8015         * modules/mkostemps (Depends-on): Likewise.
8016         * modules/mkstemp (Depends-on): Likewise.
8017         * modules/mkstemps (Depends-on): Likewise.
8018         * modules/open (Depends-on): Likewise.
8019         * modules/openat (Depends-on): Likewise.
8020         * modules/pread (Depends-on): Likewise.
8021         * modules/pwrite (Depends-on): Likewise.
8022         * modules/scandir (Depends-on): Likewise.
8023         * modules/stat (Depends-on): Likewise.
8024         * modules/tmpfile (Depends-on): Likewise.
8025         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
8026         since the containing module now depends on the largefile module.
8027         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
8028         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
8029         off_t is fixed by gnulib.
8030         * doc/posix-functions/freopen.texi: Likewise.
8031         * doc/posix-functions/fseeko.texi: Likewise.
8032         * doc/posix-functions/fstatat.texi: Likewise.
8033         * doc/posix-functions/ftello.texi: Likewise.
8034         * doc/posix-functions/glob.texi: Likewise.
8035         * doc/posix-functions/lseek.texi: Likewise.
8036         * doc/posix-functions/lstat.texi: Likewise.
8037         * doc/posix-functions/mkstemp.texi: Likewise.
8038         * doc/posix-functions/open.texi: Likewise.
8039         * doc/posix-functions/openat.texi: Likewise.
8040         * doc/posix-functions/pread.texi: Likewise.
8041         * doc/posix-functions/pwrite.texi: Likewise.
8042         * doc/posix-functions/scandir.texi: Likewise.
8043         * doc/posix-functions/stat.texi: Likewise.
8044         * doc/posix-functions/tmpfile.texi: Likewise.
8045         * doc/glibc-functions/mkostemp.texi: Likewise.
8046         * doc/glibc-functions/mkostemps.texi: Likewise.
8047         * doc/glibc-functions/mkstemps.texi: Likewise.
8048
8049 2011-07-25  Bruno Haible  <bruno@clisp.org>
8050
8051         fcntl: Move AC_LIBOBJ invocation to module description.
8052         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
8053         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
8054
8055         fcntl: Remove call-in from fchdir.m4.
8056         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
8057         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
8058
8059         dup3: Remove potential call-in from fchdir.m4.
8060         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
8061         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
8062
8063         dup2: Move AC_LIBOBJ invocation to module description.
8064         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
8065         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
8066         Don't invoke AC_LIBOBJ.
8067         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
8068
8069         dup2: Remove call-in from fchdir.m4.
8070         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
8071         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
8072
8073         fclose: Move AC_LIBOBJ invocation to module description.
8074         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
8075         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
8076         to 1.
8077         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
8078
8079         fclose: Remove call-in from close.m4.
8080         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
8081         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
8082
8083         close: Move AC_LIBOBJ invocation to module description.
8084         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
8085         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
8086         1.
8087         * modules/close (configure.ac): Invoke AC_LIBOBJ.
8088
8089         close: Remove call-in from fchdir.m4.
8090         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
8091         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
8092
8093         open: Move AC_LIBOBJ invocation to module description.
8094         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
8095         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
8096         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
8097
8098         open: Remove call-in from fchdir.m4.
8099         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
8100         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
8101
8102         fchdir: Start to remove gl_REPLACE_* idiom.
8103         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
8104         (gl_FUNC_FCHDIR): Invoke it.
8105
8106 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
8107
8108         * lib/ftell.c (ftell): Comment out cast.
8109
8110         close: use gl_REPLACE_FCLOSE only if defined
8111         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
8112         is defined.  The close module doesn't depend on the fclose module
8113         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
8114         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
8115         I reproduced the problem with "./gnulib-tool --test close sys_socket".
8116
8117 2011-07-24  Jim Meyering  <meyering@redhat.com>
8118
8119         test-select.h: avoid warning when using gcc's -Wmissing-declarations
8120         * tests/test-select.h (test_function): Declare as "static".
8121
8122 2011-07-24  Bruno Haible  <bruno@clisp.org>
8123
8124         doc: Mention the effects of AC_SYS_LARGEFILE.
8125         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
8126         on this function.
8127         * doc/posix-functions/aio_error.texi: Likewise.
8128         * doc/posix-functions/aio_fsync.texi: Likewise.
8129         * doc/posix-functions/aio_read.texi: Likewise.
8130         * doc/posix-functions/aio_return.texi: Likewise.
8131         * doc/posix-functions/aio_suspend.texi: Likewise.
8132         * doc/posix-functions/aio_write.texi: Likewise.
8133         * doc/posix-functions/fgetpos.texi: Likewise.
8134         * doc/posix-functions/fopen.texi: Likewise.
8135         * doc/posix-functions/freopen.texi: Likewise.
8136         * doc/posix-functions/fsetpos.texi: Likewise.
8137         * doc/posix-functions/fstatvfs.texi: Likewise.
8138         * doc/posix-functions/ftruncate.texi: Likewise.
8139         * doc/posix-functions/ftw.texi: Likewise.
8140         * doc/posix-functions/getrlimit.texi: Likewise.
8141         * doc/posix-functions/glob.texi: Likewise.
8142         * doc/posix-functions/lio_listio.texi: Likewise.
8143         * doc/posix-functions/lockf.texi: Likewise.
8144         * doc/posix-functions/mkstemp.texi: Likewise.
8145         * doc/posix-functions/mmap.texi: Likewise.
8146         * doc/posix-functions/nftw.texi: Likewise.
8147         * doc/posix-functions/openat.texi: Likewise.
8148         * doc/posix-functions/opendir.texi: Likewise.
8149         * doc/posix-functions/posix_fadvise.texi: Likewise.
8150         * doc/posix-functions/posix_fallocate.texi: Likewise.
8151         * doc/posix-functions/pread.texi: Likewise.
8152         * doc/posix-functions/pwrite.texi: Likewise.
8153         * doc/posix-functions/readdir.texi: Likewise.
8154         * doc/posix-functions/readdir_r.texi: Likewise.
8155         * doc/posix-functions/rewinddir.texi: Likewise.
8156         * doc/posix-functions/scandir.texi: Likewise.
8157         * doc/posix-functions/seekdir.texi: Likewise.
8158         * doc/posix-functions/setrlimit.texi: Likewise.
8159         * doc/posix-functions/statvfs.texi: Likewise.
8160         * doc/posix-functions/telldir.texi: Likewise.
8161         * doc/posix-functions/tmpfile.texi: Likewise.
8162         * doc/posix-functions/truncate.texi: Likewise.
8163         * doc/glibc-functions/fallocate.texi: Likewise.
8164         * doc/glibc-functions/fstatfs.texi: Likewise.
8165         * doc/glibc-functions/fts_children.texi: Likewise.
8166         * doc/glibc-functions/fts_read.texi: Likewise.
8167         * doc/glibc-functions/getdirentries.texi: Likewise.
8168         * doc/glibc-functions/mkostemp.texi: Likewise.
8169         * doc/glibc-functions/mkostemps.texi: Likewise.
8170         * doc/glibc-functions/mkstemps.texi: Likewise.
8171         * doc/glibc-functions/preadv.texi: Likewise.
8172         * doc/glibc-functions/pwritev.texi: Likewise.
8173         * doc/glibc-functions/sendfile.texi: Likewise.
8174         * doc/glibc-functions/statfs.texi: Likewise.
8175
8176 2011-07-24  Bruno Haible  <bruno@clisp.org>
8177
8178         doc: Fix typo.
8179         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
8180
8181 2011-07-24  Bruno Haible  <bruno@clisp.org>
8182
8183         doc: Mention fsusage.
8184         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
8185
8186 2011-07-24  Bruno Haible  <bruno@clisp.org>
8187
8188         doc: Mention new glibc headers and functions.
8189         * doc/glibc-headers/gshadow.texi: New file.
8190         * doc/glibc-functions/endsgent.texi: New file.
8191         * doc/glibc-functions/fgetsgent.texi: New file.
8192         * doc/glibc-functions/fgetsgent_r.texi: New file.
8193         * doc/glibc-functions/getsgent.texi: New file.
8194         * doc/glibc-functions/getsgent_r.texi: New file.
8195         * doc/glibc-functions/getsgnam.texi: New file.
8196         * doc/glibc-functions/getsgnam_r.texi: New file.
8197         * doc/glibc-functions/putsgent.texi: New file.
8198         * doc/glibc-functions/setsgent.texi: New file.
8199         * doc/glibc-functions/sgetsgent.texi: New file.
8200         * doc/glibc-functions/sgetsgent_r.texi: New file.
8201         * doc/glibc-functions/malloc_info.texi: New file.
8202         * doc/glibc-functions/preadv.texi: New file.
8203         * doc/glibc-functions/pwritev.texi: New file.
8204         * doc/glibc-functions/register_printf_modifier.texi: New file.
8205         * doc/glibc-functions/register_printf_specifier.texi: New file.
8206         * doc/glibc-functions/register_printf_type.texi: New file.
8207         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
8208         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
8209         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
8210         * doc/glibc-functions/pthread_getname_np.texi: New file.
8211         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
8212         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
8213         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
8214         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
8215         * doc/glibc-functions/pthread_setname_np.texi: New file.
8216         * doc/glibc-functions/pthread_sigqueue.texi: New file.
8217         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
8218         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
8219         * doc/glibc-functions/qsort_r.texi: New file.
8220         * doc/glibc-functions/quick_exit.texi: New file.
8221         * doc/glibc-functions/syncfs.texi: New file.
8222         * doc/gnulib.texi: Include them.
8223         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
8224         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
8225         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
8226         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
8227         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
8228         * doc/glibc-functions/execvpe.texi: Likewise.
8229
8230 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8231
8232         ftell: don't include <unistd.h>
8233         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
8234         guaranteed to define off_t, and the ftell module depends on the
8235         stdio module.
8236
8237         ftell: do not assume wraparound signed arithmetic
8238         * lib/ftell.c: Include <limits.h>.
8239         (ftell): Don't assume wraparound signed arithmetic.
8240
8241 2011-07-24  Bruno Haible  <bruno@clisp.org>
8242
8243         close: No longer depend on module 'fclose'.
8244         * modules/close (Depends-on): Remove fclose.
8245         * NEWS: Mention the change.
8246         Suggested by Sam Steingold <sds@gnu.org>.
8247
8248 2011-07-24  Bruno Haible  <bruno@clisp.org>
8249
8250         fsusage: Enable large volume support on AIX >= 5.2.
8251         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
8252         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
8253         instead of STAT_STATVFS.
8254         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
8255
8256         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
8257         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
8258         f_blocks field only on MacOS X.
8259
8260         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
8261         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
8262         * modules/fsusage (Depends-on): Add largefile.
8263
8264 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8265
8266         * README: Modernize discussion of signed integers.
8267         Assuming overflow wraparound is no longer safe.
8268         Mention ones' complement and signed magnitude.
8269
8270 2011-07-22  Bruno Haible  <bruno@clisp.org>
8271
8272         select tests, pselect tests: Refactor.
8273         * tests/test-select.h: New file, extracted from tests/test-select.c.
8274         (select_fn): New type.
8275         (test, do_select, do_select_nowait, do_select_wait, test_tty,
8276         test_connect_first, test_accept_first, test_pair, test_socket_pair,
8277         test_pipe): Add my_select argument.
8278         (test_function): Renamed from main. Add my_select argument.
8279         * tests/test-select.c: Move most code to tests/test-select.h. Include
8280         test-select.h.
8281         * modules/select-tests (Files): Add tests/test-select.h.
8282         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
8283         (my_select, main): New functions.
8284         * modules/pselect-tests (Files): Add tests/test-select.h,
8285         tests/macros.h, tests/signature.h.
8286         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
8287         (configure.ac): Check for <sys/wait.h>.
8288
8289 2011-07-22  Bruno Haible  <bruno@clisp.org>
8290
8291         sys_select tests: Check the signature of FD_*.
8292         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
8293         signature tests from here...
8294         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
8295         here.
8296         * modules/sys_select-tests (Files): Add tests/signature.h.
8297
8298 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8299
8300         largefile: new module, replacing large-inode
8301         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
8302         * MODULES.html.sh: Add largefile, remove large-inode.
8303         * modules/largefile, m4/largefile.m4: New files.
8304         * modules/large-inode, m4/large-inode.m4: Remove.
8305
8306         fsusage: port to MacOS X 10.7 with 4 TiB file systems
8307         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
8308         implementations that use only 32 bits to count blocks.
8309         On typical hosts with 1024-byte blocks, this fails with file
8310         systems as small as 4 TiB.  Problem reported by Herb Wartens
8311         <http://debbugs.gnu.org/9140> and this should also fix a similar
8312         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
8313
8314         large-inode: New module
8315         * MODULES.html.sh: Add it.
8316         * modules/large-inode, m4/large-inode.m4: New files.
8317
8318         extensions: Enable extensions on MacOS X 10.5 and later.
8319         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
8320
8321 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
8322
8323         file-has-acl: use acl_extended_file_nofollow if available
8324         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
8325         (acl_extended_file): New macro.
8326         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
8327         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
8328
8329 2011-07-21  Bruno Haible  <bruno@clisp.org>
8330
8331         Declare system functions in a way that works with C++.
8332         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
8333         declare fdopendir as extern "C".
8334         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
8335         declare frexpl as extern "C".
8336         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
8337         declare gai_strerror as extern "C".
8338         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
8339         programs, declare gai_strerror as extern "C".
8340         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
8341         declare getlogin_r as extern "C".
8342         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
8343         as extern "C".
8344         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
8345         declare ldexpl as extern "C".
8346         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
8347         as extern "C".
8348         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
8349         program, declare getmntinfo as extern "C".
8350         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
8351         stpncpy as extern "C".
8352         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
8353         program, declare __xpg_strerror_r as extern "C".
8354         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
8355         strndup as extern "C".
8356         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
8357         declare memset and bzero as extern "C".
8358         Reported by Sam Steingold <sds@gnu.org>.
8359
8360 2011-07-12  Jim Meyering  <meyering@redhat.com>
8361
8362         maint.mk: prohibit inclusion of "verify.h" without use
8363         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
8364
8365 2011-07-19  Pádraig Brady  <P@draigBrady.com>
8366
8367         timer-time: A new module to check for timer_settime()
8368         * m4/timer_time.m4: Check for the posix function.
8369         * modules/timer-time: Add the new module.
8370         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
8371         Mention it.
8372
8373 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
8374             Bruno Haible  <bruno@clisp.org>
8375
8376         pthread_sigmask: assume POSIX threads if --avoid=threadlib
8377         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
8378         not defined, assume POSIX threads and look for pthread_sigmask in
8379         $LIBS, without changing $CPPFLAGS.
8380
8381 2011-07-19  Bruno Haible  <bruno@clisp.org>
8382
8383         strstr: Update cross-compilation guess.
8384         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
8385         CPUs, guess no, in view of glibc
8386         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
8387         Suggested by Eric Blake. Reported by Reuben Thomas.
8388
8389 2011-07-19  Pádraig Brady  <P@draigBrady.com>
8390
8391         getopt-gnu: suppress core dumps from detection code
8392         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
8393         to suppress core dumps that may well occur on glibc systems.
8394         * modules/getopt-gnu: Depend on nocrash.
8395
8396 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8397
8398         pthread_sigmask: ensure usleep is declared
8399         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
8400         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
8401
8402 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
8403
8404         doc: Document NonStop portability issues.
8405         * doc/posix-functions/sigaction.texi (sigaction):
8406         * doc/posix-headers/signal.texi (signal.h):
8407         Document NonStop.  See Joachim Schmitz in
8408         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
8409
8410 2011-07-15  Bruno Haible  <bruno@clisp.org>
8411
8412         ffsl, ffsll: Avoid unportable behaviour.
8413         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
8414
8415 2011-07-15  Bruno Haible  <bruno@clisp.org>
8416
8417         ffs: More tests.
8418         * tests/test-ffs.c (NBITS): New macro.
8419         (main): Add more tests.
8420         * tests/test-ffsl.c (NBITS): New macro.
8421         (main): Add more tests.
8422         * tests/test-ffsll.c (NBITS): New macro.
8423         (main): Add more tests.
8424
8425 2011-07-15  Eric Blake  <eblake@redhat.com>
8426
8427         ffsl, ffsll: new modules
8428         * modules/ffsl: New file.
8429         * modules/ffsll: Likewise.
8430         * m4/ffsl.m4: Likewise.
8431         * m4/ffsll.m4: Likewise.
8432         * lib/ffsl.c: Likewise.
8433         * lib/ffsl.h: Likewise.
8434         * lib/ffsll.c: Likewise.
8435         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
8436         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
8437         * modules/string (Makefile.am): Substitute witnesses.
8438         * lib/strings.in.h (ffsl, ffsll): Declare.
8439         * modules/ffsl-tests: New test file.
8440         * modules/ffsll-tests: Likewise.
8441         * tests/test-ffsl.c: Likewise.
8442         * tests/test-ffsll.c: Likewise.
8443         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8444         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
8445         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
8446
8447         ffs: fix m4 prerequisite
8448         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
8449
8450         ffs: avoid undefined behavior
8451         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
8452         * tests/test-ffs.c (naive, main): Avoid signed shifts.
8453         Reported by Bruno Haible.
8454
8455 2011-07-12  Bruno Haible  <bruno@clisp.org>
8456
8457         pthread_sigmask: Rely on module 'threadlib'.
8458         * modules/pthread_sigmask (Depends-on): Add threadlib.
8459         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
8460         is defined.
8461
8462 2011-07-12  Bruno Haible  <bruno@clisp.org>
8463
8464         regex: Depend on module 'strcase'.
8465         * modules/regex (Depends-on): Add strcase, for strcasecmp().
8466
8467 2011-07-12  Jim Meyering  <meyering@redhat.com>
8468
8469         warn-on-use: fix typo in file name
8470         * modules/snippet/warn-on-use (Files): Correct file name:
8471         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
8472
8473 2011-07-12  Bruno Haible  <bruno@clisp.org>
8474
8475         strings: Document module.
8476         * doc/posix-headers/strings.texi: Mention module 'strings'.
8477
8478 2011-07-12  Bruno Haible  <bruno@clisp.org>
8479
8480         Rename module '_Noreturn' to 'snippet/_Noreturn'.
8481         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
8482         (Files, Makefile.am): Update.
8483         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
8484         * modules/stdlib (Depends-on): Update.
8485
8486 2011-07-12  Bruno Haible  <bruno@clisp.org>
8487
8488         * NEWS: Mention the changes.
8489
8490         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
8491         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
8492         (Files, Makefile.am): Update.
8493         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
8494         * modules/arpa_inet (Depends-on): Update.
8495         * modules/ctype (Depends-on): Update.
8496         * modules/dirent (Depends-on): Update.
8497         * modules/fcntl-h (Depends-on): Update.
8498         * modules/glob (Depends-on): Update.
8499         * modules/iconv-h (Depends-on): Update.
8500         * modules/inttypes-incomplete (Depends-on): Update.
8501         * modules/langinfo (Depends-on): Update.
8502         * modules/locale (Depends-on): Update.
8503         * modules/math (Depends-on): Update.
8504         * modules/netdb (Depends-on): Update.
8505         * modules/poll-h (Depends-on): Update.
8506         * modules/pty (Depends-on): Update.
8507         * modules/search (Depends-on): Update.
8508         * modules/signal (Depends-on): Update.
8509         * modules/spawn (Depends-on): Update.
8510         * modules/stdio (Depends-on): Update.
8511         * modules/stdlib (Depends-on): Update.
8512         * modules/string (Depends-on): Update.
8513         * modules/strings (Depends-on): Update.
8514         * modules/sys_file (Depends-on): Update.
8515         * modules/sys_ioctl (Depends-on): Update.
8516         * modules/sys_select (Depends-on): Update.
8517         * modules/sys_socket (Depends-on): Update.
8518         * modules/sys_stat (Depends-on): Update.
8519         * modules/sys_time (Depends-on): Update.
8520         * modules/sys_times (Depends-on): Update.
8521         * modules/sys_utsname (Depends-on): Update.
8522         * modules/sys_wait (Depends-on): Update.
8523         * modules/termios (Depends-on): Update.
8524         * modules/time (Depends-on): Update.
8525         * modules/unistd (Depends-on): Update.
8526         * modules/wchar (Depends-on): Update.
8527         * modules/wctype-h (Depends-on): Update.
8528         * MODULES.html.sh (Support for building libraries and executables):
8529         Update.
8530
8531         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
8532         * modules/snippet/unused-parameter: Renamed from
8533         modules/unused-parameter.
8534         (Files, Makefile.am): Update.
8535         * build-aux/snippet/unused-parameter.h: Renamed from
8536         build-aux/unused-parameter.h.
8537         * modules/selinux-h (Depends-on): Update.
8538         * modules/unistr/base (Depends-on): Update.
8539         * MODULES.html.sh (Core language properties): Update.
8540
8541         Rename module 'link-warning' to 'snippet/link-warning'.
8542         * modules/snippet/link-warning: Renamed from modules/link-warning.
8543         (Files, Makefile.am): Update.
8544         * build-aux/snippet/link-warning.h: Renamed from
8545         build-aux/link-warning.h.
8546         * MODULES.html.sh (Support for building libraries and executables):
8547         Update.
8548
8549         Rename module 'c++defs' to 'snippet/c++defs'.
8550         * modules/snippet/c++defs: Renamed from modules/c++defs.
8551         (Files, Makefile.am): Update.
8552         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
8553         * modules/arpa_inet (Depends-on): Update.
8554         * modules/ctype (Depends-on): Update.
8555         * modules/dirent (Depends-on): Update.
8556         * modules/fcntl-h (Depends-on): Update.
8557         * modules/glob (Depends-on): Update.
8558         * modules/iconv-h (Depends-on): Update.
8559         * modules/langinfo (Depends-on): Update.
8560         * modules/locale (Depends-on): Update.
8561         * modules/math (Depends-on): Update.
8562         * modules/netdb (Depends-on): Update.
8563         * modules/poll-h (Depends-on): Update.
8564         * modules/pty (Depends-on): Update.
8565         * modules/search (Depends-on): Update.
8566         * modules/signal (Depends-on): Update.
8567         * modules/spawn (Depends-on): Update.
8568         * modules/stdio (Depends-on): Update.
8569         * modules/stdlib (Depends-on): Update.
8570         * modules/string (Depends-on): Update.
8571         * modules/strings (Depends-on): Update.
8572         * modules/sys_ioctl (Depends-on): Update.
8573         * modules/sys_select (Depends-on): Update.
8574         * modules/sys_socket (Depends-on): Update.
8575         * modules/sys_stat (Depends-on): Update.
8576         * modules/sys_time (Depends-on): Update.
8577         * modules/sys_wait (Depends-on): Update.
8578         * modules/termios (Depends-on): Update.
8579         * modules/time (Depends-on): Update.
8580         * modules/unistd (Depends-on): Update.
8581         * modules/wchar (Depends-on): Update.
8582         * modules/wctype-h (Depends-on): Update.
8583
8584         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
8585         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
8586         (Files, Makefile.am): Update.
8587         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
8588         * modules/argv-iter (Depends-on): Update.
8589         * modules/arpa_inet (Depends-on): Update.
8590         * modules/dirent (Depends-on): Update.
8591         * modules/fcntl-h (Depends-on): Update.
8592         * modules/fnmatch (Depends-on): Update.
8593         * modules/getopt-posix (Depends-on): Update.
8594         * modules/glob (Depends-on): Update.
8595         * modules/iconv-h (Depends-on): Update.
8596         * modules/inttypes-incomplete (Depends-on): Update.
8597         * modules/locale (Depends-on): Update.
8598         * modules/math (Depends-on): Update.
8599         * modules/netdb (Depends-on): Update.
8600         * modules/search (Depends-on): Update.
8601         * modules/signal (Depends-on): Update.
8602         * modules/spawn (Depends-on): Update.
8603         * modules/stdio (Depends-on): Update.
8604         * modules/stdlib (Depends-on): Update.
8605         * modules/string (Depends-on): Update.
8606         * modules/strings (Depends-on): Update.
8607         * modules/sys_socket (Depends-on): Update.
8608         * modules/sys_stat (Depends-on): Update.
8609         * modules/sys_time (Depends-on): Update.
8610         * modules/sys_times (Depends-on): Update.
8611         * modules/sys_utsname (Depends-on): Update.
8612         * modules/time (Depends-on): Update.
8613         * modules/unistd (Depends-on): Update.
8614         * modules/wchar (Depends-on): Update.
8615         * MODULES.html.sh (Support for building libraries and executables):
8616         Update.
8617
8618 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
8619
8620         Improvements on _Noreturn and related modules.
8621
8622         modules/_Exit-tests: test _Noreturn too
8623         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
8624         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
8625         (main): Use them.
8626
8627         stdnoreturn, stdnoreturn-tests: remove modules
8628         They're not needed here and a bit premature for use elsewhere.  See
8629         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
8630         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8631         * tests/test-stdnoreturn.c: Remove files.
8632         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
8633         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
8634         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
8635         and using noreturn.
8636         * modules/openat, modules/sigpipe-die, modules/xalloc:
8637         * modules/xmemdup0, modules/xstrtol:
8638         Remove dependency on stdnoreturn.
8639
8640         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
8641         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
8642         Reparenthesize to avoid GCC warning.
8643         Support Microsoft's syntax.
8644         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
8645
8646         _Noreturn-tests: remove module
8647         * modules/_Noreturn-tests: Remove.
8648         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
8649         * tests/test-_Noreturn.c: Remove.
8650         * tests/test-stdnoreturn.c: Merge from the old
8651         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
8652
8653 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
8654
8655         _Noreturn, stdnoreturn, and related modules.
8656
8657         * top/maint.mk: Adjust to new noreturn support.
8658         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
8659         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
8660
8661         xalloc: use stdnoreturn.h
8662         * lib/xalloc.h: Include <stdnoreturn.h>.
8663         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8664         * modules/xalloc (Depends-on): Add stdnoreturn.
8665
8666         xstrtol: use stdnoreturn.h
8667         * lib/xstrtol.h: Include <stdnoreturn.h>.
8668         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8669         * modules/xstrtol (Depends-on): Add stdnoreturn.
8670
8671         xmemdup0: use stdnoreturn.h
8672         * lib/xmemdup0.h: Include <stdnoreturn.h>.
8673         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8674         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
8675
8676         sigpipe-die: use stdnoreturn.h
8677         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
8678         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8679         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
8680
8681         openat: use stdnoreturn.h
8682         * lib/openat.h: Include <stdnoreturn.h>.
8683         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8684         * modules/openat (Depends-on): Add stdnoreturn.
8685
8686         * lib/openat-die.c (openat_save_fail): Modernize comment.
8687
8688         * lib/xalloc-die.c (xalloc_die): Modernize comment.
8689
8690         * lib/glthread/thread.h: Modernize comment.
8691
8692         obstack: use _Noreturn
8693         * lib/obstack.c (__attribute__): Remove macro.
8694         (print_and_abort): Use _Noreturn.
8695
8696         c-stack: use _Noreturn
8697         * lib/c-stack.c (die, overflow_handler, segv_handler):
8698         Use _Noreturn rather than __attribute__((noreturn)).
8699
8700         argmatch-tests, exclude_tests: use _Noreturn
8701         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
8702         Remove.
8703         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
8704
8705         stdlib: use _Noreturn
8706         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
8707         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
8708         * modules/stdlib (Depends-on): Add _Noreturn.
8709         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
8710
8711         stdnoreturn-tests: new module
8712         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
8713
8714         stdnoreturn: new module
8715         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
8716         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
8717
8718         _Noreturn-tests: new module
8719         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
8720
8721         _Noreturn: new module
8722         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
8723         New section, mentioning it.
8724         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
8725
8726         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
8727
8728 2011-07-11  Eric Blake  <eblake@redhat.com>
8729
8730         ffs: new module
8731         * modules/ffs: New file.
8732         * m4/ffs.m4: Likewise.
8733         * lib/ffs.c: Likewise.
8734         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
8735         * modules/strings (Makefile.am): Substitute witness.
8736         (Depends-on): Add c++defs.
8737         * lib/strings.in.h (ffs): Declare.
8738         * modules/ffs-tests: New test file.
8739         * tests/test-ffs.c: Test new module.
8740         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8741         * doc/posix-functions/ffs.texi (ffs): Likewise.
8742
8743         regex: avoid compiler warning
8744         * lib/regex.c (includes): Include <strings.h>, for use of
8745         strcasecmp in regcomp.c.
8746         Reported by Joachim Schmitz.
8747
8748 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8749
8750         stdint: respect system's intmax_t if INTMAX_MAX
8751         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
8752         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
8753         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
8754         long but int64_t is long long, and where we will clash with the
8755         system intmax_t if we override it.  See
8756         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
8757         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
8758         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
8759         similarly for UINTMAX_C.
8760
8761 2011-07-08  Bruno Haible  <bruno@clisp.org>
8762
8763         pthread_sigmask tests: Avoid a compiler warning.
8764         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
8765         non-zero.
8766
8767         sigprocmask tests: A better way to avoid a compiler warning.
8768         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
8769         (main): Complain if system() returns non-zero.
8770         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
8771
8772 2011-07-08  Bruno Haible  <bruno@clisp.org>
8773
8774         pthread_sigmask: Work around IRIX bug.
8775         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
8776         bug.
8777         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
8778         there may be unblocked pending signals.
8779         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
8780
8781 2011-07-08  Bruno Haible  <bruno@clisp.org>
8782
8783         pthread_sigmask: Work around Cygwin bug.
8784         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
8785         bug.
8786         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
8787         the system's pthread_sigmask function.
8788         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
8789
8790 2011-07-08  Bruno Haible  <bruno@clisp.org>
8791
8792         pthread_sigmask: Work around bug in single-threaded implementation.
8793         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
8794         FreeBSD, HP-UX, Solaris bug.
8795         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
8796         * lib/pthread_sigmask.c: Include <stddef.h>.
8797         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
8798         the system's pthread_sigmask function.
8799         * modules/pthread_sigmask (configure.ac): Invoke
8800         gl_PREREQ_PTHREAD_SIGMASK.
8801         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
8802         HP-UX, Solaris.
8803
8804 2011-07-08  Eric Blake  <eblake@redhat.com>
8805
8806         test-sigprocmask: avoid compiler warning
8807         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
8808         * tests/test-sigprocmask.c (main): Use it to silence warning.
8809         Reported by Jim Meyering.
8810
8811         test-snprintf: avoid compiler warning
8812         * tests/test-snprintf.c (main): Avoid shadowed declaration.
8813         * tests/test-vsnprintf.c (main): Likewise.
8814         Reported by Jim Meyering.
8815
8816 2011-07-08  Bruno Haible  <bruno@clisp.org>
8817
8818         Tests for module 'pthread_sigmask'.
8819         * modules/pthread_sigmask-tests: New file.
8820         * tests/test-pthread_sigmask1.c: New file, based on
8821         tests/test-sigprocmask.c.
8822         * tests/test-pthread_sigmask2.c: New file.
8823
8824 2011-07-08  Jim Meyering  <meyering@redhat.com>
8825
8826         test-getopt.h: avoid warning about an unused variable
8827         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
8828
8829 2011-07-07  Jim Meyering  <meyering@redhat.com>
8830
8831         maint: reduce list of files exempt from sc_prohibit_leading_TABs
8832         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
8833         now that it no longer contains leading TABs.
8834         Remove unused "url=FIXME" statement.
8835
8836 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8837
8838         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
8839         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8840         When gl_THREADLIB is not in use, assume that the POSIX sematics
8841         are desired.  This is better for Emacs, which uses POSIX semantics
8842         on GNUish and/or POSIXish platforms, and does not use threads at
8843         all otherwise.
8844
8845         pthread_sigmask: fix typo when testing for libraries
8846         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8847         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
8848
8849 2011-07-08  Eric Blake  <eblake@redhat.com>
8850
8851         fts: introduce FTS_NOATIME
8852         * lib/fts_.h (FTS_NOATIME): New bit flag.
8853         (FTS_OPTIONMASK): Adjust.
8854         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
8855         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
8856
8857 2011-07-08  Bruno Haible  <bruno@clisp.org>
8858
8859         Tests for module 'thread'.
8860         * modules/thread-tests: New file.
8861         * tests/test-thread_self.c: New file.
8862         * tests/test-thread_create.cc: New file.
8863
8864 2011-07-08  Bruno Haible  <bruno@clisp.org>
8865
8866         thread: Avoid gcc warnings when using gl_thread_self().
8867         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
8868         'void *'.
8869         (gl_thread_self_pointer): Update.
8870
8871 2011-07-07  Bruno Haible  <bruno@clisp.org>
8872
8873         signal-c++-tests: Check declaration of pthread_sigmask.
8874         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
8875         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
8876         $(LIB_PTHREAD_SIGMASK).
8877
8878 2011-07-07  Bruno Haible  <bruno@clisp.org>
8879
8880         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
8881         * lib/signal.in.h (pthread_sigmask): Override if
8882         REPLACE_PTHREAD_SIGMASK is 1.
8883         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8884         REPLACE_PTHREAD_SIGMASK.
8885         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
8886         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
8887         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
8888         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8889         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
8890
8891 2011-07-07  Bruno Haible  <bruno@clisp.org>
8892
8893         pthread_sigmask: Ensure declaration in <signal.h>.
8894         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
8895         include <pthread.h>.
8896         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
8897         problem.
8898
8899 2011-07-07  Bruno Haible  <bruno@clisp.org>
8900
8901         pthread_sigmask: Document the module.
8902         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
8903
8904 2011-07-07  Bruno Haible  <bruno@clisp.org>
8905
8906         pthread_sigmask: Follow gnulib conventions.
8907         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
8908         gl_PTHREAD_SIGMASK.
8909         * modules/pthread_sigmask (configure.ac): Update.
8910
8911 2011-07-07  Bruno Haible  <bruno@clisp.org>
8912
8913         pthread_sigmask: Make declaration C++ safe.
8914         * lib/signal.in.h: In two special conditions, just do an #include_next.
8915         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8916         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
8917         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8918         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8919         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
8920         not REPLACE_PTHREAD_MASK.
8921         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
8922         not REPLACE_PTHREAD_MASK.
8923         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8924
8925 2011-07-07  Bruno Haible  <bruno@clisp.org>
8926
8927         pthread_sigmask: Fix return value.
8928         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
8929         * lib/pthread_sigmask.c: New file.
8930         * modules/pthread_sigmask (Files): Add it.
8931         (configure.ac): Invoke AC_LIBOBJ.
8932
8933 2011-07-07  Eric Blake  <eblake@redhat.com>
8934
8935         getopt: more portable argv creation
8936         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
8937         const, use char arrays rather than strings.
8938         Suggested by Paul Eggert.
8939
8940 2011-07-07  Bruno Haible  <bruno@clisp.org>
8941
8942         Tests for module 'sigprocmask'.
8943         * modules/sigprocmask-tests: New file.
8944         * tests/test-sigprocmask.c: New file.
8945
8946 2011-07-07  Bruno Haible  <bruno@clisp.org>
8947
8948         float tests: Tweak.
8949         * tests/test-float.c (main): Tweak skip message.
8950
8951 2011-07-07  Eric Blake  <eblake@redhat.com>
8952
8953         getopt: avoid compiler warning during configure
8954         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
8955         assigning string literals to non-const pointer.
8956
8957         getopt-gnu: avoid crash in glibc getopt
8958         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
8959         * tests/test-getopt.h (test_getopt): Enhance test.
8960         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8961         * doc/posix-functions/getopt.texi (getopt): Document it.
8962         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
8963         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8964         Likewise.
8965
8966 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
8967
8968         getopt: handle W; without long options in getopt [BZ #12922]
8969         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
8970         but no long options are defined, just return 'W'.
8971
8972 2011-07-07  Bruno Haible  <bruno@clisp.org>
8973
8974         Avoid literal tabs.
8975         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
8976         variable containing a tab instead of a literal tab.
8977         Reported by Jim Meyering.
8978
8979 2011-07-07  Bruno Haible  <bruno@clisp.org>
8980
8981         Comments.
8982         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
8983
8984 2011-07-06  Bruno Haible  <bruno@clisp.org>
8985
8986         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
8987         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
8988         <winsock2.h>.
8989         (rpl_fd_isset, FD_ISSET): New definitions, copied from
8990         lib/sys_socket.in.h.
8991         (close, gethostname): Hide declarations from <winsock2.h>.
8992         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
8993         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
8994         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
8995         (select): Don't override if gnulib's <sys/select.h> was already
8996         included.
8997         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
8998         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
8999         setsockopt, shutdown, select): Tweak indentation.
9000
9001 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9002
9003         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
9004         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
9005         in an application that does not use the sys_select module.
9006
9007 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
9008
9009         poll: do not return 0 on timeout=-1
9010         * lib/poll.c: Loop with yield if no events occured
9011
9012 2011-07-06  Eric Blake  <eblake@redhat.com>
9013
9014         pthread_sigmask: always replace when not using pthread
9015         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
9016         replacement when using some threading other than pthread.  Fix
9017         logic bug.
9018
9019 2011-07-06  Bruno Haible  <bruno@clisp.org>
9020
9021         Comments.
9022         * m4/printf.m4: Update comments about mingw.
9023
9024 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9025
9026         sys_select: define sigset_t more portably
9027         * lib/sys_select.in.h: Always include <sys/types.h>, since
9028         we now need sigset_t and mingw defines it there.
9029         Include <signal.h> before split inclusion guard, to avoid
9030         mishaps on Solaris, whose <signal.h> eventually includes us.
9031         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
9032         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
9033         which come from ...
9034         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
9035         gl_CHECK_TYPE_SIGSET_T.
9036         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
9037         does the real work.
9038         * modules/sys_select (Depends-on): Add 'signal'.
9039
9040         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
9041         Suggested by Bruno Haible.
9042
9043         pselect: Use pthread_sigmask, not sigprocmask.
9044         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
9045         multithreaded apps better than sigprocmask does.
9046         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
9047         sigprocmask directly.
9048
9049 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
9050
9051         * lib/pselect.c (pselect): Use plain name, without "rpl_".
9052         Don't #undef,  since we don't need any underlying pselect.
9053         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
9054         (Depends-on): Add select.
9055         (Link): Add $(LIBSOCKET).
9056         These changes suggested by Bruno Haible.
9057
9058         pselect: document better
9059         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
9060         * doc/posix-functions/pselect.texi (pselect): Document new module.
9061
9062         pthread_sigmask: new module
9063         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
9064         * doc/posix-functions/pthread_sigmask.texi: Document new module.
9065         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
9066         This is done only as a macro; I don't know how well that'll
9067         work for C++.  Move <sys/types.h> include before the include_next,
9068         to avoid mishap on Solaris.
9069         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
9070         * modules/signal (Makefile.am): Substitute the check's results.
9071         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
9072
9073         test-pselect: new module
9074         * modules/pselect-tests, tests/test-pselect.c: New files.
9075         * tests/test-select.c, tests/test-sys_select-c++.cc:
9076         If TEST_PSELECT is defined, test pselect instead of testing select.
9077
9078         * tests/test-sys_select.c (sigset_t): Test for it, too.
9079         Suggested by Bruno Haible.
9080
9081 2011-07-05  Eric Blake  <eblake@redhat.com>
9082
9083         snprintf: guarantee %1$d, for libintl
9084         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
9085         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
9086         * doc/posix-functions/snprintf.texi (snprintf): Update.
9087         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
9088         * tests/test-snprintf.c (main): Enhance test.
9089         * tests/test-vsnprintf.c (main): Likewise.
9090
9091 2011-07-05  Jim Meyering  <meyering@redhat.com>
9092
9093         maint: exempt stdio-read.c and stdio-write.c from the cppi check
9094         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
9095         per Bruno's request, to accommodate this idiom (no space after "#")
9096         even when the function is inside an #if block:
9097         char *
9098         gets (char *s)
9099         #undef gets
9100         {
9101           ...
9102         }
9103
9104 2011-07-04  Jim Meyering  <meyering@redhat.com>
9105
9106         maint: indent with spaces, not TABs, and add a rule to check this
9107         * tests/test-userspec.c: Indent with spaces, not TABs.
9108         * tests/test-argp.c: Likewise.
9109         * tests/test-c-stack2.sh: Likewise.
9110         * tests/test-parse-duration.sh: Likewise
9111         * m4/strtod.m4: Likewise.
9112         * m4/alloca.m4: Likewise.
9113         * m4/pselect.m4: Likewise.
9114         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
9115
9116 2011-07-03  Jim Meyering  <meyering@redhat.com>
9117
9118         maint.mk: correct omissions in prohibit_argmatch_without_use check
9119         This rule would mistakenly report that argmatch.h is included without
9120         use even when both the argmatch and invalid_arg macro were used.
9121         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
9122         of argmatch and invalid_arg.
9123
9124 2011-07-03  Bruno Haible  <bruno@clisp.org>
9125
9126         Comments about EINTR.
9127         * lib/safe-read.h: Explain the purpose of this module.
9128         * lib/safe-write.h: Likewise.
9129         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
9130         module.
9131         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
9132         module.
9133         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9134
9135 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
9136
9137         xnanosleep: Rewrite to use new dtotimespec module.
9138         It has the conversion code that used to be in xnanosleep.
9139         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
9140         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
9141         (TIME_T_MAX): Remove.
9142         (xnanosleep): Rewrite in terms of dtotimespec.
9143         * modules/xnanosleep (Depends-on): Add dtotimespec.
9144         Remove intprops, stdbool.
9145
9146         timespec-add, timespec-sub: new modules
9147         * lib/timespec.h (timespec_add, timespec_sub): New decls.
9148         * lib/timespec-add.c, lib/timespec-sub.c:
9149         * modules/timespec-add, modules/timespec-sub: New files.
9150
9151         dtotimespec: new module
9152         * lib/timespec.h (dtotimespec): New decl.
9153         * lib/dtotimespec.c, modules/dtotimespec: New files.
9154
9155         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
9156
9157         pselect: new module
9158         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
9159         (pselect): New decls.
9160         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
9161         since the standard pselect decl uses 'restrict'.
9162         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
9163         HAVE_PSELECT, REPLACE_PSELECT.
9164         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
9165         HAVE_PSELECT, REPLACE_PSELECT.
9166         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
9167
9168         sys_select: don't depend on sys_socket
9169         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
9170         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
9171         This fix works on GNU and GNU-like platforms, but has not been tested
9172         on native Windows.
9173         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
9174         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
9175         gl_HEADER_SYS_SOCKET.
9176         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
9177         gl_PREREQ_SYS_H_WINSOCK2.
9178
9179 2011-06-29  Eric Blake  <eblake@redhat.com>
9180
9181         pipe2: fix C89 compile problem
9182         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
9183         Reported by Bruno Haible.
9184
9185         pipe, pipe2: don't corrupt fd on error
9186         * lib/pipe.c (pipe): Leave fd unchanged on error.
9187         * lib/pipe2.c (pipe2): Likewise.
9188         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
9189         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
9190
9191 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
9192
9193         mmap-anon: do not use regular expressions inadvertently
9194         * m4/mmap-anon.m4: Remove trailing period from strings sought
9195         in the output.
9196
9197 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
9198
9199         nanosleep: fix integer overflow problem
9200         * lib/nanosleep.c (my_usleep): Don't assume signed integer
9201         arithmetic wraps around on overflow.
9202
9203         nanosleep: simplify carrying
9204         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
9205         first call to the underyling nanosleep, not for the last one.
9206         This doesn't fix any bugs, but it simplifies the computation of
9207         the remaining delay.  Found while auditing integer overflow issues.
9208
9209         dup2: remove test for existence of fcntl
9210         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
9211         "#if HAVE_FCNTL", in the configure-time test program.
9212         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
9213         and therefore speeds up "configure" a bit.  Found while
9214         adding the dup2 module to Emacs.
9215
9216 2011-06-24  Eric Blake  <eblake@redhat.com>
9217
9218         maint.mk: enhance useless header checks
9219         * top/maint.mk (_sc_header_without_use): Check both include
9220         styles.
9221         (sc_prohibit_assert_without_use)
9222         (sc_prohibit_close_stream_without_use)
9223         (sc_prohibit_getopt_without_use)
9224         (sc_prohibit_quotearg_without_use)
9225         (sc_prohibit_quote_without_use)
9226         (sc_prohibit_long_options_without_use)
9227         (sc_prohibit_inttostr_without_use)
9228         (sc_prohibit_ignore_value_without_use)
9229         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
9230         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
9231         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
9232         (sc_prohibit_hash_pjw_without_use)
9233         (sc_prohibit_safe_read_without_use)
9234         (sc_prohibit_argmatch_without_use)
9235         (sc_prohibit_canonicalize_without_use)
9236         (sc_prohibit_root_dev_ino_without_use)
9237         (sc_prohibit_openat_without_use)
9238         (sc_prohibit_c_ctype_without_use)
9239         (sc_prohibit_signal_without_use)
9240         (sc_prohibit_stdio--_without_use)
9241         (sc_prohibit_stdio-safer_without_use)
9242         (sc_prohibit_strings_without_use)
9243         (sc_prohibit_intprops_without_use)
9244         (sc_prohibit_stddef_without_use)
9245         (sc_prohibit_xfreopen_without_use): Update clients.
9246
9247 2011-06-24  Jim Meyering  <meyering@redhat.com>
9248
9249         syntax-check: keep one maint.mk rule in sync with its header
9250         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
9251         of the bug Eric has just fixed, with today's commit 25e4c2ec.
9252         I prefer to avoid temporary files here, so use <(...), but that
9253         is not supported by /bin/sh, so...
9254         (SHELL): Define to /bin/bash.
9255
9256 2011-06-24  Eric Blake  <eblake@redhat.com>
9257
9258         maint.mk: update sc_prohibit_intprops_without_use
9259         * top/maint.mk (_intprops_names): Match recent changes.
9260
9261 2011-06-24  Bruno Haible  <bruno@clisp.org>
9262
9263         strerror-override: No-op tweak.
9264         * lib/strerror-override.h (strerror_override): Reorder conditions,
9265         for consistency with lib/strerror-override.c.
9266
9267 2011-06-23  Eric Blake  <eblake@redhat.com>
9268
9269         maint.mk: test further PATH_MAX issues
9270         * top/maint.mk (sc_prohibit_path_max_array): Rename...
9271         (sc_prohibit_path_max_allocation): ...and also test alloca.
9272         Suggested by Jim Meyering.
9273
9274 2011-06-22  Eric Blake  <eblake@redhat.com>
9275
9276         maint.mk: add syntax-check to avoid char[PATH_MAX]
9277         * top/maint.mk (sc_prohibit_path_max_array): New rule.
9278
9279         stat: be robust to PATH_MAX definition
9280         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
9281         * modules/stat (Depends-on): Add verify.
9282
9283         link: work around IRIX bug
9284         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
9285         * lib/link.c (rpl_link): Work around it.
9286         * tests/test-link.h (test_link): Enhance test.
9287         * doc/posix-functions/link.texi (link): Document the bug.
9288
9289         getopt: silence clang warning
9290         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
9291         dereference.
9292         Reported by Gustavo Martin Domato.
9293
9294 2011-06-22  Jim Meyering  <meyering@redhat.com>
9295
9296         bootstrap: do not insert a blank line into each .gitignore file
9297         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
9298
9299 2011-06-21  Eric Blake  <eblake@redhat.com>
9300
9301         perror: test for output mismatch
9302         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
9303         perror on IRIX.
9304
9305         strerror_r: fix OpenBSD behavior on out-of-range
9306         * lib/strerror_r.c (strerror_r): Always use maximal string.
9307         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9308
9309         strerror_r: fix OpenBSD behavior on 0
9310         * lib/strerror-override.c (strerror_override): Also override 0
9311         when needed.
9312         * lib/strerror-override.h (strerror_override): Likewise.
9313         * lib/strerror.c (strerror): Simplify, now that 0 override is done
9314         earlier.
9315         * lib/strerror_r.c (strerror_r): Likewise.
9316         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
9317         behavior...
9318         (gl_FUNC_STRERROR_0): ...into new macro.
9319         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
9320         is overridden.
9321         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
9322         * modules/strerror-override (Files): Add strerror.m4.
9323         (configure.ac): Also provide override for 0 when needed.
9324         * doc/posix-functions/strerror.texi (strerror): Document this.
9325         * doc/posix-functions/perror.texi (perror): Likewise.
9326
9327         perror: adjust array size
9328         * modules/perror (Depends-on): Add strerror-override.
9329         * lib/perror.c (perror): Use it to avoid magic number.
9330
9331         strerror-override: reduce size
9332         * lib/strerror-override.c (strerror_override): Use fewer lines.
9333
9334 2011-06-20  Bruno Haible  <bruno@clisp.org>
9335
9336         pathmax: Ensure correct value for PATH_MAX on HP-UX.
9337         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
9338
9339 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
9340
9341         alloca: port to compilers that can optimize like GCC 4.6.0
9342         * lib/alloca.c (find_stack_direction): New signature, taken from
9343         Autoconf git.  This works with GCC 4.6.0.  This code should never
9344         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
9345         be used with other compilers that optimize as well as GCC 4.6.0 does.
9346         (alloca): Adjust to new signature.
9347         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
9348         New macro, which patches Autoconf in a similar way.
9349
9350         c-stack: stop worrying about stack direction
9351         * lib/c-stack.c (find_stack_direction): Remove.
9352         (segv_handler): Don't worry about stack direction growth, as it's
9353         too much of a pain to configure this correctly, given how compilers
9354         are optimizing-away our stack-growth detection code.  Instead, assume
9355         that any access to just before or just after the stack is OK.
9356         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
9357         Don't require AC_FUNC_ALLOCA; no longer needed.
9358
9359 2011-06-20  Eric Blake  <eblake@redhat.com>
9360
9361         test-stat: don't allocate PATH_MAX bytes
9362         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
9363         PATH_MAX-sized buffer.
9364         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
9365         * modules/stat-tests (Depends-on): Likewise.
9366         * tests/test-fstatat.c (includes): Drop pathmax.h.
9367         * tests/test-stat.c (includes): Likewise.
9368         Reported by Bruno Haible.
9369
9370 2011-06-20  Bruno Haible  <bruno@clisp.org>
9371
9372         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
9373         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
9374         * lib/float.c: New file.
9375         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
9376         REPLACE_FLOAT_LDBL.
9377         * modules/float (Files): Add lib/float.c.
9378         (configure.ac): Invoke AC_LIBOBJ.
9379         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
9380
9381 2011-06-20  Bruno Haible  <bruno@clisp.org>
9382
9383         Tests for module 'float'.
9384         * modules/float-tests: New file.
9385         * tests/test-float.c: New file.
9386
9387 2011-06-19  Bruno Haible  <bruno@clisp.org>
9388
9389         isinf: Coding style.
9390         * lib/isinf.c: Use GNU coding style.
9391
9392 2011-06-19  Bruno Haible  <bruno@clisp.org>
9393
9394         linkat test: Avoid test failure on AIX 7.1.
9395         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
9396         * tests/test-link.h (test_link): Likewise.
9397
9398 2011-06-19  Bruno Haible  <bruno@clisp.org>
9399
9400         pread test: Avoid test failure on OpenBSD 4.9.
9401         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
9402
9403 2011-06-19  Bruno Haible  <bruno@clisp.org>
9404
9405         sprintf-posix: Fix test failure on AIX 7.1.
9406         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
9407         * doc/posix-functions/dprintf.texi: Mention limited precision problem
9408         on AIX.
9409         * doc/posix-functions/fprintf.texi: Likewise.
9410         * doc/posix-functions/printf.texi: Likewise.
9411         * doc/posix-functions/snprintf.texi: Likewise.
9412         * doc/posix-functions/sprintf.texi: Likewise.
9413         * doc/posix-functions/vdprintf.texi: Likewise.
9414         * doc/posix-functions/vfprintf.texi: Likewise.
9415         * doc/posix-functions/vprintf.texi: Likewise.
9416         * doc/posix-functions/vsnprintf.texi: Likewise.
9417         * doc/posix-functions/vsprintf.texi: Likewise.
9418
9419 2011-06-19  Bruno Haible  <bruno@clisp.org>
9420
9421         roundl-ieee: Fix test failure on AIX 7.1.
9422         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
9423         * doc/posix-functions/roundl.texi: Mention problem with negative
9424         arguments.
9425
9426 2011-06-19  Bruno Haible  <bruno@clisp.org>
9427
9428         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
9429         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
9430         * doc/posix-functions/round.texi: Mention problem with negative
9431         arguments.
9432         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
9433
9434 2011-06-19  Bruno Haible  <bruno@clisp.org>
9435
9436         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
9437         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
9438         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
9439         * doc/posix-functions/roundf.texi: Mention problem with negative
9440         arguments.
9441         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
9442
9443 2011-06-19  Bruno Haible  <bruno@clisp.org>
9444
9445         ceilf-ieee: Work around bug on MacOS X 10.5.
9446         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
9447
9448         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
9449         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
9450         IEEE compliant, avoid compiler optimizations.
9451         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
9452         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9453         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
9454         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9455         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9456         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9457         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9458         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9459         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9460         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9461
9462 2011-06-19  Bruno Haible  <bruno@clisp.org>
9463
9464         ceilf-ieee: Work around bug on AIX 7.1.
9465         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
9466         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
9467
9468 2011-06-19  Bruno Haible  <bruno@clisp.org>
9469
9470         ceil-ieee: Work around bug on AIX 7.1.
9471         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
9472         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
9473
9474 2011-06-18  Bruno Haible  <bruno@clisp.org>
9475
9476         fsync test: Avoid test failure on MacOS X and AIX.
9477         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
9478         EINVAL.
9479
9480 2011-06-18  Bruno Haible  <bruno@clisp.org>
9481
9482         openat, fdopendir tests: Fix link errors.
9483         * modules/openat-tests (Depends-on): Add progname.
9484         * modules/fdopendir-tests (Depends-on): Likewise.
9485         * tests/test-fchownat.c: Include progname.h.
9486         (main): Call set_program_name.
9487         * tests/test-fstatat.c: Include progname.h.
9488         (main): Call set_program_name.
9489         * tests/test-mkdirat.c: Include progname.h.
9490         (main): Call set_program_name.
9491         * tests/test-openat.c: Include progname.h.
9492         (main): Call set_program_name.
9493         * tests/test-unlinkat.c: Include progname.h.
9494         (main): Call set_program_name.
9495         * tests/test-fdopendir.c: Include progname.h.
9496         (main): Call set_program_name.
9497
9498 2011-06-18  Bruno Haible  <bruno@clisp.org>
9499
9500         Doc update.
9501         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
9502         HP-UX.
9503         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
9504
9505 2011-06-18  Bruno Haible  <bruno@clisp.org>
9506
9507         getcwd tests: Avoid compilation error on HP-UX 11.31.
9508         * modules/getcwd-tests (Depends-on): Add pathmax.
9509         * tests/test-getcwd.c: Include pathmax.h.
9510
9511 2011-06-18  Bruno Haible  <bruno@clisp.org>
9512
9513         isfinite, isinf: Fix link error on AIX 6 and 7.
9514         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
9515         needed, also test the macro with a 'float' argument.
9516         * m4/isinf.m4 (gl_ISINF): Likewise.
9517
9518 2011-06-18  Bruno Haible  <bruno@clisp.org>
9519
9520         getloadavg: Don't clobber LIBS. Regression from previous commit.
9521         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
9522         AC_CHECK_LIB from here...
9523         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
9524         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
9525         gl_func_getloadavg_done.
9526         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9527
9528 2011-06-18  Bruno Haible  <bruno@clisp.org>
9529
9530         clean-temp: Improve documentation.
9531         * lib/clean-temp.h: Explain better how to use this module.
9532         Reported by John Darrington <john@darrington.wattle.id.au>.
9533
9534 2011-06-17  Bruno Haible  <bruno@clisp.org>
9535
9536         pread, pwrite: Avoid cc warning on AIX.
9537         * lib/unistd.in.h (pread): Undefine before defining as a macro.
9538         (pwrite): Likewise.
9539
9540 2011-06-17  Bruno Haible  <bruno@clisp.org>
9541
9542         spawn-pipe tests: Fix link error.
9543         * tests/test-spawn-pipe-child.c: Undefine fprintf.
9544         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9545
9546 2011-06-17  Bruno Haible  <bruno@clisp.org>
9547
9548         Tests: Remove unnecessary dependency.
9549         * modules/canonicalize-tests (Depends-on): Remove progname.
9550         * modules/chown-tests (Depends-on): Likewise.
9551         * modules/dirname-tests (Depends-on): Likewise.
9552         * modules/fdopendir-tests (Depends-on): Likewise.
9553         * modules/fdutimensat-tests (Depends-on): Likewise.
9554         * modules/hash-tests (Depends-on): Likewise.
9555         * modules/lchown-tests (Depends-on): Likewise.
9556         * modules/linkat-tests (Depends-on): Likewise.
9557         * modules/renameat-tests (Depends-on): Likewise.
9558         * modules/spawn-pipe-tests (Depends-on): Likewise.
9559         * modules/utimensat-tests (Depends-on): Likewise.
9560
9561 2011-06-17  Bruno Haible  <bruno@clisp.org>
9562
9563         spawn-pipe tests: Fix link error.
9564         * tests/test-spawn-pipe-child.c: Undefine fflush.
9565
9566 2011-06-17  Bruno Haible  <bruno@clisp.org>
9567
9568         Fix tests link errors.
9569         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
9570         * modules/chown-tests (Makefile.am): Don't link test-chown with
9571         LIBINTL.
9572         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
9573         LIBINTL.
9574         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
9575         LIBINTL.
9576         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
9577         LIBINTL.
9578
9579 2011-06-16  Bruno Haible  <bruno@clisp.org>
9580
9581         crypto/gc-sha1: Fix recent regression.
9582         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
9583         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
9584
9585         crypto/gc-md5: Fix recent regression.
9586         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
9587
9588         crypto/gc-md4: Fix recent regression.
9589         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
9590         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
9591
9592         crypto/gc-arctwo: Fix recent regression.
9593         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
9594         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
9595
9596         crypto/gc-rijndael: Fix recent regression.
9597         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
9598         (configure.ac): Invoke AC_LIBOBJ here.
9599         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
9600         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9601
9602         crypto/gc-hmac-sha1: Fix recent regression.
9603         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
9604         (configure.ac): Invoke AC_LIBOBJ here.
9605         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
9606         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9607
9608         crypto/gc-hmac-md5: Fix recent regression.
9609         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
9610         (configure.ac): Invoke AC_LIBOBJ here.
9611         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
9612         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9613
9614         crypto/gc-des: Fix recent regression.
9615         * modules/crypto/gc-des (Files): Remove m4/des.m4.
9616         (configure.ac): Invoke AC_LIBOBJ here.
9617         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
9618         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9619
9620         crypto/gc-arcfour: Fix recent regression.
9621         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
9622         (configure.ac): Invoke AC_LIBOBJ here.
9623         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
9624         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9625
9626 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
9627
9628         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
9629         After the 2011-05-21 change, this macro requires
9630         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
9631         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
9632
9633 2011-06-16  Bruno Haible  <bruno@clisp.org>
9634
9635         fprintftime: Move AC_LIBOBJ invocations to module description.
9636         * m4/fprintftime.m4: Remove file.
9637         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
9638         (configure.ac): Remove gl_FPRINTFTIME call.
9639         (Makefile.am): Augment lib_SOURCES.
9640         Reported by Jim Meyering.
9641
9642 2011-06-16  Bruno Haible  <bruno@clisp.org>
9643
9644         tmpfile-safer: Finish 2011-05-23 commit.
9645         * m4/stdio-safer.m4: Really remove file.
9646         Reported by Jim Meyering.
9647
9648 2011-06-16  Bruno Haible  <bruno@clisp.org>
9649
9650         syntax-check: Fix typo.
9651         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
9652         printf-posix.m4.
9653         Reported by Jim Meyering.
9654
9655 2011-06-13  Jim Meyering  <meyering@redhat.com>
9656
9657         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
9658         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
9659
9660 2011-05-23  Bruno Haible  <bruno@clisp.org>
9661
9662         yesno: Move AC_LIBOBJ invocations to module description.
9663         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
9664         * modules/yesno (Makefile.am): Augment lib_SOURCES.
9665
9666 2011-05-23  Bruno Haible  <bruno@clisp.org>
9667
9668         xstrtol: Move AC_LIBOBJ invocations to module description.
9669         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
9670         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
9671
9672 2011-05-23  Bruno Haible  <bruno@clisp.org>
9673
9674         xstrtold: Move AC_LIBOBJ invocations to module description.
9675         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
9676         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
9677
9678 2011-05-23  Bruno Haible  <bruno@clisp.org>
9679
9680         xstrtod: Move AC_LIBOBJ invocations to module description.
9681         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
9682         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
9683
9684 2011-05-23  Bruno Haible  <bruno@clisp.org>
9685
9686         xnanosleep: Move AC_LIBOBJ invocations to module description.
9687         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
9688         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
9689
9690 2011-05-23  Bruno Haible  <bruno@clisp.org>
9691
9692         xgetcwd: Move AC_LIBOBJ invocations to module description.
9693         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
9694         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
9695
9696 2011-05-23  Bruno Haible  <bruno@clisp.org>
9697
9698         xalloc: Move AC_LIBOBJ invocations to module description.
9699         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
9700         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
9701
9702 2011-05-23  Bruno Haible  <bruno@clisp.org>
9703
9704         write-any-file: Move AC_LIBOBJ invocations to module description.
9705         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
9706         invocation.
9707         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
9708
9709 2011-05-23  Bruno Haible  <bruno@clisp.org>
9710
9711         utimens: Move AC_LIBOBJ invocations to module description.
9712         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
9713         * modules/utimens (Makefile.am): Augment lib_SOURCES.
9714
9715 2011-05-23  Bruno Haible  <bruno@clisp.org>
9716
9717         utimecmp: Move AC_LIBOBJ invocations to module description.
9718         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
9719         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
9720
9721 2011-05-23  Bruno Haible  <bruno@clisp.org>
9722
9723         userspec: Move AC_LIBOBJ invocations to module description.
9724         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
9725         * modules/userspec (Makefile.am): Augment lib_SOURCES.
9726
9727 2011-05-23  Bruno Haible  <bruno@clisp.org>
9728
9729         unlinkdir: Move AC_LIBOBJ invocations to module description.
9730         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
9731         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
9732
9733 2011-05-23  Bruno Haible  <bruno@clisp.org>
9734
9735         unistd-safer: Move AC_LIBOBJ invocations to module description.
9736         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
9737         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
9738
9739 2011-05-23  Bruno Haible  <bruno@clisp.org>
9740
9741         tempname: Move AC_LIBOBJ invocations to module description.
9742         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
9743         * modules/tempname (Makefile.am): Augment lib_SOURCES.
9744
9745 2011-05-23  Bruno Haible  <bruno@clisp.org>
9746
9747         strftime: Move AC_LIBOBJ invocations to module description.
9748         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
9749         * modules/strftime (Makefile.am): Augment lib_SOURCES.
9750
9751 2011-05-23  Bruno Haible  <bruno@clisp.org>
9752
9753         stdlib-safer: Move AC_LIBOBJ invocations to module description.
9754         * m4/stdlib-safer.m4: Remove file.
9755         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
9756         (configure.ac): Remove gl_STDLIB_SAFER call.
9757         (Makefile.am): Augment lib_SOURCES.
9758
9759 2011-05-23  Bruno Haible  <bruno@clisp.org>
9760
9761         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
9762         * m4/stdio-safer.m4: Remove file.
9763         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
9764         (configure.ac): Remove gl_TMPFILE_SAFER call.
9765         (Makefile.am): Augment lib_SOURCES.
9766
9767 2011-05-23  Bruno Haible  <bruno@clisp.org>
9768
9769         popen-safer: Move AC_LIBOBJ invocations to module description.
9770         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
9771         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
9772         (configure.ac): Remove gl_POPEN_SAFER call.
9773         (Makefile.am): Augment lib_SOURCES.
9774
9775 2011-05-23  Bruno Haible  <bruno@clisp.org>
9776
9777         freopen-safer: Move AC_LIBOBJ invocations to module description.
9778         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
9779         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
9780         (configure.ac): Remove gl_FREOPEN_SAFER call.
9781         (Makefile.am): Augment lib_SOURCES.
9782
9783 2011-05-23  Bruno Haible  <bruno@clisp.org>
9784
9785         fopen-safer: Move AC_LIBOBJ invocations to module description.
9786         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
9787         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
9788         (configure.ac): Remove gl_FOPEN_SAFER call.
9789         (Makefile.am): Augment lib_SOURCES.
9790
9791 2011-05-23  Bruno Haible  <bruno@clisp.org>
9792
9793         crypto/sha512: Move AC_LIBOBJ invocations to module description.
9794         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
9795         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
9796
9797 2011-05-23  Bruno Haible  <bruno@clisp.org>
9798
9799         crypto/sha256: Move AC_LIBOBJ invocations to module description.
9800         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
9801         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
9802
9803 2011-05-23  Bruno Haible  <bruno@clisp.org>
9804
9805         crypto/sha1: Move AC_LIBOBJ invocations to module description.
9806         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
9807         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
9808
9809 2011-05-23  Bruno Haible  <bruno@clisp.org>
9810
9811         settime: Move AC_LIBOBJ invocations to module description.
9812         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
9813         * modules/settime (Makefile.am): Augment lib_SOURCES.
9814
9815 2011-05-23  Bruno Haible  <bruno@clisp.org>
9816
9817         savedir: Move AC_LIBOBJ invocations to module description.
9818         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
9819         * modules/savedir (Makefile.am): Augment lib_SOURCES.
9820
9821 2011-05-23  Bruno Haible  <bruno@clisp.org>
9822
9823         save-cwd: Move AC_LIBOBJ invocations to module description.
9824         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
9825         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
9826
9827 2011-05-23  Bruno Haible  <bruno@clisp.org>
9828
9829         same: Move AC_LIBOBJ invocations to module description.
9830         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
9831         * modules/same (Makefile.am): Augment lib_SOURCES.
9832
9833 2011-05-23  Bruno Haible  <bruno@clisp.org>
9834
9835         safe-write: Move AC_LIBOBJ invocations to module description.
9836         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
9837         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
9838         instead of gl_SAFE_WRITE.
9839         (Makefile.am): Augment lib_SOURCES.
9840
9841 2011-05-23  Bruno Haible  <bruno@clisp.org>
9842
9843         safe-read: Move AC_LIBOBJ invocations to module description.
9844         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
9845         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
9846         of gl_SAFE_READ.
9847         (Makefile.am): Augment lib_SOURCES.
9848
9849 2011-05-23  Bruno Haible  <bruno@clisp.org>
9850
9851         safe-alloc: Move AC_LIBOBJ invocations to module description.
9852         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
9853         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
9854
9855 2011-05-23  Bruno Haible  <bruno@clisp.org>
9856
9857         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
9858         * m4/rijndael.m4: Remove file.
9859         * modules/crypto/rijndael (Files): Remove it.
9860         (configure.ac): Remove gl_RIJNDAEL call.
9861         (Makefile.am): Augment lib_SOURCES.
9862
9863 2011-05-23  Bruno Haible  <bruno@clisp.org>
9864
9865         readtokens: Move AC_LIBOBJ invocations to module description.
9866         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
9867         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
9868
9869 2011-05-23  Bruno Haible  <bruno@clisp.org>
9870
9871         read-file: Move AC_LIBOBJ invocations to module description.
9872         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
9873         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
9874         of gl_FUNC_READ_FILE.
9875         (Makefile.am): Augment lib_SOURCES.
9876
9877 2011-05-23  Bruno Haible  <bruno@clisp.org>
9878
9879         quotearg: Move AC_LIBOBJ invocations to module description.
9880         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
9881         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
9882
9883 2011-05-23  Bruno Haible  <bruno@clisp.org>
9884
9885         quote: Move AC_LIBOBJ invocations to module description.
9886         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
9887         * modules/quote (Makefile.am): Augment lib_SOURCES.
9888
9889 2011-05-23  Bruno Haible  <bruno@clisp.org>
9890
9891         posixver: Move AC_LIBOBJ invocations to module description.
9892         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
9893         * modules/posixver (Makefile.am): Augment lib_SOURCES.
9894
9895 2011-05-23  Bruno Haible  <bruno@clisp.org>
9896
9897         posixtm: Move AC_LIBOBJ invocations to module description.
9898         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
9899         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
9900
9901 2011-05-23  Bruno Haible  <bruno@clisp.org>
9902
9903         physmem: Move AC_LIBOBJ invocations to module description.
9904         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
9905         * modules/physmem (Makefile.am): Augment lib_SOURCES.
9906
9907 2011-05-23  Bruno Haible  <bruno@clisp.org>
9908
9909         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
9910         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
9911         invocation.
9912         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
9913
9914 2011-05-23  Bruno Haible  <bruno@clisp.org>
9915
9916         mpsort: Move AC_LIBOBJ invocations to module description.
9917         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
9918         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
9919
9920 2011-05-23  Bruno Haible  <bruno@clisp.org>
9921
9922         modechange: Move AC_LIBOBJ invocations to module description.
9923         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
9924         * modules/modechange (Makefile.am): Augment lib_SOURCES.
9925
9926 2011-05-23  Bruno Haible  <bruno@clisp.org>
9927
9928         mkdir-p: Move AC_LIBOBJ invocations to module description.
9929         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
9930         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
9931
9932 2011-05-23  Bruno Haible  <bruno@clisp.org>
9933
9934         mkancesdirs: Move AC_LIBOBJ invocations to module description.
9935         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
9936         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
9937
9938 2011-05-23  Bruno Haible  <bruno@clisp.org>
9939
9940         mgetgroups: Move AC_LIBOBJ invocations to module description.
9941         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
9942         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
9943
9944 2011-05-23  Bruno Haible  <bruno@clisp.org>
9945
9946         memxor: Move AC_LIBOBJ invocations to module description.
9947         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
9948         * modules/memxor (Makefile.am): Augment lib_SOURCES.
9949
9950 2011-05-23  Bruno Haible  <bruno@clisp.org>
9951
9952         memcoll: Move AC_LIBOBJ invocations to module description.
9953         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
9954         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
9955
9956 2011-05-23  Bruno Haible  <bruno@clisp.org>
9957
9958         memcasecmp: Move AC_LIBOBJ invocations to module description.
9959         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
9960         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
9961
9962 2011-05-23  Bruno Haible  <bruno@clisp.org>
9963
9964         crypto/md5: Move AC_LIBOBJ invocations to module description.
9965         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
9966         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
9967
9968 2011-05-23  Bruno Haible  <bruno@clisp.org>
9969
9970         crypto/md4: Move AC_LIBOBJ invocations to module description.
9971         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
9972         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
9973
9974 2011-05-23  Bruno Haible  <bruno@clisp.org>
9975
9976         crypto/md2: Move AC_LIBOBJ invocations to module description.
9977         * m4/md2.m4: Remove file.
9978         * modules/crypto/md2 (Files): Remove it.
9979         (configure.ac): Remove gl_MD2 call.
9980         (Makefile.am): Augment lib_SOURCES.
9981
9982 2011-05-23  Bruno Haible  <bruno@clisp.org>
9983
9984         long-options: Move AC_LIBOBJ invocations to module description.
9985         * m4/long-options.m4: Remove file.
9986         * modules/long-options (Files): Remove it.
9987         (configure.ac): Remove gl_LONG_OPTIONS call.
9988         (Makefile.am): Augment lib_SOURCES.
9989
9990 2011-05-23  Bruno Haible  <bruno@clisp.org>
9991
9992         i-ring: Move AC_LIBOBJ invocations to module description.
9993         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
9994         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
9995
9996 2011-05-23  Bruno Haible  <bruno@clisp.org>
9997
9998         idcache: Move AC_LIBOBJ invocations to module description.
9999         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
10000         * modules/idcache (Makefile.am): Augment lib_SOURCES.
10001
10002 2011-05-23  Bruno Haible  <bruno@clisp.org>
10003
10004         human: Move AC_LIBOBJ invocations to module description.
10005         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
10006         * modules/human (Makefile.am): Augment lib_SOURCES.
10007
10008 2011-05-23  Bruno Haible  <bruno@clisp.org>
10009
10010         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
10011         * m4/hmac-sha1.m4: Remove file.
10012         * modules/crypto/hmac-sha1 (Files): Remove it.
10013         (configure.ac): Remove gl_HMAC_SHA1 call.
10014         (Makefile.am): Augment lib_SOURCES.
10015
10016 2011-05-23  Bruno Haible  <bruno@clisp.org>
10017
10018         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
10019         * m4/hmac-md5.m4: Remove file.
10020         * modules/crypto/hmac-md5 (Files): Remove it.
10021         (configure.ac): Remove gl_HMAC_MD5 call.
10022         (Makefile.am): Augment lib_SOURCES.
10023
10024 2011-05-23  Bruno Haible  <bruno@clisp.org>
10025
10026         hash: Move AC_LIBOBJ invocations to module description.
10027         * m4/hash.m4: Remove file.
10028         * modules/hash (Files): Remove it.
10029         (configure.ac): Remove gl_HASH call.
10030         (Makefile.am): Augment lib_SOURCES.
10031
10032 2011-05-23  Bruno Haible  <bruno@clisp.org>
10033
10034         hard-locale: Move AC_LIBOBJ invocations to module description.
10035         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
10036         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
10037
10038 2011-05-23  Bruno Haible  <bruno@clisp.org>
10039
10040         getugroups: Move AC_LIBOBJ invocations to module description.
10041         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
10042         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
10043
10044 2011-05-23  Bruno Haible  <bruno@clisp.org>
10045
10046         gettime: Move AC_LIBOBJ invocations to module description.
10047         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
10048         * modules/gettime (Makefile.am): Augment lib_SOURCES.
10049
10050 2011-05-23  Bruno Haible  <bruno@clisp.org>
10051
10052         getndelim2: Move AC_LIBOBJ invocations to module description.
10053         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
10054         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
10055
10056 2011-05-23  Bruno Haible  <bruno@clisp.org>
10057
10058         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
10059         * m4/gc-pbkdf2-sha1.m4: Remove file.
10060         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
10061         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
10062         (Makefile.am): Augment lib_SOURCES.
10063
10064 2011-05-23  Bruno Haible  <bruno@clisp.org>
10065
10066         fts: Move AC_LIBOBJ invocations to module description.
10067         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
10068         * modules/fts (configure.ac): ... to here.
10069
10070 2011-05-23  Bruno Haible  <bruno@clisp.org>
10071
10072         file-type: Move AC_LIBOBJ invocations to module description.
10073         * m4/file-type.m4: Remove file.
10074         * modules/file-type (Files): Remove it.
10075         (configure.ac): Remove gl_FILE_TYPE call.
10076         (Makefile.am): Augment lib_SOURCES.
10077
10078 2011-05-23  Bruno Haible  <bruno@clisp.org>
10079
10080         filenamecat*: Respect rules for use of AC_LIBOBJ.
10081         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
10082         Remove AC_LIBOBJ invocation.
10083         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
10084         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
10085
10086 2011-05-23  Bruno Haible  <bruno@clisp.org>
10087
10088         filemode: Move AC_LIBOBJ invocations to module description.
10089         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
10090         * modules/filemode (Makefile.am): Augment lib_SOURCES.
10091
10092 2011-05-23  Bruno Haible  <bruno@clisp.org>
10093
10094         openat-safer: Move AC_LIBOBJ invocations to module description.
10095         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
10096         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
10097
10098 2011-05-23  Bruno Haible  <bruno@clisp.org>
10099
10100         fcntl-safer: Move AC_LIBOBJ invocations to module description.
10101         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
10102         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
10103
10104 2011-05-23  Bruno Haible  <bruno@clisp.org>
10105
10106         exclude: Move AC_LIBOBJ invocations to module description.
10107         * m4/exclude.m4: Remove file.
10108         * modules/exclude (Files): Remove it.
10109         (configure.ac): Remove gl_EXCLUDE call.
10110         (Makefile.am): Augment lib_SOURCES.
10111
10112 2011-05-23  Bruno Haible  <bruno@clisp.org>
10113
10114         dirname*: Respect rules for use of AC_LIBOBJ.
10115         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
10116         invocations.
10117         * modules/dirname (Makefile.am): Augment lib_SOURCES.
10118         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
10119
10120 2011-05-23  Bruno Haible  <bruno@clisp.org>
10121
10122         dirent-safer: Move AC_LIBOBJ invocations to module description.
10123         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
10124         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
10125
10126 2011-05-23  Bruno Haible  <bruno@clisp.org>
10127
10128         crypto/des: Move AC_LIBOBJ invocations to module description.
10129         * m4/des.m4: Remove file.
10130         * modules/crypto/des (Files): Remove it.
10131         (configure.ac): Remove gl_DES call.
10132         (Makefile.am): Augment lib_SOURCES.
10133
10134 2011-05-23  Bruno Haible  <bruno@clisp.org>
10135
10136         cycle-check: Move AC_LIBOBJ invocations to module description.
10137         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
10138         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
10139
10140 2011-05-23  Bruno Haible  <bruno@clisp.org>
10141
10142         c-strtold: Move AC_LIBOBJ invocations to module description.
10143         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
10144         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
10145
10146 2011-05-23  Bruno Haible  <bruno@clisp.org>
10147
10148         c-strtod: Move AC_LIBOBJ invocations to module description.
10149         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
10150         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
10151
10152 2011-05-23  Bruno Haible  <bruno@clisp.org>
10153
10154         crc: Move AC_LIBOBJ invocations to module description.
10155         * m4/crc.m4: Remove file.
10156         * modules/crc (Files): Remove it.
10157         (configure.ac): Remove gl_CRC call.
10158         (Makefile.am): Augment lib_SOURCES.
10159
10160 2011-05-23  Bruno Haible  <bruno@clisp.org>
10161
10162         close-stream: Move AC_LIBOBJ invocations to module description.
10163         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
10164         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
10165
10166 2011-05-23  Bruno Haible  <bruno@clisp.org>
10167
10168         closeout: Move AC_LIBOBJ invocations to module description.
10169         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
10170         * modules/closeout (Makefile.am): Augment lib_SOURCES.
10171
10172 2011-05-23  Bruno Haible  <bruno@clisp.org>
10173
10174         closein: Move AC_LIBOBJ invocations to module description.
10175         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
10176         * modules/closein (Makefile.am): Augment lib_SOURCES.
10177
10178 2011-05-23  Bruno Haible  <bruno@clisp.org>
10179
10180         cloexec: Move AC_LIBOBJ invocations to module description.
10181         * m4/cloexec.m4: Remove file.
10182         * modules/cloexec (Files): Remove it.
10183         (configure.ac): Remove gl_CLOEXEC call.
10184         (Makefile.am): Augment lib_SOURCES.
10185
10186 2011-05-23  Bruno Haible  <bruno@clisp.org>
10187
10188         check-version: Move AC_LIBOBJ invocations to module description.
10189         * m4/check-version.m4: Remove file.
10190         * modules/check-version (Files): Remove it.
10191         (configure.ac): Remove gl_CHECK_VERSION call.
10192         (Makefile.am): Augment lib_SOURCES.
10193
10194 2011-05-23  Bruno Haible  <bruno@clisp.org>
10195
10196         chdir-safer: Move AC_LIBOBJ invocations to module description.
10197         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
10198         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
10199
10200 2011-05-23  Bruno Haible  <bruno@clisp.org>
10201
10202         canonicalize: Move AC_LIBOBJ invocations to module description.
10203         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
10204         AC_LIBOBJ invocation.
10205         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
10206
10207 2011-05-23  Bruno Haible  <bruno@clisp.org>
10208
10209         canon-host: Move AC_LIBOBJ invocations to module description.
10210         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
10211         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
10212         instead of gl_CANON_HOST.
10213         (Makefile.am): Augment lib_SOURCES.
10214
10215 2011-05-23  Bruno Haible  <bruno@clisp.org>
10216
10217         backupfile: Move AC_LIBOBJ invocations to module description.
10218         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
10219         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
10220
10221 2011-05-23  Bruno Haible  <bruno@clisp.org>
10222
10223         argmatch: Move AC_LIBOBJ invocations to module description.
10224         * m4/argmatch.m4: Remove file.
10225         * modules/argmatch (Files): Remove it.
10226         (configure.ac): Remove gl_ARGMATCH call.
10227         (Makefile.am): Augment lib_SOURCES.
10228
10229 2011-05-23  Bruno Haible  <bruno@clisp.org>
10230
10231         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
10232         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
10233         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
10234
10235 2011-05-23  Bruno Haible  <bruno@clisp.org>
10236
10237         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
10238         * m4/arcfour.m4: Remove file.
10239         * modules/crypto/arcfour (Files): Remove it.
10240         (configure.ac): Remove gl_ARCFOUR call.
10241         (Makefile.am): Augment lib_SOURCES.
10242
10243 2011-05-22  Bruno Haible  <bruno@clisp.org>
10244
10245         write: Move AC_LIBOBJ invocations to module description.
10246         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
10247         * modules/write (configure.ac): ... to here.
10248
10249 2011-05-22  Bruno Haible  <bruno@clisp.org>
10250
10251         wmemset: Move AC_LIBOBJ invocations to module description.
10252         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
10253         here...
10254         * modules/wmemset (configure.ac): ... to here.
10255
10256 2011-05-22  Bruno Haible  <bruno@clisp.org>
10257
10258         wmemmove: Move AC_LIBOBJ invocations to module description.
10259         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
10260         here...
10261         * modules/wmemmove (configure.ac): ... to here.
10262
10263 2011-05-22  Bruno Haible  <bruno@clisp.org>
10264
10265         wmemcpy: Move AC_LIBOBJ invocations to module description.
10266         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
10267         here...
10268         * modules/wmemcpy (configure.ac): ... to here.
10269
10270 2011-05-22  Bruno Haible  <bruno@clisp.org>
10271
10272         wmemcmp: Move AC_LIBOBJ invocations to module description.
10273         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
10274         here...
10275         * modules/wmemcmp (configure.ac): ... to here.
10276
10277 2011-05-22  Bruno Haible  <bruno@clisp.org>
10278
10279         wmemchr: Move AC_LIBOBJ invocations to module description.
10280         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
10281         here...
10282         * modules/wmemchr (configure.ac): ... to here.
10283
10284 2011-05-22  Bruno Haible  <bruno@clisp.org>
10285
10286         wcswidth: Move AC_LIBOBJ invocations to module description.
10287         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
10288         here...
10289         * modules/wcswidth (configure.ac): ... to here.
10290
10291 2011-05-22  Bruno Haible  <bruno@clisp.org>
10292
10293         wcwidth: Respect rules for use of AC_LIBOBJ.
10294         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
10295         invocation from here...
10296         * modules/wcwidth (configure.ac): ... to here.
10297         (Depends-on): Update conditions.
10298
10299 2011-05-22  Bruno Haible  <bruno@clisp.org>
10300
10301         wctype: Move AC_LIBOBJ invocations to module description.
10302         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
10303         invocation from here...
10304         * modules/wctype (configure.ac): ... to here.
10305         (Depends-on): Update conditions.
10306
10307 2011-05-22  Bruno Haible  <bruno@clisp.org>
10308
10309         wctrans: Move AC_LIBOBJ invocations to module description.
10310         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
10311         invocation from here...
10312         * modules/wctrans (configure.ac): ... to here.
10313
10314 2011-05-22  Bruno Haible  <bruno@clisp.org>
10315
10316         wctomb: Move AC_LIBOBJ invocations to module description.
10317         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
10318         invocations from here...
10319         * modules/wctomb (configure.ac): ... to here.
10320
10321 2011-05-22  Bruno Haible  <bruno@clisp.org>
10322
10323         wctob: Move AC_LIBOBJ invocations to module description.
10324         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
10325         gl_PREREQ_WCTOB invocations from here...
10326         * modules/wctob (configure.ac): ... to here.
10327         (Depends-on): Update conditions.
10328
10329 2011-05-22  Bruno Haible  <bruno@clisp.org>
10330
10331         wcsxfrm: Move AC_LIBOBJ invocations to module description.
10332         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
10333         here...
10334         * modules/wcsxfrm (configure.ac): ... to here.
10335
10336 2011-05-22  Bruno Haible  <bruno@clisp.org>
10337
10338         wcstok: Move AC_LIBOBJ invocations to module description.
10339         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
10340         * modules/wcstok (configure.ac): ... to here.
10341
10342 2011-05-22  Bruno Haible  <bruno@clisp.org>
10343
10344         wcsstr: Move AC_LIBOBJ invocations to module description.
10345         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
10346         * modules/wcsstr (configure.ac): ... to here.
10347
10348 2011-05-22  Bruno Haible  <bruno@clisp.org>
10349
10350         wcsspn: Move AC_LIBOBJ invocations to module description.
10351         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
10352         * modules/wcsspn (configure.ac): ... to here.
10353
10354 2011-05-22  Bruno Haible  <bruno@clisp.org>
10355
10356         wcsrtombs: Move AC_LIBOBJ invocations to module description.
10357         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
10358         gl_PREREQ_WCSRTOMBS invocations from here...
10359         * modules/wcsrtombs (configure.ac): ... to here.
10360
10361 2011-05-22  Bruno Haible  <bruno@clisp.org>
10362
10363         wcsrchr: Move AC_LIBOBJ invocations to module description.
10364         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
10365         here...
10366         * modules/wcsrchr (configure.ac): ... to here.
10367
10368 2011-05-22  Bruno Haible  <bruno@clisp.org>
10369
10370         wcspbrk: Move AC_LIBOBJ invocations to module description.
10371         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
10372         here...
10373         * modules/wcspbrk (configure.ac): ... to here.
10374
10375 2011-05-22  Bruno Haible  <bruno@clisp.org>
10376
10377         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
10378         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
10379         gl_PREREQ_WCSNRTOMBS invocations from here...
10380         * modules/wcsnrtombs (configure.ac): ... to here.
10381
10382 2011-05-22  Bruno Haible  <bruno@clisp.org>
10383
10384         wcsnlen: Move AC_LIBOBJ invocations to module description.
10385         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
10386         here...
10387         * modules/wcsnlen (configure.ac): ... to here.
10388
10389 2011-05-22  Bruno Haible  <bruno@clisp.org>
10390
10391         wcsncpy: Move AC_LIBOBJ invocations to module description.
10392         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
10393         here...
10394         * modules/wcsncpy (configure.ac): ... to here.
10395
10396 2011-05-22  Bruno Haible  <bruno@clisp.org>
10397
10398         wcsncmp: Move AC_LIBOBJ invocations to module description.
10399         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
10400         here...
10401         * modules/wcsncmp (configure.ac): ... to here.
10402
10403 2011-05-22  Bruno Haible  <bruno@clisp.org>
10404
10405         wcsncat: Move AC_LIBOBJ invocations to module description.
10406         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
10407         here...
10408         * modules/wcsncat (configure.ac): ... to here.
10409
10410 2011-05-22  Bruno Haible  <bruno@clisp.org>
10411
10412         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
10413         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
10414         from here...
10415         * modules/wcsncasecmp (configure.ac): ... to here.
10416
10417 2011-05-22  Bruno Haible  <bruno@clisp.org>
10418
10419         wcslen: Move AC_LIBOBJ invocations to module description.
10420         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
10421         * modules/wcslen (configure.ac): ... to here.
10422
10423 2011-05-22  Bruno Haible  <bruno@clisp.org>
10424
10425         wcsdup: Move AC_LIBOBJ invocations to module description.
10426         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
10427         * modules/wcsdup (configure.ac): ... to here.
10428
10429 2011-05-22  Bruno Haible  <bruno@clisp.org>
10430
10431         wcscspn: Move AC_LIBOBJ invocations to module description.
10432         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
10433         here...
10434         * modules/wcscspn (configure.ac): ... to here.
10435
10436 2011-05-22  Bruno Haible  <bruno@clisp.org>
10437
10438         wcscpy: Move AC_LIBOBJ invocations to module description.
10439         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
10440         * modules/wcscpy (configure.ac): ... to here.
10441
10442 2011-05-22  Bruno Haible  <bruno@clisp.org>
10443
10444         wcscoll: Move AC_LIBOBJ invocations to module description.
10445         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
10446         here...
10447         * modules/wcscoll (configure.ac): ... to here.
10448
10449 2011-05-22  Bruno Haible  <bruno@clisp.org>
10450
10451         wcscmp: Move AC_LIBOBJ invocations to module description.
10452         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
10453         * modules/wcscmp (configure.ac): ... to here.
10454
10455 2011-05-22  Bruno Haible  <bruno@clisp.org>
10456
10457         wcschr: Move AC_LIBOBJ invocations to module description.
10458         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
10459         * modules/wcschr (configure.ac): ... to here.
10460
10461 2011-05-22  Bruno Haible  <bruno@clisp.org>
10462
10463         wcscat: Move AC_LIBOBJ invocations to module description.
10464         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
10465         * modules/wcscat (configure.ac): ... to here.
10466
10467 2011-05-22  Bruno Haible  <bruno@clisp.org>
10468
10469         wcscasecmp: Move AC_LIBOBJ invocations to module description.
10470         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
10471         here...
10472         * modules/wcscasecmp (configure.ac): ... to here.
10473
10474 2011-05-22  Bruno Haible  <bruno@clisp.org>
10475
10476         wcrtomb: Move AC_LIBOBJ invocations to module description.
10477         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
10478         invocations from here...
10479         * modules/wcrtomb (configure.ac): ... to here.
10480
10481 2011-05-22  Bruno Haible  <bruno@clisp.org>
10482
10483         wcpncpy: Move AC_LIBOBJ invocations to module description.
10484         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
10485         here...
10486         * modules/wcpncpy (configure.ac): ... to here.
10487
10488 2011-05-22  Bruno Haible  <bruno@clisp.org>
10489
10490         wcpcpy: Move AC_LIBOBJ invocations to module description.
10491         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
10492         * modules/wcpcpy (configure.ac): ... to here.
10493
10494 2011-05-22  Bruno Haible  <bruno@clisp.org>
10495
10496         waitpid: Move AC_LIBOBJ invocations to module description.
10497         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
10498         invocation from here...
10499         * modules/waitpid (configure.ac): ... to here.
10500
10501 2011-05-22  Bruno Haible  <bruno@clisp.org>
10502
10503         utimensat: Move AC_LIBOBJ invocations to module description.
10504         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
10505         here...
10506         * modules/utimensat (configure.ac): ... to here.
10507
10508 2011-05-22  Bruno Haible  <bruno@clisp.org>
10509
10510         usleep: Move AC_LIBOBJ invocations to module description.
10511         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
10512         here...
10513         * modules/usleep (configure.ac): ... to here.
10514
10515 2011-05-22  Bruno Haible  <bruno@clisp.org>
10516
10517         unlockpt: Move AC_LIBOBJ invocations to module description.
10518         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
10519         gl_PREREQ_UNLOCKPT invocations from here...
10520         * modules/unlockpt (configure.ac): ... to here.
10521
10522 2011-05-22  Bruno Haible  <bruno@clisp.org>
10523
10524         unlink: Respect rules for use of AC_LIBOBJ.
10525         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
10526         * modules/unlink (configure.ac): ... to here.
10527
10528 2011-05-22  Bruno Haible  <bruno@clisp.org>
10529
10530         uname: Move AC_LIBOBJ invocations to module description.
10531         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
10532         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
10533         here...
10534         * modules/uname (configure.ac): ... to here.
10535
10536 2011-05-22  Bruno Haible  <bruno@clisp.org>
10537
10538         ttyname_r: Move AC_LIBOBJ invocations to module description.
10539         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
10540         gl_PREREQ_TTYNAME_R invocations from here...
10541         * modules/ttyname_r (configure.ac): ... to here.
10542
10543 2011-05-22  Bruno Haible  <bruno@clisp.org>
10544
10545         tsearch: Move AC_LIBOBJ invocations to module description.
10546         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
10547         invocations from here...
10548         * modules/tsearch (configure.ac): ... to here.
10549
10550 2011-05-22  Bruno Haible  <bruno@clisp.org>
10551
10552         towctrans: Move AC_LIBOBJ invocations to module description.
10553         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
10554         AC_LIBOBJ invocation from here...
10555         * modules/towctrans (configure.ac): ... to here.
10556
10557 2011-05-22  Bruno Haible  <bruno@clisp.org>
10558
10559         tmpfile: Move AC_LIBOBJ invocations to module description.
10560         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
10561         invocations from here...
10562         * modules/tmpfile (configure.ac): ... to here.
10563
10564 2011-05-22  Bruno Haible  <bruno@clisp.org>
10565
10566         times: Move AC_LIBOBJ invocations to module description.
10567         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
10568         * modules/times (configure.ac): ... to here.
10569
10570 2011-05-22  Bruno Haible  <bruno@clisp.org>
10571
10572         time_r: Move AC_LIBOBJ invocations to module description.
10573         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
10574         invocations from here...
10575         * modules/time_r (configure.ac): ... to here.
10576
10577 2011-05-22  Bruno Haible  <bruno@clisp.org>
10578
10579         timegm: Move AC_LIBOBJ invocations to module description.
10580         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
10581         invocations from here...
10582         * modules/timegm (configure.ac): ... to here.
10583
10584 2011-05-22  Bruno Haible  <bruno@clisp.org>
10585
10586         tcgetsid: Move AC_LIBOBJ invocations to module description.
10587         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
10588         and gl_PREREQ_TCGETSID invocations from here...
10589         * modules/tcgetsid (configure.ac): ... to here.
10590         (Depends-on): Update conditions.
10591
10592 2011-05-22  Bruno Haible  <bruno@clisp.org>
10593
10594         symlinkat: Move AC_LIBOBJ invocations to module description.
10595         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
10596         here...
10597         * modules/symlinkat (configure.ac): ... to here.
10598
10599 2011-05-22  Bruno Haible  <bruno@clisp.org>
10600
10601         symlink: Move AC_LIBOBJ invocations to module description.
10602         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
10603         here...
10604         * modules/symlink (configure.ac): ... to here.
10605
10606 2011-05-22  Bruno Haible  <bruno@clisp.org>
10607
10608         strverscmp: Move AC_LIBOBJ invocations to module description.
10609         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
10610         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
10611         from here...
10612         * modules/strverscmp (configure.ac): ... to here.
10613
10614 2011-05-22  Bruno Haible  <bruno@clisp.org>
10615
10616         strtok_r: Move AC_LIBOBJ invocations to module description.
10617         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
10618         and gl_PREREQ_STRTOK_R invocations from here...
10619         * modules/strtok_r (configure.ac): ... to here.
10620         (Depends-on): Update conditions.
10621
10622 2011-05-22  Bruno Haible  <bruno@clisp.org>
10623
10624         strtoumax: Move AC_LIBOBJ invocations to module description.
10625         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
10626         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
10627         from here...
10628         * modules/strtoumax (configure.ac): ... to here.
10629
10630 2011-05-22  Bruno Haible  <bruno@clisp.org>
10631
10632         strtoimax: Move AC_LIBOBJ invocations to module description.
10633         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
10634         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
10635         from here...
10636         * modules/strtoimax (configure.ac): ... to here.
10637
10638 2011-05-22  Bruno Haible  <bruno@clisp.org>
10639
10640         strtoull: Move AC_LIBOBJ invocations to module description.
10641         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
10642         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
10643         from here...
10644         * modules/strtoull (configure.ac): ... to here.
10645
10646 2011-05-22  Bruno Haible  <bruno@clisp.org>
10647
10648         strtoll: Move AC_LIBOBJ invocations to module description.
10649         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
10650         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
10651         here...
10652         * modules/strtoll (configure.ac): ... to here.
10653
10654 2011-05-22  Bruno Haible  <bruno@clisp.org>
10655
10656         strtoul: Move AC_LIBOBJ invocations to module description.
10657         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
10658         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
10659         * modules/strtoul (configure.ac): ... to here.
10660
10661 2011-05-22  Bruno Haible  <bruno@clisp.org>
10662
10663         strtol: Move AC_LIBOBJ invocations to module description.
10664         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
10665         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
10666         * modules/strtol (configure.ac): ... to here.
10667
10668 2011-05-22  Bruno Haible  <bruno@clisp.org>
10669
10670         strtod: Move AC_LIBOBJ invocations to module description.
10671         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
10672         invocations from here...
10673         * modules/strtod (configure.ac): ... to here.
10674
10675 2011-05-22  Bruno Haible  <bruno@clisp.org>
10676
10677         strstr*: Move AC_LIBOBJ invocations to module description.
10678         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
10679         invocations from here...
10680         * modules/strstr-simple (configure.ac): ... to here.
10681         * modules/strstr (configure.ac): ... and here.
10682
10683 2011-05-22  Bruno Haible  <bruno@clisp.org>
10684
10685         strsignal: Move AC_LIBOBJ invocations to module description.
10686         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
10687         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
10688         * modules/strsignal (configure.ac): ... to here.
10689         (Depends-on): Update conditions.
10690
10691 2011-05-22  Bruno Haible  <bruno@clisp.org>
10692
10693         strsep: Move AC_LIBOBJ invocations to module description.
10694         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
10695         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
10696         here...
10697         * modules/strsep (configure.ac): ... to here.
10698
10699 2011-05-22  Bruno Haible  <bruno@clisp.org>
10700
10701         strptime: Move AC_LIBOBJ invocations to module description.
10702         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
10703         gl_PREREQ_STRPTIME invocations from here...
10704         * modules/strptime (configure.ac): ... to here.
10705
10706 2011-05-22  Bruno Haible  <bruno@clisp.org>
10707
10708         strpbrk: Move AC_LIBOBJ invocations to module description.
10709         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
10710         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
10711         here...
10712         * modules/strpbrk (configure.ac): ... to here.
10713
10714 2011-05-22  Bruno Haible  <bruno@clisp.org>
10715
10716         strnlen: Move AC_LIBOBJ invocations to module description.
10717         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
10718         invocations from here...
10719         * modules/strnlen (configure.ac): ... to here.
10720
10721 2011-05-22  Bruno Haible  <bruno@clisp.org>
10722
10723         strndup: Move AC_LIBOBJ invocations to module description.
10724         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
10725         invocations from here...
10726         * modules/strndup (configure.ac): ... to here.
10727         (Depends-on): Update conditions.
10728
10729 2011-05-22  Bruno Haible  <bruno@clisp.org>
10730
10731         strncat: Move AC_LIBOBJ invocations to module description.
10732         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
10733         invocations from here...
10734         * modules/strncat (configure.ac): ... to here.
10735
10736 2011-05-22  Bruno Haible  <bruno@clisp.org>
10737
10738         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
10739         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
10740         invocations from here...
10741         * modules/strdup (configure.ac): ... to here.
10742         * modules/strdup-posix (configure.ac): ... and here.
10743
10744 2011-05-22  Bruno Haible  <bruno@clisp.org>
10745
10746         strcspn: Move AC_LIBOBJ invocations to module description.
10747         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
10748         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
10749         here...
10750         * modules/strcspn (configure.ac): ... to here.
10751
10752 2011-05-22  Bruno Haible  <bruno@clisp.org>
10753
10754         strchrnul: Move AC_LIBOBJ invocations to module description.
10755         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
10756         gl_PREREQ_STRCHRNUL invocations from here...
10757         * modules/strchrnul (configure.ac): ... to here.
10758
10759 2011-05-22  Bruno Haible  <bruno@clisp.org>
10760
10761         strcasestr*: Move AC_LIBOBJ invocations to module description.
10762         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
10763         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
10764         * modules/strcasestr-simple (configure.ac): ... to here.
10765         * modules/strcasestr (configure.ac): ... and here.
10766
10767 2011-05-22  Bruno Haible  <bruno@clisp.org>
10768
10769         strcase: Move AC_LIBOBJ invocations to module description.
10770         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
10771         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
10772         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
10773         gl_PREREQ_STRNCASECMP invocations from here...
10774         * modules/strcase (configure.ac): ... to here.
10775
10776 2011-05-22  Bruno Haible  <bruno@clisp.org>
10777
10778         stpncpy: Move AC_LIBOBJ invocations to module description.
10779         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
10780         here...
10781         * modules/stpncpy (configure.ac): ... to here.
10782
10783 2011-05-22  Bruno Haible  <bruno@clisp.org>
10784
10785         stpcpy: Move AC_LIBOBJ invocations to module description.
10786         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
10787         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
10788         here...
10789         * modules/stpcpy (configure.ac): ... to here.
10790
10791 2011-05-21  Bruno Haible  <bruno@clisp.org>
10792
10793         stat: Move AC_LIBOBJ invocations to module description.
10794         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
10795         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
10796         here...
10797         * modules/stat (configure.ac): ... to here.
10798
10799 2011-05-21  Bruno Haible  <bruno@clisp.org>
10800
10801         sleep: Move AC_LIBOBJ invocations to module description.
10802         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
10803         * modules/sleep (configure.ac): ... to here.
10804
10805 2011-05-21  Bruno Haible  <bruno@clisp.org>
10806
10807         signbit: Move AC_LIBOBJ invocations to module description.
10808         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
10809         * modules/signbit (configure.ac): ... to here.
10810
10811 2011-05-21  Bruno Haible  <bruno@clisp.org>
10812
10813         sigprocmask: Move AC_LIBOBJ invocations to module description.
10814         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
10815         gl_PREREQ_SIGPROMASK invocations from here...
10816         * modules/sigprocmask (configure.ac): ... to here.
10817
10818 2011-05-21  Bruno Haible  <bruno@clisp.org>
10819
10820         sigaction: Move AC_LIBOBJ invocations to module description.
10821         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
10822         gl_PREREQ_SIGACTION invocations from here...
10823         * modules/sigaction (configure.ac): ... to here.
10824
10825 2011-05-21  Bruno Haible  <bruno@clisp.org>
10826
10827         sig2str: Move AC_LIBOBJ invocations to module description.
10828         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
10829         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
10830         here...
10831         * modules/sig2str (configure.ac): ... to here.
10832
10833 2011-05-21  Bruno Haible  <bruno@clisp.org>
10834
10835         setlocale: Move AC_LIBOBJ invocations to module description.
10836         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
10837         gl_PREREQ_SETLOCALE invocations from here...
10838         * modules/setlocale (configure.ac): ... to here.
10839
10840 2011-05-21  Bruno Haible  <bruno@clisp.org>
10841
10842         unsetenv: Move AC_LIBOBJ invocations to module description.
10843         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
10844         and gl_PREREQ_UNSETENV invocations from here...
10845         * modules/unsetenv (configure.ac): ... to here.
10846         (Depends-on): Update.
10847
10848 2011-05-21  Bruno Haible  <bruno@clisp.org>
10849
10850         setenv: Move AC_LIBOBJ invocations to module description.
10851         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
10852         here...
10853         * modules/setenv (configure.ac): ... to here.
10854
10855 2011-05-21  Bruno Haible  <bruno@clisp.org>
10856
10857         selinux-h: Move AC_LIBOBJ invocations to module description.
10858         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
10859         AC_LIBOBJ invocation from here...
10860         * modules/selinux-h (configure.ac): ... to here.
10861
10862 2011-05-21  Bruno Haible  <bruno@clisp.org>
10863
10864         select: Respect rules for use of AC_LIBOBJ.
10865         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
10866         here...
10867         * modules/select (configure.ac): ... to here.
10868
10869 2011-05-21  Bruno Haible  <bruno@clisp.org>
10870
10871         scandir: Move AC_LIBOBJ invocations to module description.
10872         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
10873         invocations from here...
10874         * modules/scandir (configure.ac): ... to here.
10875
10876 2011-05-21  Bruno Haible  <bruno@clisp.org>
10877
10878         rpmatch: Move AC_LIBOBJ invocations to module description.
10879         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
10880         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
10881         here...
10882         * modules/rpmatch (configure.ac): ... to here.
10883
10884 2011-05-21  Bruno Haible  <bruno@clisp.org>
10885
10886         rmdir: Respect rules for use of AC_LIBOBJ.
10887         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
10888         * modules/rmdir (configure.ac): ... to here.
10889
10890 2011-05-21  Bruno Haible  <bruno@clisp.org>
10891
10892         renameat: Move AC_LIBOBJ invocations to module description.
10893         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
10894         here...
10895         * modules/renameat (configure.ac): ... to here.
10896
10897 2011-05-21  Bruno Haible  <bruno@clisp.org>
10898
10899         rename: Respect rules for use of AC_LIBOBJ.
10900         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
10901         here...
10902         * modules/rename (configure.ac): ... to here.
10903
10904 2011-05-21  Bruno Haible  <bruno@clisp.org>
10905
10906         remove: Move AC_LIBOBJ invocations to module description.
10907         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
10908         here...
10909         * modules/remove (configure.ac): ... to here.
10910
10911 2011-05-21  Bruno Haible  <bruno@clisp.org>
10912
10913         relocatable-lib: Move AC_LIBOBJ invocations to module description.
10914         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
10915         macro.
10916         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
10917         * modules/relocatable-lib (configure.ac): ... to here.
10918         * modules/relocatable-prog-wrapper (configure.ac): Invoke
10919         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
10920
10921 2011-05-21  Bruno Haible  <bruno@clisp.org>
10922
10923         relocatable-prog: Move AC_LIBOBJ invocations to module description.
10924         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
10925         here...
10926         * modules/relocatable-prog (configure.ac): ... to here.
10927
10928 2011-05-21  Bruno Haible  <bruno@clisp.org>
10929
10930         regex: Move AC_LIBOBJ invocations to module description.
10931         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
10932         invocations from here...
10933         * modules/regex (configure.ac): ... to here.
10934
10935 2011-05-21  Bruno Haible  <bruno@clisp.org>
10936
10937         realloc-*: Move AC_LIBOBJ invocations to module description.
10938         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
10939         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
10940         AC_LIBOBJ invocations from here...
10941         * modules/realloc-gnu (configure.ac): ... to here.
10942         * modules/realloc-posix (configure.ac): ... and here.
10943
10944 2011-05-21  Bruno Haible  <bruno@clisp.org>
10945
10946         readutmp: Move AC_LIBOBJ invocations to module description.
10947         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
10948         * modules/readutmp (configure.ac): ... to here.
10949
10950 2011-05-21  Bruno Haible  <bruno@clisp.org>
10951
10952         readlinkat: Move AC_LIBOBJ invocations to module description.
10953         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
10954         here...
10955         * modules/readlinkat (configure.ac): ... to here.
10956
10957 2011-05-21  Bruno Haible  <bruno@clisp.org>
10958
10959         readlink: Move AC_LIBOBJ invocations to module description.
10960         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
10961         gl_PREREQ_READLINK invocations from here...
10962         * modules/readlink (configure.ac): ... to here.
10963
10964 2011-05-21  Bruno Haible  <bruno@clisp.org>
10965
10966         readline: Move AC_LIBOBJ invocations to module description.
10967         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
10968         gl_PREREQ_READLINE invocations from here...
10969         * modules/readline (configure.ac): ... to here.
10970
10971 2011-05-21  Bruno Haible  <bruno@clisp.org>
10972
10973         read: Move AC_LIBOBJ invocations to module description.
10974         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
10975         * modules/read (configure.ac): ... to here.
10976
10977 2011-05-21  Bruno Haible  <bruno@clisp.org>
10978
10979         rawmemchr: Move AC_LIBOBJ invocations to module description.
10980         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
10981         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
10982         from here...
10983         * modules/rawmemchr (configure.ac): ... to here.
10984
10985 2011-05-21  Bruno Haible  <bruno@clisp.org>
10986
10987         random_r: Move AC_LIBOBJ invocations to module description.
10988         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
10989         gl_PREREQ_RANDOM_R invocations from here...
10990         * modules/random_r (configure.ac): ... to here.
10991
10992 2011-05-21  Bruno Haible  <bruno@clisp.org>
10993
10994         pwrite: Move AC_LIBOBJ invocations to module description.
10995         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
10996         * modules/pwrite (configure.ac): ... to here.
10997
10998 2011-05-21  Bruno Haible  <bruno@clisp.org>
10999
11000         putenv: Move AC_LIBOBJ invocations to module description.
11001         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
11002         * modules/putenv (configure.ac): ... to here.
11003
11004 2011-05-21  Bruno Haible  <bruno@clisp.org>
11005
11006         login_tty: Move AC_LIBOBJ invocations to module description.
11007         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
11008         * modules/login_tty (configure.ac): ... to here.
11009
11010 2011-05-21  Bruno Haible  <bruno@clisp.org>
11011
11012         openpty: Move AC_LIBOBJ invocations to module description.
11013         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
11014         * modules/openpty (configure.ac): ... to here.
11015
11016 2011-05-21  Bruno Haible  <bruno@clisp.org>
11017
11018         forkpty: Move AC_LIBOBJ invocations to module description.
11019         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
11020         * modules/forkpty (configure.ac): ... to here.
11021
11022 2011-05-21  Bruno Haible  <bruno@clisp.org>
11023
11024         ptsname: Move AC_LIBOBJ invocations to module description.
11025         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
11026         invocations from here...
11027         * modules/ptsname (configure.ac): ... to here.
11028
11029 2011-05-21  Bruno Haible  <bruno@clisp.org>
11030
11031         pread: Move AC_LIBOBJ invocations to module description.
11032         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
11033         * modules/pread (configure.ac): ... to here.
11034
11035 2011-05-21  Bruno Haible  <bruno@clisp.org>
11036
11037         posix_spawn*: Move AC_LIBOBJ invocations to module description.
11038         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
11039         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
11040         * modules/posix_spawn (configure.ac): ... to here.
11041         * modules/posix_spawnp (configure.ac): ... and here.
11042
11043 2011-05-21  Bruno Haible  <bruno@clisp.org>
11044
11045         popen: Move AC_LIBOBJ invocations to module description.
11046         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
11047         invocations from here...
11048         * modules/popen (configure.ac): ... to here.
11049
11050 2011-05-21  Bruno Haible  <bruno@clisp.org>
11051
11052         poll: Move AC_LIBOBJ invocations to module description.
11053         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
11054         invocations from here...
11055         * modules/poll (configure.ac): ... to here.
11056
11057 2011-05-21  Bruno Haible  <bruno@clisp.org>
11058
11059         pipe-posix: Move AC_LIBOBJ invocations to module description.
11060         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
11061         * modules/pipe-posix (configure.ac): ... to here.
11062
11063 2011-05-21  Bruno Haible  <bruno@clisp.org>
11064
11065         openat: Respect rules for use of AC_LIBOBJ.
11066         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
11067         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
11068         * modules/openat (configure.ac): ... to here.
11069
11070 2011-05-21  Bruno Haible  <bruno@clisp.org>
11071
11072         obstack-printf*: Move AC_LIBOBJ invocations to module description.
11073         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
11074         invocation from here...
11075         * modules/obstack-printf (configure.ac): ... to here.
11076         * modules/obstack-printf-posix (configure.ac): ... and here.
11077
11078 2011-05-21  Bruno Haible  <bruno@clisp.org>
11079
11080         nl_langinfo: Move AC_LIBOBJ invocations to module description.
11081         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
11082         from here...
11083         * modules/nl_langinfo (configure.ac): ... to here.
11084
11085 2011-05-21  Bruno Haible  <bruno@clisp.org>
11086
11087         nanosleep: Move AC_LIBOBJ invocations to module description.
11088         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
11089         gl_PREREQ_NANOSLEEP invocations from here...
11090         * modules/nanosleep (configure.ac): ... to here.
11091
11092 2011-05-21  Bruno Haible  <bruno@clisp.org>
11093
11094         mountlist: Move AC_LIBOBJ invocations to module description.
11095         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
11096         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
11097         * modules/mountlist (configure.ac): ... to here.
11098
11099 2011-05-21  Bruno Haible  <bruno@clisp.org>
11100
11101         mktime: Respect rules for use of AC_LIBOBJ.
11102         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
11103         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
11104         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
11105         (gl_FUNC_MKTIME_INTERNAL): ... and here...
11106         * modules/mktime (configure.ac): ... to here.
11107         * modules/mktime-internal (configure.ac): ... and here.
11108         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
11109
11110 2011-05-21  Bruno Haible  <bruno@clisp.org>
11111
11112         mkstemps: Move AC_LIBOBJ invocations to module description.
11113         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
11114         here...
11115         * modules/mkstemps (configure.ac): ... to here.
11116
11117 2011-05-21  Bruno Haible  <bruno@clisp.org>
11118
11119         mkstemp: Move AC_LIBOBJ invocations to module description.
11120         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
11121         gl_PREREQ_MKSTEMP invocations from here...
11122         * modules/mkstemp (configure.ac): ... to here.
11123
11124 2011-05-21  Bruno Haible  <bruno@clisp.org>
11125
11126         mkostemps: Move AC_LIBOBJ invocations to module description.
11127         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
11128         here...
11129         * modules/mkostemps (configure.ac): ... to here.
11130
11131 2011-05-21  Bruno Haible  <bruno@clisp.org>
11132
11133         mkostemp: Move AC_LIBOBJ invocations to module description.
11134         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
11135         gl_PREREQ_MKOSTEMP invocations from here...
11136         * modules/mkostemp (configure.ac): ... to here.
11137
11138 2011-05-21  Bruno Haible  <bruno@clisp.org>
11139
11140         mknod: Move AC_LIBOBJ invocations to module description.
11141         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
11142         * modules/mknod (configure.ac): ... to here.
11143
11144 2011-05-21  Bruno Haible  <bruno@clisp.org>
11145
11146         mkfifoat: Move AC_LIBOBJ invocations to module description.
11147         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
11148         here...
11149         * modules/mkfifoat (configure.ac): ... to here.
11150
11151 2011-05-21  Bruno Haible  <bruno@clisp.org>
11152
11153         mkfifo: Respect rules for use of AC_LIBOBJ.
11154         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
11155         here...
11156         * modules/mkfifo (configure.ac): ... to here.
11157
11158 2011-05-21  Bruno Haible  <bruno@clisp.org>
11159
11160         mkdtemp: Move AC_LIBOBJ invocations to module description.
11161         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
11162         invocations from here...
11163         * modules/mkdtemp (configure.ac): ... to here.
11164
11165 2011-05-21  Bruno Haible  <bruno@clisp.org>
11166
11167         mkdir: Move AC_LIBOBJ invocations to module description.
11168         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
11169         * modules/mkdir (configure.ac): ... to here.
11170
11171 2011-05-21  Bruno Haible  <bruno@clisp.org>
11172
11173         memset: Move AC_LIBOBJ invocations to module description.
11174         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
11175         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
11176         here...
11177         * modules/memset (configure.ac): ... to here.
11178
11179 2011-05-21  Bruno Haible  <bruno@clisp.org>
11180
11181         memrchr: Move AC_LIBOBJ invocations to module description.
11182         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
11183         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
11184         here...
11185         * modules/memrchr (configure.ac): ... to here.
11186
11187 2011-05-21  Bruno Haible  <bruno@clisp.org>
11188
11189         mempcpy: Move AC_LIBOBJ invocations to module description.
11190         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
11191         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
11192         here...
11193         * modules/mempcpy (configure.ac): ... to here.
11194
11195 2011-05-21  Bruno Haible  <bruno@clisp.org>
11196
11197         memmove: Move AC_LIBOBJ invocations to module description.
11198         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
11199         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
11200         here...
11201         * modules/memmove (configure.ac): ... to here.
11202
11203 2011-05-21  Bruno Haible  <bruno@clisp.org>
11204
11205         memmem*: Move AC_LIBOBJ invocations to module description.
11206         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
11207         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
11208         here...
11209         (gl_FUNC_MEMMEM): ... and here...
11210         * modules/memmem-simple (configure.ac): ... to here.
11211         * modules/memmem (configure.ac): ... and here.
11212
11213 2011-05-21  Bruno Haible  <bruno@clisp.org>
11214
11215         memcpy: Move AC_LIBOBJ invocations to module description.
11216         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
11217         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
11218         here...
11219         * modules/memcpy (configure.ac): ... to here.
11220
11221 2011-05-21  Bruno Haible  <bruno@clisp.org>
11222
11223         memcmp: Simplify autoconf macro.
11224         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
11225         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
11226         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
11227
11228 2011-05-21  Bruno Haible  <bruno@clisp.org>
11229
11230         memcmp: Move AC_LIBOBJ invocations to module description.
11231         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
11232         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
11233         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
11234         * modules/memcmp (configure.ac): ... to here.
11235         (Depends-on): Update conditions.
11236
11237 2011-05-21  Bruno Haible  <bruno@clisp.org>
11238
11239         memchr: Respect rules for use of AC_LIBOBJ.
11240         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
11241         invocations from here...
11242         * modules/memchr (configure.ac): ... to here.
11243
11244 2011-05-21  Bruno Haible  <bruno@clisp.org>
11245
11246         mbtowc: Move AC_LIBOBJ invocations to module description.
11247         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
11248         invocations from here...
11249         * modules/mbtowc (configure.ac): ... to here.
11250
11251 2011-05-21  Bruno Haible  <bruno@clisp.org>
11252
11253         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
11254         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
11255         gl_PREREQ_MBSRTOWCS invocations from here...
11256         * modules/mbsrtowcs (configure.ac): ... to here.
11257
11258 2011-05-21  Bruno Haible  <bruno@clisp.org>
11259
11260         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
11261         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
11262         gl_PREREQ_MBSNRTOWCS invocations from here...
11263         * modules/mbsnrtowcs (configure.ac): ... to here.
11264
11265 2011-05-21  Bruno Haible  <bruno@clisp.org>
11266
11267         mbsinit: Move AC_LIBOBJ invocations to module description.
11268         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
11269         invocations from here...
11270         * modules/mbsinit (configure.ac): ... to here.
11271
11272 2011-05-21  Bruno Haible  <bruno@clisp.org>
11273
11274         mbrlen: Move AC_LIBOBJ invocations to module description.
11275         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
11276         invocations from here...
11277         * modules/mbrlen (configure.ac): ... to here.
11278
11279 2011-05-21  Bruno Haible  <bruno@clisp.org>
11280
11281         mbrtowc: Respect rules for use of AC_LIBOBJ.
11282         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
11283         invocations from here...
11284         * modules/mbrtowc (configure.ac): ... to here.
11285
11286 2011-05-21  Bruno Haible  <bruno@clisp.org>
11287
11288         malloc-*: Move AC_LIBOBJ invocations to module description.
11289         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
11290         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
11291         AC_LIBOBJ invocations from here...
11292         * modules/malloc-gnu (configure.ac): ... to here.
11293         * modules/malloc-posix (configure.ac): ... and here.
11294
11295 2011-05-21  Bruno Haible  <bruno@clisp.org>
11296
11297         lstat, openat: Respect rules for use of AC_LIBOBJ.
11298         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
11299         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
11300         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
11301         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
11302         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
11303         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
11304         here.
11305         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
11306
11307 2011-05-21  Bruno Haible  <bruno@clisp.org>
11308
11309         lseek: Move AC_LIBOBJ invocations to module description.
11310         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
11311         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
11312         * modules/lseek (configure.ac): ... to here.
11313
11314 2011-05-21  Bruno Haible  <bruno@clisp.org>
11315
11316         linkat: Move AC_LIBOBJ invocations to module description.
11317         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
11318         here...
11319         * modules/linkat (configure.ac): ... to here.
11320
11321 2011-05-21  Bruno Haible  <bruno@clisp.org>
11322
11323         link: Respect rules for use of AC_LIBOBJ.
11324         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
11325         * modules/link (configure.ac): ... to here.
11326
11327 2011-05-21  Bruno Haible  <bruno@clisp.org>
11328
11329         lchown: Move AC_LIBOBJ invocations to module description.
11330         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
11331         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
11332         * modules/lchown (configure.ac): ... to here.
11333
11334 2011-05-21  Bruno Haible  <bruno@clisp.org>
11335
11336         iswctype: Move AC_LIBOBJ invocations to module description.
11337         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
11338         here...
11339         * modules/iswctype (configure.ac): ... to here.
11340
11341 2011-05-21  Bruno Haible  <bruno@clisp.org>
11342
11343         iswblank: Move AC_LIBOBJ invocations to module description.
11344         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
11345         here...
11346         * modules/iswblank (configure.ac): ... to here.
11347
11348 2011-05-21  Bruno Haible  <bruno@clisp.org>
11349
11350         atanl: Move AC_LIBOBJ invocations to module description.
11351         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
11352         * modules/atanl (configure.ac): ... to here.
11353
11354 2011-05-21  Bruno Haible  <bruno@clisp.org>
11355
11356         acosl: Move AC_LIBOBJ invocations to module description.
11357         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
11358         * modules/acosl (configure.ac): ... to here.
11359
11360 2011-05-21  Bruno Haible  <bruno@clisp.org>
11361
11362         asinl: Respect rules for use of AC_LIBOBJ.
11363         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
11364         * modules/asinl (configure.ac): ... to here.
11365
11366 2011-05-21  Bruno Haible  <bruno@clisp.org>
11367
11368         tanl: Move AC_LIBOBJ invocations to module description.
11369         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
11370         * modules/tanl (configure.ac): ... to here.
11371
11372 2011-05-21  Bruno Haible  <bruno@clisp.org>
11373
11374         cosl: Move AC_LIBOBJ invocations to module description.
11375         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
11376         * modules/cosl (configure.ac): ... to here.
11377
11378 2011-05-21  Bruno Haible  <bruno@clisp.org>
11379
11380         sinl: Move AC_LIBOBJ invocations to module description.
11381         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
11382         * modules/sinl (configure.ac): ... to here.
11383
11384 2011-05-21  Bruno Haible  <bruno@clisp.org>
11385
11386         logl: Move AC_LIBOBJ invocations to module description.
11387         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
11388         * modules/logl (configure.ac): ... to here.
11389
11390 2011-05-21  Bruno Haible  <bruno@clisp.org>
11391
11392         expl: Move AC_LIBOBJ invocations to module description.
11393         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
11394         * modules/expl (configure.ac): ... to here.
11395
11396 2011-05-21  Bruno Haible  <bruno@clisp.org>
11397
11398         roundl: Move AC_LIBOBJ invocations to module description.
11399         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
11400         * modules/roundl (configure.ac): ... to here.
11401
11402 2011-05-21  Bruno Haible  <bruno@clisp.org>
11403
11404         round: Move AC_LIBOBJ invocations to module description.
11405         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
11406         * modules/round (configure.ac): ... to here.
11407
11408 2011-05-21  Bruno Haible  <bruno@clisp.org>
11409
11410         roundf: Move AC_LIBOBJ invocations to module description.
11411         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
11412         * modules/roundf (configure.ac): ... to here.
11413
11414 2011-05-21  Bruno Haible  <bruno@clisp.org>
11415
11416         truncl: Move AC_LIBOBJ invocations to module description.
11417         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
11418         * modules/truncl (configure.ac): ... to here.
11419
11420 2011-05-21  Bruno Haible  <bruno@clisp.org>
11421
11422         trunc: Move AC_LIBOBJ invocations to module description.
11423         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
11424         * modules/trunc (configure.ac): ... to here.
11425
11426 2011-05-21  Bruno Haible  <bruno@clisp.org>
11427
11428         truncf: Move AC_LIBOBJ invocations to module description.
11429         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
11430         * modules/truncf (configure.ac): ... to here.
11431
11432 2011-05-21  Bruno Haible  <bruno@clisp.org>
11433
11434         ceill: Move AC_LIBOBJ invocations to module description.
11435         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
11436         * modules/ceill (configure.ac): ... to here.
11437
11438 2011-05-21  Bruno Haible  <bruno@clisp.org>
11439
11440         ceil: Move AC_LIBOBJ invocations to module description.
11441         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
11442         * modules/ceil (configure.ac): ... to here.
11443
11444 2011-05-21  Bruno Haible  <bruno@clisp.org>
11445
11446         ceilf: Move AC_LIBOBJ invocations to module description.
11447         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
11448         * modules/ceilf (configure.ac): ... to here.
11449
11450 2011-05-21  Bruno Haible  <bruno@clisp.org>
11451
11452         floorl: Respect rules for use of AC_LIBOBJ.
11453         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
11454         * modules/floorl (configure.ac): ... to here.
11455
11456 2011-05-21  Bruno Haible  <bruno@clisp.org>
11457
11458         floor: Respect rules for use of AC_LIBOBJ.
11459         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
11460         * modules/floor (configure.ac): ... to here.
11461
11462 2011-05-21  Bruno Haible  <bruno@clisp.org>
11463
11464         floorf: Move AC_LIBOBJ invocations to module description.
11465         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
11466         * modules/floorf (configure.ac): ... to here.
11467
11468 2011-05-20  Bruno Haible  <bruno@clisp.org>
11469
11470         sqrtl: Respect rules for use of AC_LIBOBJ.
11471         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
11472         * modules/sqrtl (configure.ac): ... to here.
11473
11474 2011-05-20  Bruno Haible  <bruno@clisp.org>
11475
11476         ldexpl: Respect rules for use of AC_LIBOBJ.
11477         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
11478         * modules/ldexpl (configure.ac): ... to here.
11479
11480 2011-05-20  Bruno Haible  <bruno@clisp.org>
11481
11482         frexpl*: Respect rules for use of AC_LIBOBJ.
11483         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
11484         invocation from here...
11485         * modules/frexpl (configure.ac): ... to here.
11486         * modules/frexpl-nolibm (configure.ac): ... and here.
11487
11488 2011-05-20  Bruno Haible  <bruno@clisp.org>
11489
11490         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
11491         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
11492         invocation from here...
11493         * modules/frexp (configure.ac): ... to here.
11494         * modules/frexp-nolibm (configure.ac): ... and here.
11495
11496 2011-05-20  Bruno Haible  <bruno@clisp.org>
11497
11498         isnan: Respect rules for use of AC_LIBOBJ.
11499         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
11500         invocations here.
11501         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
11502         REPLACE_ISNAN.
11503         * modules/isnand (configure.ac): Likewise.
11504         * modules/isnanl (configure.ac): Likewise.
11505
11506 2011-05-20  Bruno Haible  <bruno@clisp.org>
11507
11508         isnanl*: Respect rules for use of AC_LIBOBJ.
11509         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
11510         invocation from here...
11511         * modules/isnanl (configure.ac): ... to here.
11512         * modules/isnanl-nolibm (configure.ac): ... and here.
11513
11514 2011-05-20  Bruno Haible  <bruno@clisp.org>
11515
11516         isnand*: Move AC_LIBOBJ invocations to module description.
11517         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
11518         invocation from here...
11519         * modules/isnand (configure.ac): ... to here.
11520         * modules/isnand-nolibm (configure.ac): ... and here.
11521
11522 2011-05-20  Bruno Haible  <bruno@clisp.org>
11523
11524         isnanf*: Move AC_LIBOBJ invocations to module description.
11525         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
11526         invocation from here...
11527         * modules/isnanf (configure.ac): ... to here.
11528         * modules/isnanf-nolibm (configure.ac): ... and here.
11529
11530 2011-05-20  Bruno Haible  <bruno@clisp.org>
11531
11532         isnan*: Separate the AC_LIBOBJ invocations.
11533         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
11534         AC_LIBOBJ invocation.
11535         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
11536         here.
11537         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
11538         AC_LIBOBJ invocation.
11539         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
11540         here.
11541         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
11542         AC_LIBOBJ invocation.
11543         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
11544         here.
11545         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
11546
11547 2011-05-08  Bruno Haible  <bruno@clisp.org>
11548
11549         isinf: Move AC_LIBOBJ invocations to module description.
11550         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
11551         * modules/isinf (configure.ac): ... to here.
11552
11553 2011-05-08  Bruno Haible  <bruno@clisp.org>
11554
11555         isfinite: Move AC_LIBOBJ invocations to module description.
11556         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
11557         * modules/isfinite (configure.ac): ... to here.
11558
11559 2011-05-08  Bruno Haible  <bruno@clisp.org>
11560
11561         isblank: Move AC_LIBOBJ invocations to module description.
11562         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
11563         here...
11564         * modules/isblank (configure.ac): ... to here.
11565
11566 2011-05-08  Bruno Haible  <bruno@clisp.org>
11567
11568         isapipe: Move AC_LIBOBJ invocations to module description.
11569         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
11570         gl_PREREQ_ISAPIPE invocations from here...
11571         * modules/isapipe (configure.ac): ... to here.
11572         (Depends-on): Update condition.
11573
11574 2011-05-08  Bruno Haible  <bruno@clisp.org>
11575
11576         ioctl: Move AC_LIBOBJ invocations to module description.
11577         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
11578         invocations from here...
11579         * modules/ioctl (configure.ac): ... to here.
11580         (Depends-on): Update condition.
11581
11582 2011-05-08  Bruno Haible  <bruno@clisp.org>
11583
11584         imaxdiv: Move AC_LIBOBJ invocations to module description.
11585         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
11586         invocations from here...
11587         * modules/imaxdiv (configure.ac): ... to here.
11588
11589 2011-05-08  Bruno Haible  <bruno@clisp.org>
11590
11591         imaxabs: Move AC_LIBOBJ invocations to module description.
11592         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
11593         invocations from here...
11594         * modules/imaxabs (configure.ac): ... to here.
11595
11596 2011-05-08  Bruno Haible  <bruno@clisp.org>
11597
11598         getaddrinfo: Move AC_LIBOBJ invocations to module description.
11599         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
11600         AC_LIBOBJ invocations from here...
11601         * modules/getaddrinfo (configure.ac): ... to here.
11602         (Depends-on): Add conditions.
11603
11604 2011-05-08  Bruno Haible  <bruno@clisp.org>
11605
11606         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
11607         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
11608         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
11609         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
11610         (gl_PREREQ_INET_PTON): ... from here.
11611         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
11612         gl_PREREQ_INET_PTON here.
11613         (Depends-on): Update condition.
11614
11615 2011-05-08  Bruno Haible  <bruno@clisp.org>
11616
11617         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
11618         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
11619         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
11620         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
11621         (gl_PREREQ_INET_NTOP): ... from here.
11622         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
11623         gl_PREREQ_INET_NTOP here.
11624         (Depends-on): Update condition.
11625
11626 2011-05-08  Bruno Haible  <bruno@clisp.org>
11627
11628         iconv_open: Move AC_LIBOBJ invocations to module description.
11629         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
11630         AC_LIBOBJ invocations from here...
11631         * modules/iconv_open (configure.ac): ... to here.
11632
11633 2011-05-08  Bruno Haible  <bruno@clisp.org>
11634
11635         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
11636         If module 'iconv_open' is among the main modules and module
11637         'iconv_open-utf' is among the tests dependencies, then
11638         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
11639         return the special iconv_t values. Therefore iconv() and iconv_close()
11640         must support these special iconv_t values, already in lib, not only in
11641         tests.
11642         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
11643         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
11644         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
11645         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
11646         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
11647         (Depends-on): Add the dependencies of iconv_open-utf.
11648         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
11649         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
11650         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
11651
11652 2011-05-08  Bruno Haible  <bruno@clisp.org>
11653
11654         group-member: Move AC_LIBOBJ invocations to module description.
11655         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
11656         gl_PREREQ_GROUP_MEMBER invocations from here...
11657         * modules/group-member (configure.ac): ... to here.
11658
11659 2011-05-08  Bruno Haible  <bruno@clisp.org>
11660
11661         grantpt: Move AC_LIBOBJ invocations to module description.
11662         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
11663         invocations from here...
11664         * modules/grantpt (configure.ac): ... to here.
11665
11666 2011-05-08  Bruno Haible  <bruno@clisp.org>
11667
11668         glob: Move AC_LIBOBJ invocations to module description.
11669         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
11670         from here...
11671         * modules/glob (configure.ac): ... to here.
11672
11673 2011-05-08  Bruno Haible  <bruno@clisp.org>
11674
11675         getusershell: Move AC_LIBOBJ invocations to module description.
11676         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
11677         Move AC_LIBOBJ invocation from here...
11678         * modules/getusershell (configure.ac): ... to here.
11679         (Depends-on): Update condition.
11680
11681 2011-05-08  Bruno Haible  <bruno@clisp.org>
11682
11683         gettimeofday: Move AC_LIBOBJ invocations to module description.
11684         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
11685         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
11686         gl_PREREQ_GETTIMEOFDAY invocations from here...
11687         * modules/gettimeofday (configure.ac): ... to here.
11688
11689 2011-05-08  Bruno Haible  <bruno@clisp.org>
11690
11691         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
11692         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
11693         just gl_FUNC_TZSET.
11694         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
11695         (gl_FUNC_TZSET_CLOBBER): Remove actions.
11696         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
11697         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
11698
11699 2011-05-08  Bruno Haible  <bruno@clisp.org>
11700
11701         getsubopt: Move AC_LIBOBJ invocations to module description.
11702         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
11703         gl_PREREQ_GETSUBOPT invocations from here...
11704         * modules/getsubopt (configure.ac): ... to here.
11705
11706 2011-05-08  Bruno Haible  <bruno@clisp.org>
11707
11708         getpass-gnu: Move AC_LIBOBJ invocations to module description.
11709         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
11710         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
11711         * modules/getpass-gnu (configure.ac): ... to here.
11712
11713 2011-05-08  Bruno Haible  <bruno@clisp.org>
11714
11715         getpass: Move AC_LIBOBJ invocations to module description.
11716         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
11717         gl_PREREQ_GETPASS invocations from here...
11718         * modules/getpass (configure.ac): ... to here.
11719
11720 2011-05-08  Bruno Haible  <bruno@clisp.org>
11721
11722         getpagesize: Move AC_LIBOBJ invocations to module description.
11723         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
11724         from here...
11725         * modules/getpagesize (configure.ac): ... to here.
11726
11727 2011-05-08  Bruno Haible  <bruno@clisp.org>
11728
11729         getopt: Move AC_LIBOBJ invocations to module description.
11730         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
11731         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
11732         invocations from here...
11733         * modules/getopt-gnu (configure.ac): ... to here.
11734         * modules/getopt-posix (configure.ac): ... and here.
11735         (Depends-on): Update condition.
11736
11737 2011-05-08  Bruno Haible  <bruno@clisp.org>
11738
11739         getopt, argp: Respect rules for use of AC_LIBOBJ.
11740         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
11741         (gl_REPLACE_GETOPT_ALWAYS): New macro.
11742         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
11743         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
11744
11745 2011-05-08  Bruno Haible  <bruno@clisp.org>
11746
11747         getlogin_r: Move AC_LIBOBJ invocations to module description.
11748         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
11749         gl_PREREQ_GETLOGIN_R invocations from here...
11750         * modules/getlogin_r (configure.ac): ... to here.
11751
11752 2011-05-08  Bruno Haible  <bruno@clisp.org>
11753
11754         getlogin: Move AC_LIBOBJ invocations to module description.
11755         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
11756         here...
11757         * modules/getlogin (configure.ac): ... to here.
11758
11759 2011-05-08  Bruno Haible  <bruno@clisp.org>
11760
11761         getloadavg: Move AC_LIBOBJ invocations to module description.
11762         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
11763         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
11764         * modules/getloadavg (configure.ac): ... to here.
11765
11766 2011-05-08  Bruno Haible  <bruno@clisp.org>
11767
11768         gethrxtime: Move AC_LIBOBJ invocations to module description.
11769         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
11770         LIB_GETHRXTIME from here...
11771         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
11772         invocations from here...
11773         * modules/gethrxtime (configure.ac): ... to here.
11774
11775 2011-05-08  Bruno Haible  <bruno@clisp.org>
11776
11777         gethostname: Move AC_LIBOBJ invocations to module description.
11778         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
11779         gl_PREREQ_GETHOSTNAME invocations from here...
11780         * modules/gethostname (configure.ac): ... to here.
11781
11782 2011-05-08  Bruno Haible  <bruno@clisp.org>
11783
11784         getgroups: Move AC_LIBOBJ invocations to module description.
11785         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
11786         here...
11787         * modules/getgroups (configure.ac): ... to here.
11788
11789 2011-05-08  Bruno Haible  <bruno@clisp.org>
11790
11791         getdtablesize: Move AC_LIBOBJ invocations to module description.
11792         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
11793         invocation from here...
11794         * modules/getdtablesize (configure.ac): ... to here.
11795
11796 2011-05-08  Bruno Haible  <bruno@clisp.org>
11797
11798         getdomainname: Move AC_LIBOBJ invocations to module description.
11799         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
11800         gl_PREREQ_GETDOMAINNAME invocations from here...
11801         * modules/getdomainname (configure.ac): ... to here.
11802
11803 2011-05-08  Bruno Haible  <bruno@clisp.org>
11804
11805         getline: Move AC_LIBOBJ invocations to module description.
11806         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
11807         invocations from here...
11808         * modules/getline (configure.ac): ... to here.
11809
11810 2011-05-08  Bruno Haible  <bruno@clisp.org>
11811
11812         getline: Simplify.
11813         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
11814         It's already handled through the module dependency.
11815
11816 2011-05-08  Bruno Haible  <bruno@clisp.org>
11817
11818         getdelim: Move AC_LIBOBJ invocations to module description.
11819         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
11820         and gl_PREREQ_GETDELIM invocations from here...
11821         * modules/getdelim (configure.ac): ... to here.
11822         (Depends-on): Fix condition.
11823
11824 2011-05-08  Bruno Haible  <bruno@clisp.org>
11825
11826         getcwd: Move AC_LIBOBJ invocations to module description.
11827         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
11828         invocations from here...
11829         * modules/getcwd (configure.ac): ... to here.
11830
11831 2011-05-08  Bruno Haible  <bruno@clisp.org>
11832
11833         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
11834         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
11835         here...
11836         * modules/getcwd-lgpl (configure.ac): ... to here.
11837
11838 2011-05-07  Bruno Haible  <bruno@clisp.org>
11839
11840         crypto/gc: Move AC_LIBOBJ invocations to module description.
11841         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
11842         * modules/crypto/gc (configure.ac): ... to here.
11843
11844 2011-05-07  Bruno Haible  <bruno@clisp.org>
11845
11846         fwriting: Move AC_LIBOBJ invocations to module description.
11847         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
11848         here...
11849         * modules/fwriting (configure.ac): ... to here.
11850
11851 2011-05-07  Bruno Haible  <bruno@clisp.org>
11852
11853         fwritable: Move AC_LIBOBJ invocations to module description.
11854         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
11855         here...
11856         * modules/fwritable (configure.ac): ... to here.
11857
11858 2011-05-07  Bruno Haible  <bruno@clisp.org>
11859
11860         futimens: Move AC_LIBOBJ invocations to module description.
11861         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
11862         here...
11863         * modules/futimens (configure.ac): ... to here.
11864
11865 2011-05-07  Bruno Haible  <bruno@clisp.org>
11866
11867         ftruncate: Move AC_LIBOBJ invocations to module description.
11868         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
11869         gl_PREREQ_FTRUNCATE invocations from here...
11870         * modules/ftruncate (configure.ac): ... to here.
11871
11872 2011-05-07  Bruno Haible  <bruno@clisp.org>
11873
11874         fsync: Move AC_LIBOBJ invocations to module description.
11875         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
11876         invocations from here...
11877         * modules/fsync (configure.ac): ... to here.
11878
11879 2011-05-07  Bruno Haible  <bruno@clisp.org>
11880
11881         fsusage: Move AC_LIBOBJ invocations to module description.
11882         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
11883         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
11884         * modules/fsusage (configure.ac): ... to here.
11885
11886 2011-05-07  Bruno Haible  <bruno@clisp.org>
11887
11888         freopen: Move AC_LIBOBJ invocations to module description.
11889         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
11890         invocations from here...
11891         * modules/freopen (configure.ac): ... to here.
11892
11893 2011-05-07  Bruno Haible  <bruno@clisp.org>
11894
11895         free: Move AC_LIBOBJ invocations to module description.
11896         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
11897         invocations from here...
11898         * modules/free (configure.ac): ... to here.
11899
11900 2011-05-07  Bruno Haible  <bruno@clisp.org>
11901
11902         freadable: Move AC_LIBOBJ invocations to module description.
11903         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
11904         here...
11905         * modules/freadable (configure.ac): ... to here.
11906
11907 2011-05-07  Bruno Haible  <bruno@clisp.org>
11908
11909         fpurge: Move AC_LIBOBJ invocations to module description.
11910         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
11911         invocations from here...
11912         * modules/fpurge (configure.ac): ... to here.
11913
11914 2011-05-07  Bruno Haible  <bruno@clisp.org>
11915
11916         fpending: Move AC_LIBOBJ invocations to module description.
11917         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
11918         gl_FUNC_FPENDING.
11919         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
11920         invocations from here...
11921         * modules/fpending (configure.ac): ... to here.
11922
11923 2011-05-07  Bruno Haible  <bruno@clisp.org>
11924
11925         fopen: Move AC_LIBOBJ invocations to module description.
11926         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
11927         invocations from here...
11928         * modules/fopen (configure.ac): ... to here.
11929
11930 2011-05-07  Bruno Haible  <bruno@clisp.org>
11931
11932         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
11933         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
11934         gl_FUNC_FNMATCH_POSIX.
11935         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
11936         invocations from here...
11937         * modules/fnmatch (configure.ac): ... to here.
11938         * modules/fnmatch-gnu (configure.ac): ... and here.
11939
11940 2011-05-07  Bruno Haible  <bruno@clisp.org>
11941
11942         flock: Move AC_LIBOBJ invocations to module description.
11943         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
11944         invocations from here...
11945         * modules/flock (configure.ac): ... to here.
11946
11947 2011-05-07  Bruno Haible  <bruno@clisp.org>
11948
11949         fileblocks: Move AC_LIBOBJ invocations to module description.
11950         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
11951         gl_PREREQ_FILEBLOCKS invocations from here...
11952         * modules/fileblocks (configure.ac): ... to here.
11953
11954 2011-05-06  Bruno Haible  <bruno@clisp.org>
11955
11956         fflush: Move AC_LIBOBJ invocations to module description.
11957         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
11958         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
11959         invocations from here...
11960         * modules/fflush (configure.ac): ... to here.
11961
11962 2011-05-06  Bruno Haible  <bruno@clisp.org>
11963
11964         fdopendir: Move AC_LIBOBJ invocations to module description.
11965         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
11966         here...
11967         * modules/fdopendir (configure.ac): ... to here.
11968         (Depends-on): Improve conditions.
11969
11970 2011-05-06  Bruno Haible  <bruno@clisp.org>
11971
11972         _Exit: Move AC_LIBOBJ invocations to module description.
11973         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
11974         invocations from here...
11975         * modules/_Exit (configure.ac): ... to here.
11976
11977 2011-05-21  Bruno Haible  <bruno@clisp.org>
11978
11979         euidaccess: Respect rules for use of AC_LIBOBJ.
11980         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
11981         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
11982         from here...
11983         * modules/euidaccess (configure.ac): ... to here.
11984
11985 2011-05-06  Bruno Haible  <bruno@clisp.org>
11986
11987         error: Move AC_LIBOBJ invocations to module description.
11988         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
11989         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
11990         invocations from here...
11991         * modules/error (configure.ac): ... to here.
11992
11993 2011-05-06  Bruno Haible  <bruno@clisp.org>
11994
11995         duplocale: Move AC_LIBOBJ invocations to module description.
11996         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
11997         gl_PREREQ_DUPLOCALE invocations from here...
11998         * modules/duplocale (configure.ac): ... to here.
11999
12000 2011-05-05  Bruno Haible  <bruno@clisp.org>
12001
12002         dirfd: Move AC_LIBOBJ invocations to module description.
12003         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
12004         gl_FUNC_DIRFD.
12005         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
12006         here...
12007         * modules/dirfd (configure.ac): ... to here.
12008         (Depends-on): Fix condition.
12009
12010 2011-05-05  Bruno Haible  <bruno@clisp.org>
12011
12012         chown: Respect rules for use of AC_LIBOBJ.
12013         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
12014         * modules/chown (configure.ac): ... to here.
12015
12016 2011-05-05  Bruno Haible  <bruno@clisp.org>
12017
12018         chdir-long: Move AC_LIBOBJ invocations to module description.
12019         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
12020         gl_PREREQ_CHDIR_LONG invocations from here...
12021         * modules/chdir-long (configure.ac): ... to here.
12022
12023 2011-05-05  Bruno Haible  <bruno@clisp.org>
12024
12025         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
12026         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
12027         from here...
12028         * modules/canonicalize-lgpl (configure.ac): ... to here.
12029
12030 2011-05-05  Bruno Haible  <bruno@clisp.org>
12031
12032         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
12033         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
12034         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
12035         REPLACE_CALLOC.
12036         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
12037         * modules/calloc-gnu (configure.ac): Likewise.
12038
12039 2011-05-05  Bruno Haible  <bruno@clisp.org>
12040
12041         btowc: Move AC_LIBOBJ invocations to module description.
12042         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
12043         invocations from here...
12044         * modules/btowc (configure.ac): ... to here.
12045
12046 2011-05-21  Bruno Haible  <bruno@clisp.org>
12047
12048         atexit: Move AC_LIBOBJ invocations to module description.
12049         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
12050         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
12051         here...
12052         * modules/atexit (configure.ac): ... to here.
12053
12054 2011-05-05  Bruno Haible  <bruno@clisp.org>
12055
12056         atoll: Move AC_LIBOBJ invocations to module description.
12057         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
12058         invocations from here...
12059         * modules/atoll (configure.ac): ... to here.
12060
12061 2011-05-05  Bruno Haible  <bruno@clisp.org>
12062
12063         argz: Move AC_LIBOBJ invocations to module description.
12064         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
12065         * modules/argz (configure.ac): ... to here.
12066
12067 2011-05-05  Bruno Haible  <bruno@clisp.org>
12068
12069         alphasort: Move AC_LIBOBJ invocations to module description.
12070         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
12071         gl_PREREQ_ALPHASORT invocations from here...
12072         * modules/alphasort (configure.ac): ... to here.
12073
12074 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
12075
12076         verify: new macro verify_expr; verify_true deprecated
12077         * NEWS: Mention this.
12078         * doc/verify.texi (Compile-time Assertions): Document this.
12079         * lib/verify.h (verify_true): Deprecate.
12080         (verify_expr): New macro.
12081         * tests/test-verify.c (function): Test verify_expr.
12082
12083 2011-06-14  Jim Meyering  <meyering@redhat.com>
12084
12085         init.sh: give more portable redirection-related advice in a comment
12086         * tests/init.sh (stderr_fileno_): Update the advice in comments.
12087         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
12088         for lots of discussion.  Stefano Lattarini suggested the solution
12089         of putting "9>&2" after the command.  Reported by Bruno Haible.
12090
12091 2011-06-13  Bruno Haible  <bruno@clisp.org>
12092
12093         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
12094         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
12095         'none'.
12096
12097 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
12098
12099         ftoastr: use strtof only if HAVE_STRTOF
12100         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
12101         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
12102         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
12103         * modules/ftoastr (configure.ac): Check for strtof.
12104
12105 2011-06-13  Bruno Haible  <bruno@clisp.org>
12106
12107         gnulib-tool: Addendum to 2011-06-08 commit.
12108         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
12109         and --witness-c-macro have been given, augment AM_CPPFLAGS.
12110
12111 2011-06-13  Bruno Haible  <bruno@clisp.org>
12112
12113         fseeko: Provide a non-inline replacement of fseek().
12114         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
12115         * modules/fseeko (Depends-on): Add fseek.
12116         * modules/fseek (License): Change to LGPLv2+.
12117
12118 2011-06-13  Bruno Haible  <bruno@clisp.org>
12119
12120         ftello: Provide a non-inline replacement of ftell().
12121         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
12122         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
12123         not have ftello() (such as on mingw).
12124         * modules/ftello (Depends-on): Add ftell.
12125         * modules/ftell (License): Change to LGPLv2+.
12126
12127 2011-05-07  Bruno Haible  <bruno@clisp.org>
12128
12129         ftell: Move AC_LIBOBJ invocations to module description.
12130         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
12131         * modules/ftell (configure.ac): ... to here.
12132
12133 2011-05-07  Bruno Haible  <bruno@clisp.org>
12134
12135         ftello: Respect rules for use of AC_LIBOBJ.
12136         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
12137         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
12138         here...
12139         * modules/ftello (configure.ac): ... to here.
12140
12141 2011-05-07  Bruno Haible  <bruno@clisp.org>
12142
12143         fseeko: Simplify.
12144         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
12145         (gl_FUNC_FSEEKO): Inline it here.
12146
12147 2011-05-07  Bruno Haible  <bruno@clisp.org>
12148
12149         fseek: Move AC_LIBOBJ invocations to module description.
12150         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
12151         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12152         * modules/fseek (configure.ac): ... to here.
12153
12154 2011-05-07  Bruno Haible  <bruno@clisp.org>
12155
12156         fseek: Respect rules for use of AC_LIBOBJ.
12157         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
12158         here...
12159         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
12160
12161 2011-05-07  Bruno Haible  <bruno@clisp.org>
12162
12163         fseeko: Respect rules for use of AC_LIBOBJ.
12164         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
12165         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
12166         here...
12167         * modules/fseeko (configure.ac): ... to here.
12168
12169 2011-06-13  Bruno Haible  <bruno@clisp.org>
12170
12171         gnulib-tool: Allow comments in the 'Depends-on' section.
12172         * doc/gnulib.texi (Module description): Mention comment syntax in the
12173         Depends-on section.
12174         * gnulib-tool (func_get_dependencies): Filter out comment lines.
12175
12176 2011-06-13  Bruno Haible  <bruno@clisp.org>
12177
12178         file-set.h: guard __attibute__ use, now that it's not always defined
12179         * lib/file-set.h (record_file): Use __attribute__ only with compiler
12180         versions that support it.  This fixes a coreutils build failure with
12181         the vendor cc on HP-UX 11.31.
12182
12183 2011-06-12  Bruno Haible  <bruno@clisp.org>
12184
12185         acl: Add support for HP-UX >= 11.11 JFS ACLs.
12186         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
12187         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
12188         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
12189         (acl, aclsort): New declarations.
12190         (aclv_nontrivial): New declaration.
12191         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
12192         (file_has_acl): Read also the second kind of HP-UX ACLs.
12193         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
12194         kind of HP-UX ACLs if the first kind fails.
12195         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
12196         second kind of HP-UX ACLs.
12197         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
12198         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
12199         agree.
12200         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
12201         hpuxjfs.
12202         Handle hpuxjfs.
12203         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
12204         hpuxjfs.
12205         Handle hpuxjfs.
12206         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
12207         (func_test_same_acls): Use both lsacl and getacl.
12208         Handle hpuxjfs.
12209         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
12210         (func_test_same_acls): Use both lsacl and getacl.
12211         Handle hpuxjfs.
12212
12213 2011-06-12  Bruno Haible  <bruno@clisp.org>
12214
12215         acl: Complete the 2010-08-10 fix.
12216         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
12217         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
12218         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
12219         explicitly.
12220         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
12221         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
12222
12223 2011-06-12  Bruno Haible  <bruno@clisp.org>
12224
12225         spawn-pipe tests: Comments.
12226         * tests/test-spawn-pipe-child.c (main): Update comment.
12227         Reported by James Youngman <jay@gnu.org>.
12228
12229 2011-06-11  James Youngman  <jay@gnu.org>
12230
12231         New module 'stat-size'.
12232         * modules/stat-size: New module.  Provides macros for accessing
12233         file size information in instances of struct stat.  Depends on the
12234         fileblocks module because it calls st_blocks.
12235         * lib/stat-size.h: New file, adapted from coreutils' system.h.
12236         * doc/gnulib.texi: Include stat-size.texi.
12237         * doc/stat-size.texi: Documentation for this module.
12238         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
12239         * m4/fileblocks.m4: Mention that stat-size depends on the call to
12240         AC_STRUCT_ST_BLOCKS.
12241
12242 2011-06-09  Bruno Haible  <bruno@clisp.org>
12243
12244         thread: Support pthreads-win32.
12245         * lib/glthread/thread.h (gl_thread_self): Define differently on
12246         pthreads-win32.
12247         (gl_null_thread): New declaration.
12248         (gl_thread_self_pointer): New macro.
12249         * lib/glthread/thread.c (gl_null_thread): New constant.
12250         * tests/test-lock.c: Use gl_thread_self_pointer instead of
12251         gl_thread_self.
12252         * tests/test-tls.c: Likewise.
12253         Suggested by Paul Eggert. Reported by Eric Blake.
12254
12255 2011-06-09  Bruno Haible  <bruno@clisp.org>
12256
12257         thread: Fix confusion between NULL and 0.
12258         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
12259         Reported by Paul Eggert.
12260
12261 2011-06-09  Bruno Haible  <bruno@clisp.org>
12262
12263         spawn-pipe tests: Avoid test failure on HP-UX 11.
12264         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
12265         is closed.
12266
12267 2011-06-09  Bruno Haible  <bruno@clisp.org>
12268
12269         acl tests: Fix compilation error on HP-UX 11.
12270         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
12271
12272 2011-06-09  Bruno Haible  <bruno@clisp.org>
12273
12274         rmdir: Avoid test failure on HP-UX 10.20.
12275         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
12276         EEXIST.
12277
12278 2011-06-08  Eric Blake  <eblake@redhat.com>
12279
12280         perror: fix test on mingw
12281         * modules/perror-tests (Depends-on): Add dup2.
12282
12283         strerror_r-posix: fix on MacOS
12284         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
12285         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
12286         logic bug.
12287         * lib/strerror_r.c (strerror_r): Fix the bug.
12288         * lib/strerror.c (strerror): Likewise.
12289         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
12290         problem.
12291         * doc/posix-functions/strerror.texi (strerror): Likewise.
12292         * doc/posix-functions/perror.texi (perror): Likewise.
12293         * tests/test-strerror.c (main): Enhance test.
12294         * tests/test-strerror_r.c (main): Likewise.
12295
12296 2011-06-08  Bruno Haible  <bruno@clisp.org>
12297
12298         gnulib-tool: Better isolation between different gnulib-tool invocations.
12299         * gnulib-tool: New option --witness-c-macro.
12300         (witness_c_macro): New variable.
12301         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
12302         AM_CPPFLAGS define it as a C macro.
12303         (func_emit_tests_Makefile_am): Likewise.
12304         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
12305         read it from there.
12306         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
12307         m4_define, not AC_DEFUN.
12308         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
12309         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
12310         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
12311         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
12312         s|...|...|, to substitute the values of the GNULIB_* module indicator
12313         variables.
12314         * modules/dirent (Makefile.am): Likewise.
12315         * modules/fcntl-h (Makefile.am): Likewise.
12316         * modules/iconv-h (Makefile.am): Likewise.
12317         * modules/langinfo (Makefile.am): Likewise.
12318         * modules/locale (Makefile.am): Likewise.
12319         * modules/math (Makefile.am): Likewise.
12320         * modules/netdb (Makefile.am): Likewise.
12321         * modules/poll-h (Makefile.am): Likewise.
12322         * modules/pty (Makefile.am): Likewise.
12323         * modules/search (Makefile.am): Likewise.
12324         * modules/signal (Makefile.am): Likewise.
12325         * modules/spawn (Makefile.am): Likewise.
12326         * modules/stdio (Makefile.am): Likewise.
12327         * modules/stdlib (Makefile.am): Likewise.
12328         * modules/string (Makefile.am): Likewise.
12329         * modules/sys_ioctl (Makefile.am): Likewise.
12330         * modules/sys_select (Makefile.am): Likewise.
12331         * modules/sys_socket (Makefile.am): Likewise.
12332         * modules/sys_stat (Makefile.am): Likewise.
12333         * modules/sys_times (Makefile.am): Likewise.
12334         * modules/sys_utsname (Makefile.am): Likewise.
12335         * modules/sys_wait (Makefile.am): Likewise.
12336         * modules/termios (Makefile.am): Likewise.
12337         * modules/time (Makefile.am): Likewise.
12338         * modules/unistd (Makefile.am): Likewise.
12339         * modules/wchar (Makefile.am): Likewise.
12340
12341 2011-06-08  Eric Blake  <eblake@redhat.com>
12342
12343         strerror: simplify replacement
12344         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
12345         * modules/strerror (configure.ac): No prereqs needed here...
12346         * modules/strerror-override (configure.ac): ...but this needs it.
12347         (Files): Add file for needed prereq macro.
12348
12349 2011-06-08  Bruno Haible  <bruno@clisp.org>
12350
12351         strerror_r-posix: Tweaks.
12352         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
12353         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
12354         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
12355         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
12356         (gl_FUNC_STRERROR_R): ... to here.
12357         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
12358
12359 2011-06-07  Eric Blake  <eblake@redhat.com>
12360
12361         perror: document fixed bugs
12362         * doc/posix-functions/perror.texi (perror): Document recent
12363         patches.
12364
12365 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
12366
12367         stat-time: get_stat_birthtime failure is better-defined
12368         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
12369         return a timestamp whose tv_sec and tv_nsec values are both -1.
12370         Previously, the spec said only that the tv_nsec value was negative.
12371         This upward-compatible change simplifies GNU tar a bit.
12372
12373 2011-06-07  Eric Blake  <eblake@redhat.com>
12374
12375         strerror_r-posix: work around cygwin 1.7.9
12376         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
12377         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
12378         bug without replacing strerror_r.
12379         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
12380         strerror_r is buggy, but without requiring strerror_r compilation.
12381         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
12382
12383         test-perror: relax test to ignore cygwin bug
12384         * tests/test-perror2.c (main): Relax test on requiring detection
12385         of stream errors, and use unbuffered stream.
12386         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
12387         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
12388         * doc/posix-functions/fputc.texi (fputc): Likewise.
12389         * doc/posix-functions/fputs.texi (fputs): Likewise.
12390         * doc/posix-functions/fputws.texi (fputws): Likewise.
12391         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
12392         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
12393         * doc/posix-functions/getopt.texi (getopt): Likewise.
12394         * doc/posix-functions/perror.texi (perror): Likewise.
12395         * doc/posix-functions/printf.texi (printf): Likewise.
12396         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
12397         * doc/posix-functions/psignal.texi (psignal): Likewise.
12398         * doc/posix-functions/putc.texi (putc): Likewise.
12399         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
12400         Likewise.
12401         * doc/posix-functions/putchar.texi (putchar): Likewise.
12402         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
12403         Likewise.
12404         * doc/posix-functions/puts.texi (puts): Likewise.
12405         * doc/posix-functions/putwc.texi (putwc): Likewise.
12406         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
12407         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
12408         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12409         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
12410         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12411         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
12412         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
12413         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
12414
12415 2011-05-22  Bruno Haible  <bruno@clisp.org>
12416
12417         strerror: Move AC_LIBOBJ invocations to module description.
12418         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
12419         gl_PREREQ_STRERROR invocations from here...
12420         * modules/strerror (configure.ac): ... to here.
12421
12422 2011-05-21  Bruno Haible  <bruno@clisp.org>
12423
12424         perror: Use common idiom.
12425         * modules/perror (configure.ac): Reorder statements.
12426
12427 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12428
12429         tests: fix usage message in 'mktempd_'
12430         * tests/init.sh (mktempd_): In the usage message, use literal
12431         'mktempd_', not '$ME' (which is even undefined), as the name of
12432         the subroutine.
12433
12434 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12435
12436         tests init: new function 'fatal_', for hard errors
12437         Before this patch, the only way offered by tests/init.sh to
12438         properly signal a hard error was the `framework_failure_'
12439         function.  But the error message issued by that function,
12440         as its name would suggest, refers to a set-up failure in the
12441         testsuite, while hard errors can obviously also be due to
12442         other reasons.  The best way to fix this inconsistency is to
12443         introduce a new function with a more general error message.
12444         * tests/init.sh (fatal_): New function.
12445
12446 2011-06-06  Eric Blake  <eblake@redhat.com>
12447
12448         canonicalize-lgpl: use common idiom
12449         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
12450         over newer POSIX -Rf.
12451         Reported by Bruno Haible.
12452
12453         canonicalize-lgpl: work around AIX realpath bug
12454         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
12455         * doc/posix-functions/realpath.texi (realpath): Document it.
12456         Reported by Bruno Haible.
12457
12458         strerror: work around FreeBSD bug
12459         * lib/strerror.c (strerror): Special case 0.
12460         Reported by Bruno Haible.
12461
12462         strerror-override: avoid bloating errno module
12463         * modules/errno (Files, configure.ac): Move replacement strings...
12464         * modules/strerror-override: ...to new module.
12465         * modules/strerror (Depends-on): Add strerror-override.
12466         * modules/strerror_r-posix (Depends-on): Likewise.
12467         * MODULES.html.sh: Document new module.
12468         Reported by Bruno Haible.
12469
12470 2011-06-06  Bruno Haible  <bruno@clisp.org>
12471
12472         spawn-pipe tests: Rename program.
12473         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
12474         * tests/test-spawn-pipe-child.c: Update comment.
12475         * tests/test-spawn-pipe.sh: Update.
12476         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
12477
12478         spawn-pipe tests: Link the child program only against libc.
12479         * tests/test-spawn-pipe-child.c: New file, extracted from
12480         tests/test-spawn-pipe.c.
12481         (main): Expect only one argument.
12482         (is_open): New function, copied from tests/test-pipe.c.
12483         * tests/test-spawn-pipe.c: Don't include <errno.h>.
12484         (child_main): Remove function.
12485         (test_pipe): Pass only one argument to the child program.
12486         (main): Remove child process code. Expect the child program's name as
12487         first argument.
12488         * tests/test-spawn-pipe.sh: Pass the child program's name as first
12489         argument.
12490         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
12491         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
12492         test-spawn-pipe-child against no libraries.
12493
12494 2011-06-06  Bruno Haible  <bruno@clisp.org>
12495
12496         careadlinkat: Avoid mismatch between ssize_t and int.
12497         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
12498         * lib/careadlinkat.c (careadlinkatcwd): Define always.
12499
12500 2011-06-06  Jim Meyering  <meyering@redhat.com>
12501
12502         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
12503         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
12504         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
12505
12506 2011-06-05  Bruno Haible  <bruno@clisp.org>
12507
12508         ansi-c++-opt: Interoperability with libtool.
12509         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
12510         set the variable to "no", not to ":".
12511         * NEWS: Mention the change.
12512
12513 2011-06-05  Bruno Haible  <bruno@clisp.org>
12514
12515         acl: Fix test failure on AIX 7.
12516         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
12517         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
12518
12519 2011-06-05  Bruno Haible  <bruno@clisp.org>
12520
12521         pipe-filter-ii: Fix test failure on AIX and IRIX.
12522         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
12523         with EAGAIN, retry with a smaller buffer size.
12524
12525 2011-06-05  Bruno Haible  <bruno@clisp.org>
12526
12527         localename: Fix link dependencies.
12528         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
12529         * modules/localename-tests (Makefile.am): Link test-localename with
12530         $(LIBTHREAD).
12531
12532 2011-06-05  Bruno Haible  <bruno@clisp.org>
12533
12534         error: Avoid gcc warning.
12535         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
12536
12537 2011-06-05  Bruno Haible  <bruno@clisp.org>
12538
12539         unsetenv: Avoid gcc warning.
12540         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
12541
12542 2011-06-05  Bruno Haible  <bruno@clisp.org>
12543
12544         setenv: Avoid gcc warning.
12545         * lib/setenv.c (setenv): Provide declaration if system lacks it.
12546
12547 2011-06-05  Bruno Haible  <bruno@clisp.org>
12548
12549         sys_select: Ensure memset is declared also on AIX 7.
12550         * lib/sys_select.in.h: Include <string.h> also on AIX.
12551         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
12552         self-contained also on AIX 7.1.
12553
12554 2011-06-04  Jim Meyering  <meyering@redhat.com>
12555
12556         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
12557         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
12558         function name, "error".
12559         (_gl_translatable_diag_func_re): New configurable variable.
12560
12561 2011-06-04  Bruno Haible  <bruno@clisp.org>
12562
12563         getopt: Avoid gcc warning.
12564         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
12565
12566 2011-06-04  Bruno Haible  <bruno@clisp.org>
12567
12568         strerror_r: Fix comments.
12569         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
12570         commit.
12571
12572 2011-06-04  Bruno Haible  <bruno@clisp.org>
12573
12574         perror: Fix compilation error.
12575         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
12576         Undefine fprintf, not sprintf.
12577         * modules/perror (Depends-on): Remove intprops, verify.
12578
12579 2011-06-04  Bruno Haible  <bruno@clisp.org>
12580
12581         setlocale: Enable replacement on Cygwin 1.5.
12582         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
12583         Cygwin 1.5.x.
12584         * doc/posix-functions/setlocale.texi: Mention that the problem with the
12585         LC_CTYPE category also exists on Cygwin 1.5.x.
12586
12587 2011-06-04  Bruno Haible  <bruno@clisp.org>
12588
12589         strerror-override: Don't disable symbol renamings.
12590         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
12591         * lib/strerror-override.c: Include config.h.
12592         (strerror_override): Don't undefine.
12593
12594 2011-06-03  Bruno Haible  <bruno@clisp.org>
12595
12596         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
12597         * lib/localename.h: Update copyright header.
12598         * lib/localename.c: Likewise.
12599         * lib/relocatable.h: Likewise.
12600         * lib/relocatable.c: Likewise.
12601
12602 2011-06-02  Bruno Haible  <bruno@clisp.org>
12603
12604         doc: Fix a module name.
12605         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
12606
12607 2011-06-02  Bruno Haible  <bruno@clisp.org>
12608
12609         pipe2: Remove dependency on 'nonblocking' module.
12610         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
12611         O_NONBLOCK is defined by gnulib.
12612         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
12613         is zero.
12614         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
12615         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
12616         defined by gnulib.
12617         (get_nonblocking_flag): New function.
12618         (main): Test O_NONBLOCK flag only if it is nonzero.
12619         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
12620
12621 2011-06-03  Jim Meyering  <meyering@redhat.com>
12622
12623         maint: three new prohibit-header-without-use rules
12624         Prohibit use of cloexec.h, posixver.h, same.h without use.
12625         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
12626         (sc_prohibit_posixver_without_use): Likewise.
12627         (sc_prohibit_same_without_use): Likewise.
12628
12629 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12630
12631         allocator: 'die' routine is now given requested size
12632         * lib/allocator.h (struct allocator.die): New size arg.
12633         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
12634         If the actual problem is an ssize_t limitation, not a size_t or
12635         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
12636
12637 2011-06-01  Eric Blake  <eblake@redhat.com>
12638
12639         strerror: drop strerror_r dependency
12640         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
12641         * lib/strerror-override.c (strerror_override): ...to new file.
12642         * lib/strerror-override.h: Add prototype.
12643         * lib/strerror-impl.h: Delete.
12644         * lib/strerror.c (strerror): New implementation.
12645         * modules/errno (Files): Add new files.
12646         (configure.ac): Compile new file as appropriate.
12647         * modules/strerror (Files): Drop unused file.
12648         (Depends-on): Drop strerror_r-posix.
12649         * MODULES.html.sh: Document strerror_r-posix.
12650         Requested by Sam Steingold.
12651
12652         perror: call strerror_r directly
12653         * modules/perror (Files): Drop strerror-impl.h.
12654         * lib/perror.c (perror): Use our own stack buffer, rather than
12655         calling a wrapper that uses static storage.
12656         * doc/posix-functions/perror.texi (perror): Document a limitation
12657         of our replacement.
12658
12659         strerror_r: fix includes for FreeBSD
12660         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
12661         since we use abort on some platforms.
12662         Reported by Matthias Bolte.
12663
12664 2011-05-31  Bruno Haible  <bruno@clisp.org>
12665
12666         Fix link errors in tests: openat-die uses gettext-h.
12667         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
12668         against $(LIBINTL).
12669         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
12670         against $(LIBINTL).
12671         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
12672         $(LIBINTL).
12673         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
12674         against $(LIBINTL).
12675         * modules/linkat-tests (Makefile.am): Link test-linkat against
12676         $(LIBINTL).
12677         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
12678         $(LIBINTL).
12679         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
12680         against $(LIBINTL).
12681         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
12682         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
12683         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
12684         $(LIBINTL).
12685         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
12686         $(LIBINTL).
12687         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
12688         $(LIBINTL).
12689         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12690
12691 2011-05-31  Bruno Haible  <bruno@clisp.org>
12692
12693         Fix link errors in tests: wait-process uses gettext-h.
12694         * modules/nonblocking-pipe-tests (Makefile.am): Set
12695         test_nonblocking_pipe_main_LDADD.
12696         * modules/nonblocking-socket-tests (Makefile.am): Link
12697         test-nonblocking-socket-main against $(LIBINTL).
12698         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12699
12700 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
12701
12702         assert-h: work around 'verify' incompatibility
12703         * lib/verify.h: Use @...@ directives, not ifdef.
12704         * modules/assert-h (assert.h): Implement the directives.
12705         (assert.h): Substitute the symbol-prefix more consistently.
12706
12707 2011-05-29  Jim Meyering  <meyering@redhat.com>
12708
12709         trim: remove three superfluous assignments
12710         * lib/trim.c (trim2): Remove three superfluous assignments
12711         and correct brace positioning.
12712
12713 2011-05-29  Bruno Haible  <bruno@clisp.org>
12714
12715         wctype-h: Avoid namespace pollution on Solaris 2.6.
12716         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
12717         identifiers.
12718         * doc/posix-headers/wctype.texi: Mention the problem.
12719         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12720
12721 2011-05-28  Jim Meyering  <meyering@redhat.com>
12722
12723         parse-datetime.y: accommodate -Wstrict-overflow
12724         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
12725         placate -Wstrict-overflow.
12726
12727         trim: avoid a warning from -O2 -Wstrict-overflow
12728         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
12729
12730 2011-05-29  Bruno Haible  <bruno@clisp.org>
12731
12732         gnulib-tool: Fix bug in yesterday's commit.
12733         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
12734         twice.
12735
12736 2011-05-29  Bruno Haible  <bruno@clisp.org>
12737
12738         Allow multiple gnulib generated include files to be combined.
12739         * gnulib-tool (func_compute_include_guard_prefix): New function.
12740         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
12741         ${gl_include_guard_prefix} references.
12742         (func_import, func_create_testdir): Invoke
12743         func_compute_include_guard_prefix.
12744         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
12745         * lib/ctype.in.h: Likewise.
12746         * lib/dirent.in.h: Likewise.
12747         * lib/errno.in.h: Likewise.
12748         * lib/fcntl.in.h: Likewise.
12749         * lib/float.in.h: Likewise.
12750         * lib/getopt.in.h: Likewise.
12751         * lib/iconv.in.h: Likewise.
12752         * lib/langinfo.in.h: Likewise.
12753         * lib/locale.in.h: Likewise.
12754         * lib/math.in.h: Likewise.
12755         * lib/netdb.in.h: Likewise.
12756         * lib/netinet_in.in.h: Likewise.
12757         * lib/poll.in.h: Likewise.
12758         * lib/pthread.in.h: Likewise.
12759         * lib/pty.in.h: Likewise.
12760         * lib/sched.in.h: Likewise.
12761         * lib/se-selinux.in.h: Likewise.
12762         * lib/search.in.h: Likewise.
12763         * lib/signal.in.h: Likewise.
12764         * lib/spawn.in.h: Likewise.
12765         * lib/stdarg.in.h: Likewise.
12766         * lib/stddef.in.h: Likewise.
12767         * lib/stdint.in.h: Likewise.
12768         * lib/stdio.in.h: Likewise.
12769         * lib/stdlib.in.h: Likewise.
12770         * lib/string.in.h: Likewise.
12771         * lib/strings.in.h: Likewise.
12772         * lib/sys_file.in.h: Likewise.
12773         * lib/sys_ioctl.in.h: Likewise.
12774         * lib/sys_select.in.h: Likewise.
12775         * lib/sys_socket.in.h: Likewise.
12776         * lib/sys_stat.in.h: Likewise.
12777         * lib/sys_time.in.h: Likewise.
12778         * lib/sys_times.in.h: Likewise.
12779         * lib/sys_uio.in.h: Likewise.
12780         * lib/sys_utsname.in.h: Likewise.
12781         * lib/sys_wait.in.h: Likewise.
12782         * lib/sysexits.in.h: Likewise.
12783         * lib/termios.in.h: Likewise.
12784         * lib/time.in.h: Likewise.
12785         * lib/unistd.in.h: Likewise.
12786         * lib/wchar.in.h: Likewise.
12787         * lib/wctype.in.h: Likewise.
12788         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
12789         * modules/ctype (Makefile.am): Likewise.
12790         * modules/dirent (Makefile.am): Likewise.
12791         * modules/errno (Makefile.am): Likewise.
12792         * modules/fcntl-h (Makefile.am): Likewise.
12793         * modules/float (Makefile.am): Likewise.
12794         * modules/getopt-posix (Makefile.am): Likewise.
12795         * modules/iconv-h (Makefile.am): Likewise.
12796         * modules/langinfo (Makefile.am): Likewise.
12797         * modules/locale (Makefile.am): Likewise.
12798         * modules/math (Makefile.am): Likewise.
12799         * modules/netdb (Makefile.am): Likewise.
12800         * modules/netinet_in (Makefile.am): Likewise.
12801         * modules/poll-h (Makefile.am): Likewise.
12802         * modules/pthread (Makefile.am): Likewise.
12803         * modules/pty (Makefile.am): Likewise.
12804         * modules/sched (Makefile.am): Likewise.
12805         * modules/search (Makefile.am): Likewise.
12806         * modules/selinux-h (Makefile.am): Likewise.
12807         * modules/signal (Makefile.am): Likewise.
12808         * modules/spawn (Makefile.am): Likewise.
12809         * modules/stdarg (Makefile.am): Likewise.
12810         * modules/stddef (Makefile.am): Likewise.
12811         * modules/stdint (Makefile.am): Likewise.
12812         * modules/stdio (Makefile.am): Likewise.
12813         * modules/stdlib (Makefile.am): Likewise.
12814         * modules/string (Makefile.am): Likewise.
12815         * modules/strings (Makefile.am): Likewise.
12816         * modules/sys_file (Makefile.am): Likewise.
12817         * modules/sys_ioctl (Makefile.am): Likewise.
12818         * modules/sys_select (Makefile.am): Likewise.
12819         * modules/sys_socket (Makefile.am): Likewise.
12820         * modules/sys_stat (Makefile.am): Likewise.
12821         * modules/sys_time (Makefile.am): Likewise.
12822         * modules/sys_times (Makefile.am): Likewise.
12823         * modules/sys_uio (Makefile.am): Likewise.
12824         * modules/sys_utsname (Makefile.am): Likewise.
12825         * modules/sys_wait (Makefile.am): Likewise.
12826         * modules/sysexits (Makefile.am): Likewise.
12827         * modules/termios (Makefile.am): Likewise.
12828         * modules/time (Makefile.am): Likewise.
12829         * modules/unistd (Makefile.am): Likewise.
12830         * modules/wchar (Makefile.am): Likewise.
12831         * modules/wctype-h (Makefile.am): Likewise.
12832         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
12833
12834 2011-05-29  Bruno Haible  <bruno@clisp.org>
12835
12836         assert-h: Allow multiple gnulib generated replacements to coexist.
12837         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
12838
12839 2011-05-29  Bruno Haible  <bruno@clisp.org>
12840
12841         argp: Allow coexistence with strerror_r-posix module.
12842         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
12843         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
12844         by gnulib's <string.h> replacement), assume it has the POSIX signature,
12845         not the glibc signature.
12846
12847 2011-05-28  Bruno Haible  <bruno@clisp.org>
12848
12849         gnulib-tool: Alternative structure of testdirs, similar to --import.
12850         * gnulib-tool: New option --single-configure.
12851         (func_usage): Document it.
12852         (single_configure): New variable.
12853         (func_modules_transitive_closure_separately,
12854         func_modules_transitive_closure_separately,
12855         func_determine_use_libtests, func_modules_add_dummy_separately,
12856         func_modules_to_filelist_separately): New functions, extracted from
12857         func_import.
12858         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
12859         (func_import): Use the new functions.
12860         (func_create_testdir): Set final_modules. Handle $single_configure =
12861         true case.
12862
12863 2011-05-28  Bruno Haible  <bruno@clisp.org>
12864
12865         getloadavg: Remove an unreliable safety check.
12866         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
12867         getloadavg.c is in place.
12868         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
12869         Reported by Sam Steingold <sds@gnu.org>.
12870
12871 2011-05-28  Bruno Haible  <bruno@clisp.org>
12872
12873         doc: Cleanup yet another file produced by texinfo.tex.
12874         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
12875
12876 2011-05-28  Bruno Haible  <bruno@clisp.org>
12877
12878         Finish the conditional dependencies mechanism.
12879         * gnulib-tool: New option --no-conditional-dependencies.
12880         (func_usage): Document it. Don't mark --conditional-dependencies as
12881         experimental.
12882         (cond_dependencies): The possible values can now be true, false, empty.
12883         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
12884         (func_import): Store setting in gnulib-cache.m4 and read it from there.
12885         * doc/gnulib-tool.texi (Conditional dependencies): New section.
12886
12887 2011-05-28  Bruno Haible  <bruno@clisp.org>
12888
12889         doc: Use a recent texinfo.tex.
12890         * doc/Makefile (tex_opts): New variable.
12891         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
12892
12893 2011-05-28  Jim Meyering  <meyering@redhat.com>
12894
12895         intprops.h: adjust comment to match code change
12896         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
12897         only once, it *may* have side effects.  Also fix an unrelated typo.
12898         (_GL_INT_SIGNED): Likewise.
12899
12900 2011-05-26  Simon Josefsson  <simon@josefsson.org>
12901
12902         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
12903
12904 2011-05-26  Bruno Haible  <bruno@clisp.org>
12905
12906         mbsrchr: Avoid collision with system function on Interix.
12907         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
12908         Reported by Markus Duft <mduft@gentoo.org>.
12909
12910 2011-05-15  James Youngman  <jay@gnu.org>
12911
12912         getopt: for ambiguous options, enumerate the possibilities.
12913         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
12914         the ambiguous options when an ambiguous prefix is given. This was
12915         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
12916         glibc change was
12917         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
12918
12919 2011-05-25  Eric Blake  <eblake@redhat.com>
12920
12921         getcwd: work around mingw bug
12922         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
12923         * doc/posix-functions/getcwd.texi (getcwd): Document it.
12924         Reported by Matthias Bolte.
12925
12926 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
12927
12928         test-intprops: disable -Wtype-limits diagnostics
12929         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
12930         diagnostics.  Otherwise, the integer overflow macros generate many
12931         diagnostics.  Reported by Jim Meyering in
12932         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12933
12934         intprops: shorten, to pacify gcc -Woverlength-strings
12935         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
12936         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
12937         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
12938         likely to run afoul of C compiler limits for string constant lengths.
12939         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12940
12941 2011-05-24  Eric Blake  <eblake@redhat.com>
12942
12943         docs: document recently fixed glibc printf bug
12944         * doc/posix-functions/fprintf.texi (fprintf): Document it.
12945         * doc/posix-functions/printf.texi (printf): Likewise.
12946         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12947         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12948
12949         closein-tests: convert to init.sh
12950         * modules/closein-tests (Files): Add init.sh
12951         * tests/test-closein.sh Use it.
12952
12953         yesno-tests: convert to init.sh
12954         * modules/yesno-tests (Files): Add init.sh.
12955         * tests/test-yesno.sh: Use it.
12956
12957         atexit-tests: ensure reliable exit status
12958         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
12959         Reported by Bruno Haible.
12960
12961 2011-05-24  Bruno Haible  <bruno@clisp.org>
12962
12963         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
12964         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
12965         gl_PREREQ_STRERROR_R invocations from here...
12966         * modules/strerror_r-posix (configure.ac): ... to here.
12967
12968 2011-05-24  Eric Blake  <eblake@redhat.com>
12969
12970         strerror_r: fix missing header
12971         * lib/strerror_r.c: Avoid compiler warning about snprintf.
12972
12973         strerror_r: fix AIX test failures
12974         * lib/strerror_r.c (strerror_r): Convert silent truncation to
12975         ERANGE failure.
12976
12977         strerror_r: fix Solaris test failures
12978         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
12979         failures.
12980         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12981
12982         strerror_r: enforce POSIX recommendations
12983         * lib/strerror_r.c (safe_copy): New helper method.
12984         (strerror_r): Guarantee a non-empty string.
12985         * tests/test-strerror_r.c (main): Enhance tests to incorporate
12986         recent POSIX rulings and to match our strerror guarantees.
12987         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12988
12989 2011-05-24  Jim Meyering  <meyering@redhat.com>
12990
12991         test-perror2.c: avoid warning about unused variable
12992         * tests/test-perror2.c (main): Remove declaration of unused "fp".
12993
12994 2011-05-24  Eric Blake  <eblake@redhat.com>
12995
12996         perror: avoid spurious test failure on HP-UX
12997         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
12998
12999         tests: fix logic bug in init.sh
13000         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
13001         shell.
13002
13003 2011-05-24  Jim Meyering  <meyering@redhat.com>
13004
13005         utimensat: do not reference an out-of-scope buffer
13006         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
13007         declared in an inner scope, yet "times" would be dereferenced outside
13008         the scope in which "ts" was valid.
13009         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
13010         of ts[2] "out/up", so that the use of aliased "times" (via
13011         "times = ts;") does not end up referencing an out-of-scope "ts"
13012
13013         opendir-safer.c: don't clobber errno; don't close negative FD
13014         * lib/opendir-safer.c (opendir_safer):
13015         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
13016         file descriptor, and more importantly, don't clobber the
13017         offending errno value with EINVAL.  Before, upon failure
13018         of dup_safer, we would pass the negative file descriptor to
13019         fdopendir, which would clobber errno.
13020
13021 2011-05-23  Bruno Haible  <bruno@clisp.org>
13022
13023         idcache: Fix module description.
13024         * modules/idcache (Include): Set to "idcache.h".
13025
13026 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
13027
13028         gnulib-tool: fix portability problem with MacOS sed
13029         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
13030         before the "}".  Problem reported by Leo in
13031         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
13032         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
13033         sed_extract_condition1, sed_extract_condition2.
13034
13035 2011-05-23  Bruno Haible  <bruno@clisp.org>
13036
13037         hash: Simplify autoconf macro.
13038         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
13039
13040 2011-05-23  Bruno Haible  <bruno@clisp.org>
13041
13042         getugroups: Fix module description.
13043         * modules/getugroups (Include): Set to "getugroups.h".
13044
13045 2011-05-23  Bruno Haible  <bruno@clisp.org>
13046
13047         linkat: Simplify autoconf macro.
13048         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
13049
13050 2011-05-23  Bruno Haible  <bruno@clisp.org>
13051             Eric Blake  <eblake@redhat.com>
13052
13053         linkat, renameat: Update dependencies.
13054         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
13055         * modules/linkat (Depends-on): Likewise. Remove also readlink,
13056         symlinkat.
13057
13058 2011-05-23  Jim Meyering  <meyering@redhat.com>
13059
13060         maint.mk: more tight_scope improvements
13061         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
13062         (_gl_TS_headers): Define only in if-0'd block.
13063         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
13064         sometimes we must *not* use it.  Adjust uses accordingly.
13065         (sc_tight_scope): Use much simpler grep-based test to determine
13066         whether we skip this rule.
13067
13068         maint.mk: generalize/improve the tight-scope rule
13069         * top/maint.mk: Emit a warning when the test is skipped.
13070         (_gl_TS_dir): Add $(srcdir)/ prefix.
13071         (_gl_TS_function_match): Simplify, rather than trying
13072         to enumerate common types.  Otherwise, it would fail to match an
13073         "extern unsigned char const *" declaration in idutils.
13074         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
13075         a way to support use of that type of macro.
13076         (_gl_TS_var_match): Simplify regexp.
13077         (_gl_TS_obj_files): New configurable variable.
13078         (_gl_TS_headers): Likewise.
13079
13080 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
13081
13082         verify: fix bug when gnulib <assert.h> is also included
13083         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
13084         is defined, not if _GL_STATIC_ASSERT_H is not defined.
13085         Perhaps there's a better way, but this fixes the immediate problem.
13086         Problem reported by Bruno Haible in
13087         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
13088
13089 2011-05-22  Bruno Haible  <bruno@clisp.org>
13090
13091         xgetcwd: Simplify autoconf macro.
13092         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
13093
13094 2011-05-22  Bruno Haible  <bruno@clisp.org>
13095
13096         New module 'mktime-internal'.
13097         * modules/mktime-internal: New file.
13098         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
13099         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
13100         mktime_internal as a C macro if libc has __mktime_internal.
13101         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
13102         conditions.
13103         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
13104
13105 2011-05-22  Bruno Haible  <bruno@clisp.org>
13106
13107         timegm: Correct mktime replacement statements.
13108         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
13109         defining mktime as a C macro. This completes a 2009-07-28 commit.
13110
13111 2011-05-22  Bruno Haible  <bruno@clisp.org>
13112
13113         timegm: Simplify autoconf macro.
13114         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
13115
13116 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13117
13118         clock-time: change to LGPLv2+.
13119         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
13120         BSD-like but we have no mark for that; this is good enough for now.
13121
13122 2011-05-21  Bruno Haible  <bruno@clisp.org>
13123
13124         strerror_r: Fix comments.
13125         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
13126
13127 2011-05-21  Bruno Haible  <bruno@clisp.org>
13128
13129         relocatable-prog-wrapper: Fix possible link error.
13130         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
13131         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
13132         (gl_FUNC_SETENV): ... to here.
13133         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
13134         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
13135
13136 2011-05-21  Bruno Haible  <bruno@clisp.org>
13137
13138         relocatable-prog-wrapper: Assume strerror() exists.
13139         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
13140         m4/strerror.m4.
13141         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
13142         * lib/relocwrapper.c: Remove mention of strerror module.
13143         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
13144         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
13145         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
13146         C macro.
13147
13148 2011-05-21  Bruno Haible  <bruno@clisp.org>
13149
13150         select: Simplify replacement idiom.
13151         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
13152         Win32 platforms.
13153         * lib/sys_select.in.h (select): Simplify accordingly.
13154         * modules/select (Depends-on): Likewise.
13155
13156 2011-05-21  Bruno Haible  <bruno@clisp.org>
13157
13158         mkdir-p: Simplify autoconf macro.
13159         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
13160         gl_FUNC_LCHOWN.
13161
13162 2011-05-21  Eric Blake  <eblake@redhat.com>
13163
13164         strerror_r: avoid clobbering strerror on cygwin
13165         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
13166         fall back instead to sys_errlist.
13167         * modules/strerror (configure.ac): Add witness.
13168         * tests/test-strerror_r.c (main): Enhance test.
13169         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13170         * tests/test-perror2.c (main): Free memory before exit.
13171
13172 2011-05-21  Bruno Haible  <bruno@clisp.org>
13173
13174         mkdtemp: Use gnulib naming conventions.
13175         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
13176         * modules/mkdtemp (configure.ac): Update.
13177
13178 2011-05-20  Eric Blake  <eblake@redhat.com>
13179
13180         strerror_r: avoid corrupting errno on Solaris
13181         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
13182         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13183
13184         strerror_r: avoid compiler warning
13185         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
13186
13187         strerror_r: simplify AIX code
13188         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
13189
13190         test-perror: avoid spurious failure on FreeBSD
13191         * modules/perror-tests (Depends-on): Add strerror, now that
13192         strerror_r no longer pulls it in.
13193
13194 2011-05-20  Bruno Haible  <bruno@clisp.org>
13195
13196         strerror_r-posix: Remove unused dependencies.
13197         * modules/strerror_r-posix (Depends-on): Remove strerror.
13198         Reported by Eric Blake.
13199
13200 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13201
13202         intprops: remove assumption about A|B representation
13203         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
13204         is a valid integer if both A and B are.  Although this is true for
13205         all known practical hosts, the C standard doesn't guarantee it,
13206         and the code need not assume it.  Also, this change may work around
13207         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
13208         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
13209
13210 2011-05-20  Eric Blake  <eblake@redhat.com>
13211
13212         perror: work around FreeBSD bug
13213         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
13214         is broken.  Move AC_LIBOBJ...
13215         * modules/perror (configure.ac): Here.
13216         * doc/posix-functions/perror.texi (perror): Document this.
13217         * tests/test-perror2.c (main): Enhance test.
13218
13219         test-perror: check for strerror interactions
13220         * tests/macros.h (STREQ): Add macro.
13221         * modules/perror-tests (Files): Add second test.
13222         * tests/test-perror2.c (main): New file.
13223         * doc/posix-functions/perror.texi (perror): Document glibc bug.
13224
13225         test-perror: rewrite to use init script
13226         * modules/perror-tests (Files): Add init.sh.
13227         * tests/test-perror.sh: Use temporary directory.
13228
13229 2011-05-20  Jim Meyering  <meyering@redhat.com>
13230
13231         maint: replace misused "a" with "an"
13232         * doc/intprops.texi: "a integer"
13233         * doc/regex.texi: "a explanation"
13234         * lib/alignof.h: "a object"
13235         * lib/argmatch.h: "a explanation"
13236         * lib/argp-help.c: "a option" and "a OPTION_DOC"
13237         * lib/stdint.in.h: "a integer"
13238         * lib/userspec.c: "a owner"
13239         * doc/gnulib.texi: Fix "a idea", and reword.
13240
13241 2011-05-19  Jim Meyering  <meyering@redhat.com>
13242
13243         maint: correct misuse of "a" and "an"
13244         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
13245         * lib/argp-help.c: "an docum...": s/an/a/
13246         * lib/argp-parse.c: "An vector": s/An/A/
13247         * lib/execute.c: "an native": s/an/a/
13248         * lib/spawn-pipe.c: Likewise.
13249         * lib/gc.h: "an Gc_rc": s/an/a/
13250         * lib/unigbrk.in.h: "an grapheme": s/an/a/
13251         * lib/fts.c: "an stat.st_dev": s/an/a/
13252
13253 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13254
13255         intprops-tests: work around HP-UX 11.23 cc bug with constants
13256         * tests/test-intprops.c (VERIFY): New macro.
13257         (main): Use it, instead of verify, to work around the compiler bug; see
13258         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13259
13260         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
13261         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
13262         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
13263         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
13264         (_GL_REMAINDER_OVERFLOW): Use it.
13265
13266         intprops-tests: revert unsigned part of previous change
13267         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
13268         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
13269         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
13270         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
13271
13272 2011-05-19  Bruno Haible  <bruno@clisp.org>
13273
13274         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
13275         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
13276         strerror_r() returned without filling the buffer.
13277         Reported by Eric Blake.
13278
13279 2011-05-19  Eric Blake  <eblake@redhat.com>
13280
13281         strerror_r: guarantee unchanged errno
13282         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
13283         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
13284         failure.
13285         * tests/test-strerror_r.c (main): Enhance test.
13286
13287 2011-05-19  Bruno Haible  <bruno@clisp.org>
13288
13289         strerror_r: Reorder #if blocks.
13290         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
13291         for consistency with the previous commit.
13292
13293 2011-05-19  Bruno Haible  <bruno@clisp.org>
13294
13295         perror: Avoid clobbering the strerror buffer when possible.
13296         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
13297         * lib/strerror.c: Include it.
13298         * modules/strerror (Files): Add lib/strerror-impl.h.
13299         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
13300         (my_strerror): New function, defined through lib/strerror-impl.h.
13301         (perror): Use it instead of strerror.
13302         * modules/perror (Files): Add lib/strerror-impl.h.
13303         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
13304
13305 2011-05-19  Eric Blake  <eblake@redhat.com>
13306
13307         strerror_r: fix on newer cygwin
13308         * lib/strerror_r.c (strerror_r): Cygwin now has
13309         __xpg_strerror_r, use it.
13310
13311 2011-05-19  Bruno Haible  <bruno@clisp.org>
13312
13313         strerror_r: Avoid clobbering the strerror buffer when possible.
13314         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
13315         (sys_nerr, sys_errlist): New declarations.
13316         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
13317         HP-UX, native Win32, IRIX, and 32-bit Solaris.
13318         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
13319
13320 2011-05-19  Bruno Haible  <bruno@clisp.org>
13321
13322         strerror_r: Fix test failure on mingw.
13323         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
13324         EXTEND_STRERROR_R.
13325         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
13326         macros from errno.in.h instead.
13327
13328 2011-05-19  Eric Blake  <eblake@redhat.com>
13329
13330         strerror: relax test for Solaris
13331         * tests/test-strerror.c (main): Permit Solaris behavior.
13332         * tests/test-strerror_r.c (main): Likewise.
13333
13334         strerror: enforce POSIX ruling on strerror(0)
13335         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
13336         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
13337         * lib/strerror_r.c (rpl_strerror_r): Work around it.
13338         * doc/posix-functions/strerror.texi (strerror): Document it.
13339         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
13340         * tests/test-strerror.c (main): Strengthen test.
13341         * tests/test-strerror_r.c (main): Likewise.
13342
13343 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13344
13345         intprop-tests: port to older and more-pedantic compilers
13346         * modules/intprops-tests (Files): Add tests/macros.h.
13347         * tests/test-intprops.c: Include macros.h.
13348         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
13349         it's no longer documented to expand to an integer constant expression.
13350         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
13351         argument is floating point, as it's no longer documented to expand
13352         to an integer constant expression in that case.
13353         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
13354         compiler bugs reported by Bruno Haible.  See
13355         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13356         (U0, U1): New constants, to work around the same bugs.  Also,
13357         in tests, use e.g., "(unsigned int) 39" rather than "39u".
13358
13359         intprops: work around C compiler bugs
13360         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
13361         bug in Sun C 5.11 2010/08/13 and other compilers; see
13362         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13363
13364         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
13365         * doc/intprops.texi (Integer Type Determination): Fix
13366         documentation for TYPE_IS_INTEGER: it returns an constant
13367         expression, not an integer constant expression.  Fix doc for
13368         TYPE_SIGNED: it returns an integer constant expression only if its
13369         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
13370         hardly worth documented that way....)
13371
13372 2011-05-18  Bruno Haible  <bruno@clisp.org>
13373
13374         strerror_r: Avoid clobbering the strerror buffer when possible.
13375         * lib/strerror_r.c (strerror_r): Merge the three implementations.
13376         Handle gnulib defined errno values here. When strerror() returns NULL
13377         or an empty string, return EINVAL.
13378         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
13379         gnulib defined errno values here.
13380         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
13381
13382 2011-05-18  Eric Blake  <eblake@redhat.com>
13383
13384         fnmatch: avoid compiler warning
13385         * lib/fnmatch_loop.c (FCT): Use correct type.
13386         Reported by Matthias Bolte.
13387
13388 2011-05-13  Jim Meyering  <meyering@redhat.com>
13389
13390         maint.mk: three new prohibit_<HDR>_without_use rules
13391         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
13392         (sc_prohibit_stdio-safer_without_use): Likewise.
13393         (sc_prohibit_xfreopen_without_use): Likewise.
13394
13395 2011-05-17  Jim Meyering  <meyering@redhat.com>
13396
13397         announce-gen: fail if the NEWS delta is empty
13398         If there's nothing noteworthy in NEWS, then either you forgot
13399         or you shouldn't be releasing.
13400         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
13401
13402 2011-05-17  Pádraig Brady <P@draigBrady.com>
13403
13404         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
13405         reserved symbols starting with double underscore from the check.
13406
13407 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
13408
13409         intprops: add doc
13410         * doc/intprops.texi: New file, documenting intprops.
13411         * doc/gnulib.texi (Particular Modules): Include it.
13412
13413         verify: add doc to gnulib manual and fix example
13414         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
13415         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
13416         (Compile-time Assertions): Fix example so it can't overflow.
13417
13418 2011-05-17  Jim Meyering  <meyering@redhat.com>
13419
13420         warnings.m4: don't usurp save_CPPFLAGS variable name
13421         * m4/warnings.m4: Prefix local temporary variable name with gl_.
13422
13423         doc: fix typo
13424         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
13425
13426 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13427             Bruno Haible  <bruno@clisp.org>
13428
13429         doc: Tweak recent change.
13430         * README (Portability guidelines): Tweak new text.
13431         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
13432         Interix 6.1.
13433
13434 2011-05-16  Eric Blake  <eblake@redhat.com>
13435
13436         inttypes: avoid autoconf warning
13437         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
13438         * m4/stdint.m4 (gl_STDINT_H): Likewise.
13439
13440 2011-05-16  Sam Steingold <sds@gnu.org>
13441         and Eric Blake  <eblake@redhat.com>
13442
13443         vc-list-files: accept multiple directory operands
13444         * build-aux/vc-list-files: Iterate over all remaining operands.
13445
13446 2011-05-16  Bruno Haible  <bruno@clisp.org>
13447
13448         Fix confusion regarding deprecated modules.
13449         * modules/calloc (Status, Notice): Mark module as deprecated, not
13450         obsolete.
13451         * modules/fnmatch-posix (Status, Notice): Likewise.
13452         * modules/getdate (Status, Notice): Likewise.
13453         * modules/getopt (Status, Notice): Likewise.
13454         * modules/malloc (Status, Notice): Likewise.
13455         * modules/pipe (Status, Notice): Likewise.
13456         * modules/realloc (Status, Notice): Likewise.
13457         * modules/rename-dest-slash (Status, Notice): Likewise.
13458         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
13459         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
13460         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
13461         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
13462         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
13463
13464 2011-05-16  Bruno Haible  <bruno@clisp.org>
13465
13466         doc: List the target platforms.
13467         * doc/gnulib-intro.texi (Target Platforms): New section.
13468         * doc/gnulib.texi (Introduction): Update menu.
13469         * README (Portability guidelines): Refer to the new section. Update
13470         statement about oldest supported environment. Remove rationale why
13471         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
13472         unportable C89 function.
13473         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
13474         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
13475
13476 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13477
13478         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
13479
13480 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13481
13482         intprops-tests: new module
13483         * modules/intprops-tests, tests/test-intprops.c: New files.
13484
13485         intprops: add safe, portable integer overflow checking
13486         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
13487         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
13488         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
13489         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
13490         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
13491         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
13492         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
13493         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
13494         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
13495         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
13496         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
13497
13498 2011-05-12  James Youngman  <jay@gnu.org>
13499
13500         Add a test for glibc's Bugzilla bug #12378.
13501         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
13502         doesn't allow the literal matching of a lone "[" (which is
13503         required by POSIX).
13504         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
13505
13506 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
13507
13508         Sync glibc change fixing Bugzilla bug #12378.
13509         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
13510         beginning and fall back to matching as normal character if the
13511         string ends before the matching ']' is found.  This is what POSIX
13512         requires.
13513
13514 2011-05-13  Eric Blake  <eblake@redhat.com>
13515
13516         getcwd-lgpl: relax test for FreeBSD
13517         * doc/posix-functions/getcwd.texi (getcwd): Document portability
13518         issue.
13519         * tests/test-getcwd-lgpl.c (main): Relax test.
13520         Reported by Matthias Bolte.
13521
13522 2011-05-11  Eric Blake  <eblake@redhat.com>
13523
13524         test-fflush: silence compiler warning
13525         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
13526
13527 2011-05-11  Bruno Haible  <bruno@clisp.org>
13528
13529         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
13530         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
13531         * modules/canonicalize (Depends-on): Add 'nocrash'.
13532         * modules/canonicalize-lgpl (Depends-on): Likewise.
13533         * doc/posix-functions/realpath.texi: Update platforms list.
13534         Reported by Ryan Schmidt <ryandesign@macports.org>.
13535
13536 2011-05-11  Bruno Haible  <bruno@clisp.org>
13537
13538         group-member: Declare function in <unistd.h>.
13539         * lib/unistd.in.h (group_member): New declaration.
13540         * lib/group-member.h: Remove file.
13541         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
13542         * tests/test-unistd-c++.cc: Check signature of group_member.
13543         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
13544         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
13545         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
13546         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
13547         HAVE_GROUP_MEMBER.
13548         * modules/group-member (Files): Remove lib/group-member.h.
13549         (Depends-on): Add unistd. Specify conditions.
13550         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13551         (Include): Change to <unistd.h>.
13552         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
13553         HAVE_GROUP_MEMBER.
13554         * NEWS: Mention the change.
13555         * lib/euidaccess.c: Don't include group-member.h.
13556
13557 2011-05-11  Bruno Haible  <bruno@clisp.org>
13558
13559         group-member: Document module.
13560         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
13561         module.
13562
13563 2011-05-11  Bruno Haible  <bruno@clisp.org>
13564
13565         fclose: Fix mistake earlier today.
13566         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
13567
13568 2011-05-11  Eric Blake  <eblake@redhat.com>
13569
13570         fclose: preserve fflush errors
13571         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
13572         Reported by Jim Meyering.
13573
13574         bootstrap: support a prereq of 'rpcgen -' on RHEL5
13575         * build-aux/bootstrap (check_versions): When no specific version
13576         is required, merely check that the app produces an exit status
13577         that indicates its existence.
13578
13579         maint.mk: drop redundant check
13580         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
13581         the same but better.
13582
13583 2011-05-11  Bruno Haible  <bruno@clisp.org>
13584
13585         fclose: Fix possible link error.
13586         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
13587         unregister_shadow_fd. Improve comments.
13588         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
13589         Eric Blake.
13590
13591 2011-05-11  Jim Meyering  <meyering@redhat.com>
13592
13593         maint.mk: improve "can not" detection and generalize rule name
13594         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
13595         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
13596         Use the same technique as in sc_prohibit_doubled_word, so that
13597         we recognize "can not" also when the words are separated by a newline.
13598         Suggested by Eric Blake.
13599         (perl_filename_lineno_text_): Define.  Factored out of...
13600         (prohibit_doubled_word_): ...here.  Use the new definition.
13601         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
13602         (prohibit_undesirable_word_seq_RE_): New overridable variable.
13603         (ignore_undesirable_word_sequence_RE_): New overridable variable.
13604
13605 2011-05-10  Eric Blake  <eblake@redhat.com>
13606
13607         fclose: avoid double close race when possible
13608         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
13609         all but WINDOWS_SOCKETS.
13610
13611 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
13612
13613         openat: correct new comment
13614         * lib/openat-proc.c (openat_proc_name): Correct the comment.
13615
13616 2011-05-10  Jim Meyering  <meyering@redhat.com>
13617
13618         openat: add comments
13619         * lib/openat-proc.c (openat_proc_name): Add comments,
13620         mostly from Eric Blake.
13621
13622 2011-05-09  Eric Blake  <eblake@redhat.com>
13623
13624         openat: reduce syscalls in first probe of /proc
13625         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
13626         be a directory.  Simplify the probe for .. bugs.
13627         * modules/openat (Depends-on): Drop same-inode.
13628         Reported by Bastien ROUCARIES.
13629
13630 2011-05-09  Jim Meyering  <meyering@redhat.com>
13631
13632         maint.mk: change semantics/name of tight_scope variables
13633         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
13634         Rename variables to align with semantics that make them more useful.
13635
13636         maint.mk: tweak new rule's name not to impinge
13637         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
13638         (sc_tight_scope): Use new rule name rather than $@-0.
13639
13640         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
13641         * top/maint.mk (sc_tight_scope): New rule.
13642         (sc_tight_scope-0): New rule, ifdef'd out.
13643         (_gl_TS_dir): Default.
13644         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
13645         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
13646
13647 2011-05-09  Simon Josefsson  <simon@josefsson.org>
13648
13649         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
13650         Haible <bruno@clisp.org>.
13651
13652 2011-05-08  Bruno Haible  <bruno@clisp.org>
13653
13654         Comments.
13655         * m4/isnanf.m4: Add comment.
13656         * m4/isnanl.m4: Likewise.
13657
13658 2011-05-08  Bruno Haible  <bruno@clisp.org>
13659
13660         glob: Remove obsolete macro.
13661         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
13662
13663 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
13664
13665         intprops: Sun C 5.11 supports __typeof__
13666         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
13667         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
13668         which is new.
13669         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
13670
13671         intprops: switch to usual gnulib indenting and naming
13672         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
13673         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
13674
13675         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
13676
13677 2011-05-08  Jim Meyering  <meyering@redhat.com>
13678
13679         maint.mk: suppress "Entering/Leaving directory" diag in announcement
13680         * top/maint.mk (release-prep): Use make's --no-print-directory
13681         option when generating the announcement.  This eliminates the
13682         pesky "make[2]: Entering/Leaving directory" diagnostics in the
13683         generated announcement template.
13684
13685 2011-05-08  Bruno Haible  <bruno@clisp.org>
13686
13687         tzset: Fix gettimeofday wrapper on Solaris 2.6.
13688         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
13689         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
13690
13691 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
13692
13693         ignore-value, verify: Omit include files from lib_SOURCES.
13694         * modules/ignore-value, modules/verify (Makefile.am):
13695         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
13696         that leads Automake to duplicate use of am__objects_... variables
13697         in Makefile.in.  See
13698         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
13699
13700 2011-05-07  Bruno Haible  <bruno@clisp.org>
13701
13702         fclose: Simplify autoconf macro.
13703         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
13704         defined.
13705
13706 2011-05-07  Bruno Haible  <bruno@clisp.org>
13707
13708         canonicalize-lgpl: Fix autoconf macro ordering bug.
13709         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
13710         gl_STDLIB_H_DEFAULTS.
13711
13712 2011-05-06  Eric Blake  <eblake@redhat.com>
13713
13714         maintainer-makefile: make sc_po_check easier to tune
13715         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
13716         to probe for strings, such as an alternate location for gnulib.
13717
13718         fclose: guarantee behavior on seekable stdin
13719         * modules/fclose (Depends-on): Add fflush.
13720         * doc/posix-functions/fclose.texi (fclose): Document this.
13721         * tests/test-fclose.c (main): Make test for this unconditional.
13722
13723 2011-05-06  Bruno Haible  <bruno@clisp.org>
13724
13725         fflush, fpurge: Relicense under LGPLv2+.
13726         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
13727         * modules/fpurge (License): Likewise.
13728         With permission from Eric Blake and Jim Meyering.
13729         Suggested by Eric Blake.
13730
13731 2011-05-06  Karl Berry  <karl@gnu.org>
13732
13733         * MODULES.html.sh (func_all_modules): remove exit.
13734
13735 2011-05-06  Jim Meyering  <meyering@redhat.com>
13736
13737         maint.mk: use info-gnu@ as the default only for a stable release
13738         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
13739         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
13740         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
13741         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
13742
13743 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13744
13745         assert-h: new module, which supports C1X-style static_assert
13746         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
13747         * lib/verify.h: Revamp so that this can be copied into assert.h,
13748         while retaining the ability to use it standalone as before.
13749         Rename private identifiers so as not to encroach on the
13750         standard C namespace, since this is now used by assert.h.
13751         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
13752         the old verify_true.
13753         (_GL_VERIFY_TRUE): New macro, with much of the contents of
13754         the old verify_true.  Use _GL_VERIFY_TYPE.
13755         (_GL_VERIFY): New macro, with much of the contents of the old verify.
13756         (static_assert): New macro, if _GL_STATIC_ASSERT_H
13757         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
13758         defined when this file is copied into the replacement assert.h.
13759         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
13760         and _Static_assert is not built in.
13761         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
13762         defined, and use the new macros mentioned above.
13763         * doc/posix-headers/assert.texi: Document this.
13764
13765 2011-05-05  Bruno Haible  <bruno@clisp.org>
13766
13767         fclose, fflush: Respect rules for use of AC_LIBOBJ.
13768         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
13769         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
13770         gl_REPLACE_FCLOSE here.
13771         * modules/fflush (Depends-on): Remove fclose.
13772         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
13773         combination with module 'fclose'.
13774
13775 2011-05-05  Bruno Haible  <bruno@clisp.org>
13776
13777         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
13778         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
13779         gl_FUNC_FFLUSH.
13780         (gl_FUNC_FFLUSH): Use it.
13781         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
13782         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
13783         gl_REPLACE_FSEEKO here.
13784
13785 2011-05-05  Bruno Haible  <bruno@clisp.org>
13786
13787         tzset: Relicense under LGPL.
13788         * modules/tzset (License): Change to LGPL.
13789         No agreement needed; it's a no-op.
13790
13791         strtoimax, strtoumax: Relicense under LGPL.
13792         * modules/strtoimax (License): Change to LGPL.
13793         * modules/strtoumax (License): Likewise.
13794         With permission from Jim Meyering, Paul Eggert:
13795         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
13796         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
13797
13798         getgroups: Relicense under LGPL.
13799         * modules/getgroups (License): Change to LGPL.
13800         With permission from Jim Meyering, Paul Eggert, Eric Blake:
13801         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13802         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13803         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13804
13805         nanosleep: Relicense under LGPL.
13806         * modules/nanosleep (License): Change to LGPL.
13807         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
13808         Haible:
13809         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13810         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13811         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13812         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13813
13814         futimens: Relicense under LGPL.
13815         * modules/futimens (License): Change to LGPL.
13816         With permission from Eric Blake:
13817         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13818
13819         fflush: Relicense under LGPL.
13820         * modules/fflush (License): Change to LGPL.
13821         With permission from Eric Blake, Bruno Haible, Jim Meyering:
13822         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13823         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13824         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
13825
13826         tmpfile: Relicense under LGPL.
13827         * modules/tmpfile (License): Change to LGPL.
13828         With permission from Ben Pfaff:
13829         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13830
13831         isfinite: Relicense under LGPL.
13832         * modules/isfinite (License): Change to LGPL.
13833         With permission from Ben Pfaff, Bruno Haible:
13834         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13835         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
13836
13837         acosl..tanl: Relicense under LGPL.
13838         * modules/acosl (License): Change to LGPL.
13839         * modules/asinl (License): Likewise.
13840         * modules/atanl (License): Likewise.
13841         * modules/cosl (License): Likewise.
13842         * modules/expl (License): Likewise.
13843         * modules/logl (License): Likewise.
13844         * modules/sinl (License): Likewise.
13845         * modules/sqrtl (License): Likewise.
13846         * modules/tanl (License): Likewise.
13847         Source code originally from glibc and Paolo Bonzini. Agreements:
13848         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
13849         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
13850
13851 2011-05-05  Bruno Haible  <bruno@clisp.org>
13852
13853         signal: Define sighandler_t.
13854         * lib/signal.in.h (sighandler_t): New type.
13855         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
13856         whether sighandler_t is defined.
13857         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
13858         * modules/signal (Depends-on): Add extensions.
13859         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
13860         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
13861         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
13862
13863 2011-05-05  Eric Blake  <eblake@redhat.com>
13864
13865         maint: remove useless REPLACE_*_H macros
13866         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
13867         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
13868         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
13869         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
13870         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
13871         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
13872         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
13873         * m4/btowc.m4: Update callers.
13874         * m4/dirfd.m4: Likewise.
13875         * m4/duplocale.m4: Likewise.
13876         * m4/fchdir.m4: Likewise.
13877         * m4/fdopendir.m4: Likewise.
13878         * m4/inet_ntop.m4: Likewise.
13879         * m4/inet_pton.m4: Likewise.
13880         * m4/ioctl.m4: Likewise.
13881         * m4/mbrlen.m4: Likewise.
13882         * m4/mbrtowc.m4: Likewise.
13883         * m4/mbsinit.m4: Likewise.
13884         * m4/mbsnrtowcs.m4: Likewise.
13885         * m4/mbsrtowcs.m4: Likewise.
13886         * m4/poll.m4: Likewise.
13887         * m4/setlocale.m4: Likewise.
13888         * m4/wcrtomb.m4: Likewise.
13889         * m4/wcsnrtombs.m4: Likewise.
13890         * m4/wcsrtombs.m4: Likewise.
13891         * m4/wctob.m4: Likewise.
13892         * m4/wcwidth.m4: Likewise.
13893         * modules/posix_spawn: Likewise.
13894         * modules/posix_spawn_file_actions_addclose: Likewise.
13895         * modules/posix_spawn_file_actions_adddup2: Likewise.
13896         * modules/posix_spawn_file_actions_addopen: Likewise.
13897         * modules/posix_spawn_file_actions_destroy: Likewise.
13898         * modules/posix_spawn_file_actions_init: Likewise.
13899         * modules/posix_spawnattr_destroy: Likewise.
13900         * modules/posix_spawnattr_getflags: Likewise.
13901         * modules/posix_spawnattr_getpgroup: Likewise.
13902         * modules/posix_spawnattr_getschedparam: Likewise.
13903         * modules/posix_spawnattr_getschedpolicy: Likewise.
13904         * modules/posix_spawnattr_getsigdefault: Likewise.
13905         * modules/posix_spawnattr_getsigmask: Likewise.
13906         * modules/posix_spawnattr_init: Likewise.
13907         * modules/posix_spawnattr_setflags: Likewise.
13908         * modules/posix_spawnattr_setpgroup: Likewise.
13909         * modules/posix_spawnattr_setschedparam: Likewise.
13910         * modules/posix_spawnattr_setschedpolicy: Likewise.
13911         * modules/posix_spawnattr_setsigdefault: Likewise.
13912         * modules/posix_spawnattr_setsigmask: Likewise.
13913         * modules/posix_spawnp: Likewise.
13914
13915 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
13916
13917         Add option to do-release-commit-and-tag to specify branch.
13918         * build-aux/do-release-commit-and-tag: Add --branch.
13919
13920 2011-05-03  Bruno Haible  <bruno@clisp.org>
13921
13922         Avoid unnecessary compilation units, through conditional dependencies.
13923         * modules/accept (Depends-on): Add conditions to the dependencies.
13924         * modules/acosl (Depends-on): Likewise.
13925         * modules/argz (Depends-on): Likewise.
13926         * modules/asinl (Depends-on): Likewise.
13927         * modules/atanl (Depends-on): Likewise.
13928         * modules/atoll (Depends-on): Likewise.
13929         * modules/bind (Depends-on): Likewise.
13930         * modules/btowc (Depends-on): Likewise.
13931         * modules/canonicalize-lgpl (Depends-on): Likewise.
13932         * modules/ceil (Depends-on): Likewise.
13933         * modules/ceilf (Depends-on): Likewise.
13934         * modules/ceill (Depends-on): Likewise.
13935         * modules/chdir-long (Depends-on): Likewise.
13936         * modules/chown (Depends-on): Likewise.
13937         * modules/close (Depends-on): Likewise.
13938         * modules/connect (Depends-on): Likewise.
13939         * modules/cosl (Depends-on): Likewise.
13940         * modules/dirfd (Depends-on): Likewise.
13941         * modules/dprintf (Depends-on): Likewise.
13942         * modules/dprintf-posix (Depends-on): Likewise.
13943         * modules/error (Depends-on): Likewise.
13944         * modules/euidaccess (Depends-on): Likewise.
13945         * modules/expl (Depends-on): Likewise.
13946         * modules/faccessat (Depends-on): Likewise.
13947         * modules/fchdir (Depends-on): Likewise.
13948         * modules/fclose (Depends-on): Likewise.
13949         * modules/fcntl (Depends-on): Likewise.
13950         * modules/fdopendir (Depends-on): Likewise.
13951         * modules/fflush (Depends-on): Likewise.
13952         * modules/floor (Depends-on): Likewise.
13953         * modules/floorf (Depends-on): Likewise.
13954         * modules/floorl (Depends-on): Likewise.
13955         * modules/fnmatch (Depends-on): Likewise.
13956         * modules/fopen (Depends-on): Likewise.
13957         * modules/fprintf-posix (Depends-on): Likewise.
13958         * modules/frexp (Depends-on): Likewise.
13959         * modules/frexp-nolibm (Depends-on): Likewise.
13960         * modules/frexpl (Depends-on): Likewise.
13961         * modules/frexpl-nolibm (Depends-on): Likewise.
13962         * modules/fseek (Depends-on): Likewise.
13963         * modules/fsusage (Depends-on): Likewise.
13964         * modules/ftell (Depends-on): Likewise.
13965         * modules/ftello (Depends-on): Likewise.
13966         * modules/futimens (Depends-on): Likewise.
13967         * modules/getcwd (Depends-on): Likewise.
13968         * modules/getcwd-lgpl (Depends-on): Likewise.
13969         * modules/getdelim (Depends-on): Likewise.
13970         * modules/getdomainname (Depends-on): Likewise.
13971         * modules/getgroups (Depends-on): Likewise.
13972         * modules/gethostname (Depends-on): Likewise.
13973         * modules/getline (Depends-on): Likewise.
13974         * modules/getlogin_r (Depends-on): Likewise.
13975         * modules/getopt-posix (Depends-on): Likewise.
13976         * modules/getpeername (Depends-on): Likewise.
13977         * modules/getsockname (Depends-on): Likewise.
13978         * modules/getsockopt (Depends-on): Likewise.
13979         * modules/getsubopt (Depends-on): Likewise.
13980         * modules/getusershell (Depends-on): Likewise.
13981         * modules/glob (Depends-on): Likewise.
13982         * modules/grantpt (Depends-on): Likewise.
13983         * modules/iconv_open (Depends-on): Likewise.
13984         * modules/iconv_open-utf (Depends-on): Likewise.
13985         * modules/inet_ntop (Depends-on): Likewise.
13986         * modules/inet_pton (Depends-on): Likewise.
13987         * modules/ioctl (Depends-on): Likewise.
13988         * modules/isapipe (Depends-on): Likewise.
13989         * modules/isfinite (Depends-on): Likewise.
13990         * modules/isinf (Depends-on): Likewise.
13991         * modules/lchown (Depends-on): Likewise.
13992         * modules/ldexpl (Depends-on): Likewise.
13993         * modules/link (Depends-on): Likewise.
13994         * modules/linkat (Depends-on): Likewise.
13995         * modules/listen (Depends-on): Likewise.
13996         * modules/logl (Depends-on): Likewise.
13997         * modules/lstat (Depends-on): Likewise.
13998         * modules/mbrlen (Depends-on): Likewise.
13999         * modules/mbrtowc (Depends-on): Likewise.
14000         * modules/mbsinit (Depends-on): Likewise.
14001         * modules/mbsnrtowcs (Depends-on): Likewise.
14002         * modules/mbsrtowcs (Depends-on): Likewise.
14003         * modules/mbtowc (Depends-on): Likewise.
14004         * modules/memcmp (Depends-on): Likewise.
14005         * modules/mkdir (Depends-on): Likewise.
14006         * modules/mkdtemp (Depends-on): Likewise.
14007         * modules/mkfifo (Depends-on): Likewise.
14008         * modules/mkfifoat (Depends-on): Likewise.
14009         * modules/mknod (Depends-on): Likewise.
14010         * modules/mkostemp (Depends-on): Likewise.
14011         * modules/mkostemps (Depends-on): Likewise.
14012         * modules/mkstemp (Depends-on): Likewise.
14013         * modules/mkstemps (Depends-on): Likewise.
14014         * modules/mktime (Depends-on): Likewise.
14015         * modules/nanosleep (Depends-on): Likewise.
14016         * modules/open (Depends-on): Likewise.
14017         * modules/openat (Depends-on): Likewise.
14018         * modules/perror (Depends-on): Likewise.
14019         * modules/poll (Depends-on): Likewise.
14020         * modules/popen (Depends-on): Likewise.
14021         * modules/posix_spawn (Depends-on): Likewise.
14022         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
14023         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
14024         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
14025         * modules/posix_spawnp (Depends-on): Likewise.
14026         * modules/pread (Depends-on): Likewise.
14027         * modules/printf-posix (Depends-on): Likewise.
14028         * modules/ptsname (Depends-on): Likewise.
14029         * modules/putenv (Depends-on): Likewise.
14030         * modules/pwrite (Depends-on): Likewise.
14031         * modules/readline (Depends-on): Likewise.
14032         * modules/readlink (Depends-on): Likewise.
14033         * modules/readlinkat (Depends-on): Likewise.
14034         * modules/recv (Depends-on): Likewise.
14035         * modules/recvfrom (Depends-on): Likewise.
14036         * modules/regex (Depends-on): Likewise.
14037         * modules/remove (Depends-on): Likewise.
14038         * modules/rename (Depends-on): Likewise.
14039         * modules/renameat (Depends-on): Likewise.
14040         * modules/rmdir (Depends-on): Likewise.
14041         * modules/round (Depends-on): Likewise.
14042         * modules/roundf (Depends-on): Likewise.
14043         * modules/roundl (Depends-on): Likewise.
14044         * modules/rpmatch (Depends-on): Likewise.
14045         * modules/select (Depends-on): Likewise.
14046         * modules/send (Depends-on): Likewise.
14047         * modules/sendto (Depends-on): Likewise.
14048         * modules/setenv (Depends-on): Likewise.
14049         * modules/setlocale (Depends-on): Likewise.
14050         * modules/setsockopt (Depends-on): Likewise.
14051         * modules/shutdown (Depends-on): Likewise.
14052         * modules/sigaction (Depends-on): Likewise.
14053         * modules/signbit (Depends-on): Likewise.
14054         * modules/sigprocmask (Depends-on): Likewise.
14055         * modules/sinl (Depends-on): Likewise.
14056         * modules/sleep (Depends-on): Likewise.
14057         * modules/snprintf (Depends-on): Likewise.
14058         * modules/snprintf-posix (Depends-on): Likewise.
14059         * modules/socket (Depends-on): Likewise.
14060         * modules/sprintf-posix (Depends-on): Likewise.
14061         * modules/sqrtl (Depends-on): Likewise.
14062         * modules/stat (Depends-on): Likewise.
14063         * modules/strchrnul (Depends-on): Likewise.
14064         * modules/strdup-posix (Depends-on): Likewise.
14065         * modules/strerror (Depends-on): Likewise.
14066         * modules/strerror_r-posix (Depends-on): Likewise.
14067         * modules/strndup (Depends-on): Likewise.
14068         * modules/strnlen (Depends-on): Likewise.
14069         * modules/strptime (Depends-on): Likewise.
14070         * modules/strsep (Depends-on): Likewise.
14071         * modules/strsignal (Depends-on): Likewise.
14072         * modules/strstr-simple (Depends-on): Likewise.
14073         * modules/strtod (Depends-on): Likewise.
14074         * modules/strtoimax (Depends-on): Likewise.
14075         * modules/strtok_r (Depends-on): Likewise.
14076         * modules/strtoumax (Depends-on): Likewise.
14077         * modules/symlink (Depends-on): Likewise.
14078         * modules/symlinkat (Depends-on): Likewise.
14079         * modules/tanl (Depends-on): Likewise.
14080         * modules/tcgetsid (Depends-on): Likewise.
14081         * modules/tmpfile (Depends-on): Likewise.
14082         * modules/trunc (Depends-on): Likewise.
14083         * modules/truncf (Depends-on): Likewise.
14084         * modules/truncl (Depends-on): Likewise.
14085         * modules/uname (Depends-on): Likewise.
14086         * modules/unlink (Depends-on): Likewise.
14087         * modules/unlockpt (Depends-on): Likewise.
14088         * modules/unsetenv (Depends-on): Likewise.
14089         * modules/usleep (Depends-on): Likewise.
14090         * modules/utimensat (Depends-on): Likewise.
14091         * modules/vasprintf (Depends-on): Likewise.
14092         * modules/vdprintf (Depends-on): Likewise.
14093         * modules/vdprintf-posix (Depends-on): Likewise.
14094         * modules/vfprintf-posix (Depends-on): Likewise.
14095         * modules/vprintf-posix (Depends-on): Likewise.
14096         * modules/vsnprintf (Depends-on): Likewise.
14097         * modules/vsnprintf-posix (Depends-on): Likewise.
14098         * modules/vsprintf-posix (Depends-on): Likewise.
14099         * modules/wcrtomb (Depends-on): Likewise.
14100         * modules/wcscasecmp (Depends-on): Likewise.
14101         * modules/wcscspn (Depends-on): Likewise.
14102         * modules/wcsdup (Depends-on): Likewise.
14103         * modules/wcsncasecmp (Depends-on): Likewise.
14104         * modules/wcsnrtombs (Depends-on): Likewise.
14105         * modules/wcspbrk (Depends-on): Likewise.
14106         * modules/wcsrtombs (Depends-on): Likewise.
14107         * modules/wcsspn (Depends-on): Likewise.
14108         * modules/wcsstr (Depends-on): Likewise.
14109         * modules/wcstok (Depends-on): Likewise.
14110         * modules/wcswidth (Depends-on): Likewise.
14111         * modules/wctob (Depends-on): Likewise.
14112         * modules/wctomb (Depends-on): Likewise.
14113         * modules/wctype (Depends-on): Likewise.
14114         * modules/wcwidth (Depends-on): Likewise.
14115         * modules/write (Depends-on): Likewise.
14116
14117 2011-05-03  Bruno Haible  <bruno@clisp.org>
14118
14119         Support for conditional dependencies.
14120         * doc/gnulib.texi (Module description): Document the syntax of
14121         conditional dependencies.
14122         * gnulib-tool: New option --conditional-dependencies.
14123         (func_usage): Document it.
14124         (cond_dependencies): New variable.
14125         (func_get_automake_snippet_conditional,
14126         func_get_automake_snippet_unconditional): New functions, extracted from
14127         func_get_automake_snippet.
14128         (func_get_automake_snippet): Use them.
14129         (sed_first_32_chars): New variable.
14130         (func_module_shellfunc_name): New function.
14131         (func_module_shellvar_name): New function.
14132         (func_module_conditional_name): New function.
14133         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
14134         func_cond_module_condition): New functions.
14135         (func_modules_transitive_closure): Add support for conditional
14136         dependencies.
14137         (func_emit_lib_Makefile_am): For a conditional module, enclose the
14138         conditional automake snippet in an automake conditional.
14139         (func_emit_autoconf_snippets): Emit shell functions that contain the
14140         code for conditional modules.
14141         (func_import, func_create_testdir): Update specification.
14142
14143 2011-05-03  Eric Blake  <eblake@redhat.com>
14144
14145         test-getaddrinfo: report error information
14146         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
14147
14148 2011-05-03  Jim Meyering  <meyering@redhat.com>
14149
14150         bootstrap: avoid build failure when $GZIP is set
14151         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
14152         program name.  If defined at all, it is supposed to list gzip options.
14153         Reported by Alan Curry in http://debbugs.gnu.org/8609
14154
14155 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
14156
14157         readme-release: new module with release instructions
14158         * modules/readme-release: New module.
14159         * top/README-release: New file, from coreutils, grep, diffutils.
14160         * MODULES.html.sh (Support for maintaining and releasing): Add it.
14161
14162 2011-05-02  Eric Blake  <eblake@redhat.com>
14163
14164         fflush: also replace fclose when fixing fflush
14165         * modules/fflush (Depends-on): Add fclose.
14166         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
14167         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
14168         memstreams with no backing fd.
14169         * doc/posix-functions/fclose.texi (fclose): Document the use of
14170         fflush module to fix the bug.
14171         * tests/test-fclose.c (main): Relax test when fclose is used in
14172         isolation.
14173
14174         fclose: add some tests
14175         * modules/fclose-tests: New test module.
14176         * tests/test-fclose.c: New file.
14177         * doc/posix-functions/fclose.texi (fclose): Document the bug.
14178
14179         fclose: reduced dependencies
14180         * modules/fclose (Depends-on): Switch from fflush/fseeko to
14181         simpler lseek.
14182         * lib/fclose.c (rpl_fclose): Likewise.
14183         Reported by Simon Josefsson.
14184
14185         exit: drop remaining clients
14186         * modules/argmatch (Depends-on): Replace exit with stdlib.
14187         * modules/copy-file (Depends-on): Likewise.
14188         * modules/execute (Depends-on): Likewise.
14189         * modules/exitfail (Depends-on): Likewise.
14190         * modules/obstack (Depends-on): Likewise.
14191         * modules/pagealign_alloc (Depends-on): Likewise.
14192         * modules/pipe-filter-gi (Depends-on): Likewise.
14193         * modules/pipe-filter-ii (Depends-on): Likewise.
14194         * modules/savewd (Depends-on): Likewise.
14195         * modules/spawn-pipe (Depends-on): Likewise.
14196         * modules/wait-process (Depends-on): Likewise.
14197         * modules/xsetenv (Depends-on): Likewise.
14198         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
14199         * modules/git-merge-changelog (Depends-on): Likewise.
14200         * modules/long-options (Depends-on): Likewise.
14201         * modules/pt_chown (Depends-on): Likewise.
14202         * modules/sysexits (Depends-on): Likewise.
14203
14204         freading: relax license from LGPLv3+ to LGPLv2+
14205         * modules/freading (License): Relax LGPL version.
14206
14207 2011-05-02  Bruno Haible  <bruno@clisp.org>
14208
14209         fchdir: Remove unused dependencies.
14210         * modules/fchdir (Depends-on): Remove include_next.
14211
14212 2011-05-02  Bruno Haible  <bruno@clisp.org>
14213
14214         gnulib-tool: Refactor.
14215         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
14216         from func_emit_autoconf_snippets.
14217         (func_emit_autoconf_snippets): Use it.
14218
14219 2011-05-02  Simon Josefsson  <simon@josefsson.org>
14220
14221         * NEWS: Document removal of 'exit'.
14222         * modules/exit: Remove file.
14223
14224 2011-05-01  Bruno Haible  <bruno@clisp.org>
14225
14226         Update DEPENDENCIES.
14227         * DEPENDENCIES (gettext): Recommend the newest release.
14228         Reported by Simon Josefsson.
14229
14230 2011-05-01  Bruno Haible  <bruno@clisp.org>
14231
14232         gnulib-tool: Reduce code duplication.
14233         * gnulib-tool (func_emit_autoconf_snippets): New function.
14234         (func_import, func_create_testdir): Use it.
14235
14236 2011-04-30  Eric Blake  <eblake@redhat.com>
14237
14238         fclose: don't fail on non-seekable input stream
14239         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
14240         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
14241         since fflush is allowed to fail in that case.
14242
14243 2011-04-30  Bruno Haible  <bruno@clisp.org>
14244
14245         dup3: cleanup
14246         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
14247
14248 2011-04-30  Bruno Haible  <bruno@clisp.org>
14249
14250         netdb: Make it work in C++ mode.
14251         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
14252         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
14253         module.
14254         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
14255         gl_MODULE_INDICATOR_FOR_TESTS.
14256         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
14257         * modules/netdb-c++-tests: New file.
14258         * tests/test-netdb-c++.cc: New file.
14259
14260 2011-04-30  Bruno Haible  <bruno@clisp.org>
14261
14262         New modules 'vfscanf', 'vscanf'.
14263         * modules/vfscanf: New file.
14264         * modules/vscanf: New file.
14265         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
14266         here.
14267         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
14268         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
14269
14270 2011-04-30  Bruno Haible  <bruno@clisp.org>
14271
14272         passfd: Add comments.
14273         * lib/passfd.c: Add comments about platforms.
14274
14275 2011-04-30  Bruno Haible  <bruno@clisp.org>
14276
14277         sys_uio: Make <sys/uio.h> self-contained.
14278         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
14279         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
14280
14281 2011-04-30  Bruno Haible  <bruno@clisp.org>
14282
14283         sys_socket: Ensure 'struct iovec' definition.
14284         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
14285         <sys/socket.h>.
14286         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
14287
14288 2011-04-30  Bruno Haible  <bruno@clisp.org>
14289
14290         sys_uio: Protect definition of 'struct iovec'.
14291         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
14292         it as a C struct.
14293
14294 2011-04-30  Bruno Haible  <bruno@clisp.org>
14295
14296         manywarnings: fix indentation
14297         * m4/manywarnings.m4: Indent by 2 spaces consistently.
14298
14299 2011-04-30  Pádraig Brady <P@draigBrady.com>
14300
14301         manywarnings: add -Wno-missing-field-initializers if needed.
14302         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
14303         option if it's needed to allow initialization with { 0, }
14304
14305 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
14306
14307         announce-gen: cosmetic improvement
14308         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
14309
14310 2011-04-29  Jim Meyering  <meyering@redhat.com>
14311
14312         vc-list-files: indent with spaces, not TABs
14313         * build-aux/vc-list-files: Convert leading TABs to spaces,
14314         to match the style of most other files in gnulib.
14315
14316         announce-gen: indent with spaces, not TABs
14317         * build-aux/announce-gen: Convert all TABs to spaces, to match
14318         the style of most other files in gnulib.
14319
14320 2011-04-29  Eric Blake  <eblake@redhat.com>
14321
14322         quotearg: avoid uninitialized variable use
14323         * lib/quotearg.c (quoting_options_from_style): Initialize
14324         remaining fields, and ensure that custom styles are only used via
14325         quoting_options rather than quoting_style.
14326
14327 2011-04-29  Jim Meyering  <meyering@redhat.com>
14328
14329         maint.mk: remove unused VC-tag variable
14330         * top/maint.mk (VC-tag): Remove unused variable.
14331
14332 2011-04-29  Bruno Haible  <bruno@clisp.org>
14333
14334         netdb: fix gai_strerror replacements
14335         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
14336         * modules/netdb: Substitute it.
14337
14338 2011-04-29  Jim Meyering  <meyering@redhat.com>
14339
14340         test-getcwd.c: avoid new set-but-not-used warning
14341         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
14342         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
14343         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
14344         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
14345
14346         test-hash.c: avoid a new shadowing warning
14347         * tests/test-hash.c (main): Don't shadow "dup".
14348
14349 2011-04-28  Eric Blake  <eblake@redhat.com>
14350
14351         getaddrinfo: fix gai_strerror signature
14352         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
14353         and work around mingw with UNICODE defined.
14354         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
14355         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
14356         * modules/netdb (Makefile.am): Substitute it.
14357         * lib/netdb.in.h (gai_strerror): Declare replacement.
14358         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
14359         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
14360         the fix.
14361
14362         getsockopt: avoid compiler warning
14363         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
14364         Reported by Matthias Bolte.
14365
14366         tests: drop unused link dependency
14367         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
14368         * modules/dirent-safer-tests (Makefile.am): Likewise.
14369         * modules/fdopendir-tests (Makefile.am): Likewise.
14370         * modules/mkfifoat-tests (Makefile.am): Likewise.
14371         * modules/openat-safer-tests (Makefile.am): Likewise.
14372         * modules/openat-tests (Makefile.am): Likewise.
14373         * modules/readlinkat-tests (Makefile.am): Likewise.
14374         * modules/symlinkat-tests (Makefile.am): Likewise.
14375         * modules/linkat-tests (Makefile.am): Likewise.
14376         (Depends-on): Switch to filenamecat-lgpl.
14377         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
14378         LIBINTL.
14379         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
14380         * tests/test-linkat.c (main): Don't require xalloc.
14381
14382         hash, mgetgroups: drop xalloc dependency
14383         * lib/hash.c (includes): Adjust includes.
14384         * lib/mgetgroups.c (includes): Likewise.
14385         (xgetgroups): Move...
14386         * lib/xgetgroups.c: ...to new file.
14387         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
14388         * modules/xgetgroups: New file, split from...
14389         * modules/mgetgroups: ...here.
14390         (Depends-on): Add xalloc-oversized.
14391         * modules/hash (Depends-on): Likewise.
14392         * modules/hash-tests (Depends-on): Drop xalloc.
14393         (test_hash_LDADD): Drop unused library.
14394         * tests/test-hash.c (main): Break xalloc dependency.
14395         (includes): Drop unused include.
14396
14397         xalloc-oversized: new module
14398         * modules/xalloc-oversized: New module.
14399         * modules/xalloc (Depends-on): Add it.
14400         * lib/xalloc.h (xalloc_oversized): Move...
14401         * lib/xalloc-oversized.h: ...into new file.
14402
14403         utimecmp: drop dependency on xmalloc
14404         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
14405         due to memory pressure.
14406         * modules/utimecmp (Depends-on): Drop xalloc.
14407
14408 2011-04-27  Eric Blake  <eblake@redhat.com>
14409
14410         getcwd: fix mingw bugs
14411         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
14412         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
14413         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
14414
14415 2011-04-27  Bruno Haible  <bruno@clisp.org>
14416
14417         mkstemps: Ensure declaration on MacOS X 10.5.
14418         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
14419         * doc/glibc-functions/mkstemps.texi: Document header file problem on
14420         MacOS X.
14421
14422 2011-04-27  Bruno Haible  <bruno@clisp.org>
14423
14424         mkstemp: More documentation.
14425         * doc/posix-functions/mkstemp.texi: Document header file problem on
14426         MacOS X.
14427
14428 2011-04-27  Bruno Haible  <bruno@clisp.org>
14429
14430         mkstemp: Tweak configure message when cross-compiling.
14431         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
14432         result as a guess.
14433
14434 2011-04-27  Bruno Haible  <bruno@clisp.org>
14435
14436         clean-temp: Clarify what it does.
14437         * lib/clean-temp.h: Add more comments.
14438         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
14439         module.
14440         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
14441         * doc/glibc-functions/mkstemps.texi: Likewise.
14442         * doc/glibc-functions/mkostemps.texi: Likewise.
14443
14444 2011-04-27  Eric Blake  <eblake@redhat.com>
14445
14446         fchdir: avoid extra chdir and fix test
14447         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
14448         getcwd-lgpl.
14449         * lib/fchdir.c (get_name): Any absolute name will do; it does not
14450         have to be canonical.
14451         (canonicalize_file_name): Drop unused macro.
14452         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
14453
14454         filenamecat-lgpl: fix licence
14455         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
14456         when it was first created.
14457
14458         linkat, renameat: add missing dependency
14459         * modules/linkat (Depends-on): Require getcwd-lgpl.
14460         * modules/renameat (Depends-on): Likewise.
14461
14462         tests: reduce dependencies
14463         * tests/test-linkat.c (main): Use lighter-weight getcwd.
14464         * tests/test-renameat.c (main): Likewise.
14465         * modules/linkat-tests (Depends-on): Relax dependency.
14466         * modules/renameat-tests (Depends-on): Likewise.
14467         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
14468         dependency explicit.
14469
14470         save-cwd: reduce default dependency
14471         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
14472         * lib/save-cwd.c: Update comments.
14473         * NEWS: Document the semantic change.
14474
14475         getcwd: enhance tests
14476         * tests/test-getcwd-lgpl.c: New file, taken from...
14477         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
14478         repeat long path stress tests from m4 probe.
14479         * modules/getcwd-lgpl-tests: New module.
14480         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
14481         * m4/getcwd-abort-bug.m4: Update comment.
14482         * m4/getcwd-path-max.m4: Likewise.
14483
14484         getcwd-lgpl: new module
14485         * modules/getcwd-lgpl: New module.
14486         * lib/getcwd-lgpl.c: New file.
14487         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14488         * MODULES.html.sh (lacking POSIX:2008): Likewise.
14489         * modules/getcwd (configure.ac): Set C witness.
14490         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
14491
14492         getcwd: tweak comments
14493         * m4/getcwd-abort-bug.m4: Fix comments.
14494         * m4/getcwd-path-max.m4: Likewise.
14495         * m4/getcwd.m4: Likewise.
14496
14497 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
14498         and Eric Blake  <eblake@redhat.com>
14499
14500         mkstemp: replace if system version uses wrong permissions
14501         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
14502         read/write mode bits set in file created by mkstemp.
14503         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
14504
14505 2011-04-27  Eric Blake  <eblake@redhat.com>
14506
14507         passfd: avoid compiler warning
14508         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
14509         Reported by Laine Stump.
14510
14511 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
14512
14513         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
14514         required by the NetBSD (and perhaps other 4.4BSD derived) join.
14515
14516 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
14517         and Eric Blake  <eblake@redhat.com>
14518
14519         mkstemp: mention clean-temp module
14520         * lib/mkstemp.c: Add comment.
14521         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
14522
14523 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
14524
14525         inttypes: also provide default values for 32-bit tests
14526         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
14527         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
14528
14529 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
14530
14531         strtoumax: remove dependency on strtoimax
14532         This is like the strtoull change of yesterday.
14533         * modules/strtoumax (Files): Add lib/strtoimax.c.
14534         (Depends-on): Remove strtoimax and add verify.
14535
14536         inttypes-incomplete: new module
14537         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
14538         all but the PRI* and SCN* parts of gl_INTTYPES_H.
14539         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
14540         of gl_INTTYPES_H.
14541         (gl_INTTYPES_H): Rewrite in terms of these new macros.
14542         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
14543         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
14544         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
14545         * modules/strtoumax, modules/xstrtol (Depends-on):
14546         Depend on inttypes-incomplete, not inttypes.
14547         * modules/inttypes-incomplete: New module, containing the contents
14548         of the old modules/inttypes module, except that the Files: section
14549         omits m4/inttypes-pri.m4, and the configure.ac section invokes
14550         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
14551         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
14552         (Depends-on): Depend only on inttypes-incomplete.
14553         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
14554
14555         inttypes: omit now-redundant strtoimax and strtoumax work
14556         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
14557         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
14558
14559         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
14560         This supports apps that need pointers to strtoimax and strtoumax,
14561         and ports to HP-UX 11.00 64.bit, which has macros that expand to
14562         nonexistent functions.  See
14563         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
14564         et seq.
14565         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
14566         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
14567         a macro.
14568         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
14569
14570 2011-04-25  Simon Josefsson  <simon@josefsson.org>
14571
14572         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
14573
14574 2011-04-25  Bruno Haible  <bruno@clisp.org>
14575
14576         strtol, strtoul: Mark modules as obsolete.
14577         * modules/strtol (Status, Notice): New sections.
14578         * modules/strtoul (Status, Notice): New sections.
14579
14580 2011-04-25  Bruno Haible  <bruno@clisp.org>
14581
14582         strtod: Remove check for strtod, unless supporting old platforms.
14583         * modules/strtod-obsolete: New file.
14584         * m4/strtod-obsolete.m4: New file.
14585         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
14586         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
14587         * modules/strtod (Depends-on): Add strtod-obsolete.
14588         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
14589
14590 2011-04-25  Bruno Haible  <bruno@clisp.org>
14591
14592         strcase: Make module obsolete.
14593         * modules/strcase (Status, Notice): New sections.
14594
14595 2011-04-25  Bruno Haible  <bruno@clisp.org>
14596
14597         dup2: Remove check for dup2, unless supporting old obsolete platforms.
14598         * modules/dup2-obsolete: New file.
14599         * m4/dup2-obsolete.m4: New file.
14600         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
14601         gl_FUNC_DUP2_OBSOLETE is not also defined.
14602         * modules/dup2 (Depends-on): Add dup2-obsolete.
14603         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
14604
14605 2011-04-25  Bruno Haible  <bruno@clisp.org>
14606
14607         strnlen: Avoid memchr related link error on old obsolete platforms.
14608         * modules/memchr-obsolete: New file.
14609         * m4/memchr-obsolete.m4: New file.
14610         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
14611         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
14612         * modules/memchr (Depends-on): Add memchr-obsolete.
14613         * modules/strnlen (Depends-on): Likewise.
14614         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
14615
14616 2011-04-25  Jim Meyering  <meyering@redhat.com>
14617
14618         maint.mk: makefile_at_at_check extend and clean up
14619         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
14620         in addition to */Makefile.am.
14621         Exempt legitimate uses of @VAR@ notation, e.g.,
14622         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
14623         Remove obsolete coreutils-specific comment.
14624         Prompted by discussion here:
14625         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
14626
14627 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14628
14629         strtoul: remove dependency on strtol
14630         This is so that 'configure' need not check for strtol merely because
14631         the application needs strtoul.
14632         * modules/strtoul (Files): Add lib/strtol.c.
14633         (Depends-on): Remove strtol.
14634
14635         strtoull: remove dependency on strtoul
14636         This is like the strtoll change.
14637         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
14638         (Depends-on): Remove strtoul.
14639
14640         strtoll: remove dependency on strtol
14641         This is so that 'configure' need not check for strtol merely because
14642         the application needs strtoll.
14643         * modules/strtoll (Files): Add lib/strtol.c.
14644         (Depends-on): Remove strtol.
14645
14646 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14647
14648         inttypes: Move some configure check to module 'imaxdiv'.
14649         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
14650         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
14651         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
14652
14653 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14654
14655         inttypes: Move some configure check to module 'imaxabs'.
14656         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
14657         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
14658         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
14659
14660 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14661
14662         inttypes: Remove configure tests that are not needed since 2009-12-31.
14663         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
14664         gl_cv_header_working_inttypes_h.
14665
14666 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14667
14668         * modules/strnlen (Depends-on): Remove memchr.
14669         The strnlen implementation doesn't need the memchr module's fixes; see
14670         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
14671
14672         strtol: remove dependency on wchar
14673         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
14674         * modules/strtol (Depends-on): Remove wchar.
14675
14676 2011-04-21  Eric Blake  <eblake@redhat.com>
14677
14678         passfd: fix test regression on Linux
14679         * modules/passfd-tests (configure.ac): Correct socketpair check.
14680
14681         passfd: speed up configure and drop unused code
14682         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
14683         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
14684         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
14685         Instead of probing at configure for unix_scm_rights_bsd44_way,
14686         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
14687         check to a struct member probe.
14688         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
14689         (sendfd, recvfd): Update preprocessor checks.
14690         * modules/passfd (Files): Reflect rename, and drop unused file.
14691         (Depends-on): Drop unused dependency.
14692
14693         passfd: allow compilation on mingw
14694         * modules/sys_socket (Depends-on): Add sys_uio.
14695         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
14696         iovec and a minimal struct msghdr.
14697         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
14698         * tests/test-sys_socket.c (main): Enhance test.
14699         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
14700         guaranteed to provide what we need.
14701         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
14702         * modules/passfd-tests (Depends-on): Add sys_wait.
14703         * tests/test-passfd.c (main): Skip test on mingw, for now.
14704         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
14705         partial 'struct msghdr' implementation.
14706
14707         sys_uio: new module
14708         * modules/sys_uio: New module.
14709         * modules/sys_uio-tests: Likewise.
14710         * lib/sys_uio.in.h: New file.
14711         * m4/sys_uio_h.m4: Likewise.
14712         * tests/test-sys_uio.c: Likewise.
14713         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
14714         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
14715
14716 2011-04-20  Jim Meyering  <meyering@redhat.com>
14717
14718         useless-if-before-free: avoid false-positive
14719         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
14720         disjunct so that it too requires a terminating ";".  Without that,
14721         this script would identify as useless one statement from gcc that
14722         was not:
14723           if (aligned_ptr)
14724             free (((void **) aligned_ptr) [-1]);
14725
14726 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
14727
14728         doc: update users.txt.
14729         * users.txt: Add barcode.
14730
14731 2011-04-19  Bruno Haible  <bruno@clisp.org>
14732
14733         ioctl: Remove link dependency on native Windows.
14734         * lib/fd-hook.h: Renamed from lib/close-hook.h.
14735         (gl_close_fn, gl_ioctl_fn): New types.
14736         (struct fd_hook): Renamed from struct close_hook. Change type of
14737         private_close_fn field. Add private_ioctl_fn field.
14738         (close_hook_fn): Add parameter for primary close method.
14739         (execute_close_hooks, execute_all_close_hooks): Likewise.
14740         (ioctl_hook_fn): New type.
14741         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
14742         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14743         argument.
14744         (unregister_fd_hook): Renamed from unregister_close_hook.
14745         * lib/fd-hook.c: Renamed from lib/close-hook.c.
14746         Don't include <unistd.h>.
14747         (close): Remove undef.
14748         (anchor): Update.
14749         (execute_close_hooks): Add argument for primary close method.
14750         (execute_all_close_hooks): Likewise.
14751         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
14752         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14753         argument. Allow each argument to be NULL.
14754         (unregister_fd_hook): Renamed from unregister_close_hook.
14755         * lib/close.c (rpl_close): Pass 'close' function pointer to
14756         execute_all_close_hooks.
14757         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
14758         (primary_ioctl): New function.
14759         (ioctl): Don't call ioctlsocket here. Instead, call
14760         execute_all_ioctl_hooks.
14761         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
14762         close method.
14763         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
14764         (fd_sockets_hook): Renamed from close_sockets_hook.
14765         (gl_sockets_startup, gl_sockets_cleanup): Update.
14766         * modules/fd-hook: Renamed from modules/close-hook. Update.
14767         * modules/close (Depends-on): Add fd-hook, remove close-hook.
14768         * modules/sockets (Depends-on): Likewise.
14769         * modules/ioctl (Depends-on): Add fd-hook.
14770         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
14771         GNULIB_SOCKET.
14772
14773 2011-04-19  Bruno Haible  <bruno@clisp.org>
14774
14775         Move the support of O_NONBLOCK in open() to the 'open' module.
14776         * modules/nonblocking (Depends-on): Remove 'open'.
14777         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
14778         gl_cv_have_open_O_NONBLOCK.
14779         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
14780         O_NONBLOCK support.
14781         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
14782
14783 2011-04-17  Bruno Haible  <bruno@clisp.org>
14784
14785         pipe2: Simplify code.
14786         * lib/pipe2.c (pipe2): Reduce code duplication.
14787
14788 2011-04-17  Bruno Haible  <bruno@clisp.org>
14789
14790         nonblocking: Add comment.
14791         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
14792
14793 2011-04-17  Bruno Haible  <bruno@clisp.org>
14794
14795         nonblocking: Add tests for sockets.
14796         * tests/test-nonblocking-socket.sh: New file.
14797         * tests/test-nonblocking-socket-main.c: New file.
14798         * tests/test-nonblocking-socket-child.c: New file.
14799         * tests/test-nonblocking-socket.h: New file.
14800         * tests/socket-server.h: New file.
14801         * tests/socket-client.h: New file.
14802         * modules/nonblocking-socket-tests: New file.
14803         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
14804
14805 2011-04-17  Bruno Haible  <bruno@clisp.org>
14806
14807         nonblocking: Add tests for pipes.
14808         * tests/test-nonblocking-pipe.sh: New file.
14809         * tests/test-nonblocking-pipe-main.c: New file.
14810         * tests/test-nonblocking-pipe-child.c: New file.
14811         * tests/test-nonblocking-pipe.h: New file.
14812         * tests/test-nonblocking-writer.h: New file.
14813         * tests/test-nonblocking-reader.h: New file.
14814         * tests/test-nonblocking-misc.h: New file.
14815         * modules/nonblocking-pipe-tests: New file.
14816         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
14817
14818 2011-04-16  Bruno Haible  <bruno@clisp.org>
14819
14820         gettext: Clarify the needed programmer actions.
14821         * modules/gettext (Notice): New field.
14822         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
14823
14824 2011-04-16  Bruno Haible  <bruno@clisp.org>
14825
14826         strchrnul: Tweak last commit.
14827         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
14828         bug.
14829         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
14830         as in _GL_FUNCDECL_SYS.
14831         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
14832         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
14833
14834 2011-04-15  Eric Blake  <eblake@redhat.com>
14835
14836         strchrnul: work around cygwin bug
14837         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
14838         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
14839         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
14840         * modules/string (Makefile.am): Substitute it.
14841         * lib/string.in.h (strchrnul): Use it.
14842
14843 2011-04-15  Bruno Haible  <bruno@clisp.org>
14844
14845         Don't require lib/stdio-write.c when only module 'stdio' is used.
14846         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
14847         invocation.
14848         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
14849
14850 2011-04-14  Bruno Haible  <bruno@clisp.org>
14851
14852         Support non-blocking pipe I/O in read() on native Windows.
14853         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
14854         (read): New declaration.
14855         * lib/read.c: New file.
14856         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
14857         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
14858         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
14859         vscanf): New declarations.
14860         * lib/stdio-read.c: New file.
14861         * m4/read.m4: New file.
14862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
14863         REPLACE_READ.
14864         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
14865         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14866         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
14867         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
14868         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
14869         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14870         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14871         * modules/read: New file.
14872         * modules/nonblocking (Files): Add lib/stdio-read.c.
14873         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
14874         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
14875         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14876         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14877         * modules/pread (Depends-on): Add read.
14878         * modules/safe-read (Depends-on): Likewise.
14879         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
14880         gets, scanf, vfscanf, vscanf): Verify signatures.
14881         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
14882         problem with non-blocking pipes.
14883         * doc/posix-functions/fgetc.texi: Likewise.
14884         * doc/posix-functions/fgets.texi: Likewise.
14885         * doc/posix-functions/fread.texi: Likewise.
14886         * doc/posix-functions/fscanf.texi: Likewise.
14887         * doc/posix-functions/getc.texi: Likewise.
14888         * doc/posix-functions/getchar.texi: Likewise.
14889         * doc/posix-functions/gets.texi: Likewise.
14890         * doc/posix-functions/scanf.texi: Likewise.
14891         * doc/posix-functions/vfscanf.texi: Likewise.
14892         * doc/posix-functions/vscanf.texi: Likewise.
14893
14894 2011-04-14  Bruno Haible  <bruno@clisp.org>
14895
14896         Support non-blocking pipe I/O in write() on native Windows.
14897         * lib/write.c (rpl_write): Split a write request that failed merely
14898         because the byte count was larger than the pipe buffer's size.
14899         * doc/posix-functions/write.texi: Mention the problem with large byte
14900         counts.
14901
14902 2011-04-14  Bruno Haible  <bruno@clisp.org>
14903
14904         wchar: Ensure that wchar_t gets defined on uClibc.
14905         * lib/wchar.in.h: On uClibc, include <stddef.h>.
14906         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
14907
14908 2011-04-13  Bruno Haible  <bruno@clisp.org>
14909
14910         safe-write, full-read: Avoid unnecessary compilation units.
14911         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
14912         (Depends-on): Remove safe-read. Add ssize_t.
14913         * modules/full-read (Files): Add lib/full-write.c.
14914         (Depends-on): Add full-write.
14915
14916 2011-04-13  Bruno Haible  <bruno@clisp.org>
14917
14918         Support non-blocking pipe I/O and SIGPIPE in pwrite().
14919         * modules/pwrite (Depends-on): Add 'write'.
14920
14921 2011-04-13  Bruno Haible  <bruno@clisp.org>
14922
14923         Support non-blocking pipe I/O in write() on native Windows.
14924         * lib/unistd.in.h (write): Enable replacement also if
14925         GNULIB_UNISTD_H_NONBLOCKING is 1.
14926         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
14927         (rpl_write): When failing to write on a non-blocking pipe, change
14928         errno from ENOSPC to EAGAIN.
14929         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
14930         putchar, puts, vfprintf, vprintf): Enable replacement also if
14931         GNULIB_STDIO_H_NONBLOCKING is 1.
14932         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
14933         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
14934         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
14935         CALL_WITH_SIGPIPE_EMULATION.
14936         (CALL_WITH_SIGPIPE_EMULATION): Use them.
14937         * m4/nonblocking.m4: New file.
14938         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
14939         for non-blocking I/O support.
14940         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14941         GNULIB_UNISTD_H_NONBLOCKING.
14942         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
14943         required for non-blocking I/O support.
14944         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
14945         * modules/nonblocking (Files): Add m4/nonblocking.m4,
14946         lib/stdio-write.c, m4/asm-underscore.m4.
14947         (Depends-on): Add stdio, unistd.
14948         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
14949         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
14950         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
14951         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
14952         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
14953         problem with non-blocking pipes.
14954         * doc/posix-functions/fputc.texi: Likewise.
14955         * doc/posix-functions/fputs.texi: Likewise.
14956         * doc/posix-functions/fwrite.texi: Likewise.
14957         * doc/posix-functions/printf.texi: Likewise.
14958         * doc/posix-functions/putc.texi: Likewise.
14959         * doc/posix-functions/putchar.texi: Likewise.
14960         * doc/posix-functions/puts.texi: Likewise.
14961         * doc/posix-functions/vfprintf.texi: Likewise.
14962         * doc/posix-functions/vprintf.texi: Likewise.
14963         * doc/posix-functions/write.texi: Likewise.
14964
14965 2011-04-10  Jim Meyering  <meyering@redhat.com>
14966
14967         maint.mk: prohibit doubled words
14968         Detect them also when they're separated by a newline.
14969         There are 3 ways to customize it:
14970           - disable the test on a per file basis, as usual with rules using
14971             $(VC_LIST_EXCEPT)
14972           - replace the default doubled-word-selecting regexp (affects all files)
14973           - ignore a particular file-vs-doubled-word match
14974         I nearly used that last one to ignore the "is is" match in
14975         coreutils' NEWS file, since the text was "ls -is is ..."
14976         To do that, I would have added this line to cfg.mk:
14977           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
14978         but it would have ignored any "is is" match in NEWS.
14979         Low probability, but still...
14980         Instead, I changed the text, slightly:
14981           -  ls -is is now consistent with ls -lis in ignoring values returned
14982           +  "ls -is" is now consistent with ls -lis in ignoring values returned
14983         * top/maint.mk (prohibit_double_word_RE_): Provide default.
14984         (prohibit_doubled_word_): Define.
14985         (sc_prohibit_doubled_word): New rule.
14986         (sc_prohibit_the_the): Remove.  Subsumed by the above.
14987
14988 2011-04-10  Jim Meyering  <meyering@redhat.com>
14989
14990         maint: fix doubled-word typo in comment
14991         * m4/gethostname.m4: s/is is/it is/
14992         * m4/getdomainname.m4: Likewise.
14993
14994 2011-04-10  Jim Meyering  <meyering@redhat.com>
14995
14996         maint: remove doubled word: s/it it/it/
14997         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
14998
14999 2011-04-10  Jim Meyering  <meyering@redhat.com>
15000
15001         maint.mk: remove useless semicolon and backslash
15002         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
15003         semicolon and backslash.
15004
15005 2011-04-10  Bruno Haible  <bruno@clisp.org>
15006
15007         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
15008         * modules/stdint-tests (Depends-on): Add wchar.
15009
15010 2011-04-10  Jim Meyering  <meyering@redhat.com>
15011
15012         maint: remove doubled words in comments, e.g., s/a a/a/
15013         * lib/strptime.c (day_of_the_week): s/the the/the/
15014         * tests/test-chown.h (test_chown): s/a a/a/
15015
15016         test-chown.h: correct a cast
15017         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
15018         when the destination is a stat.st_gid.
15019
15020 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
15021
15022         getaddrinfo: Fix test for sa_len member.
15023         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
15024         include <sys/types.h> before <sys/socket.h>.
15025
15026 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
15027
15028         maint: change "can not" to "cannot"
15029         * doc/posix-functions/iconv.texi (iconv): This one crossed line
15030         boundaries.
15031
15032 2011-04-09  Jim Meyering  <meyering@redhat.com>
15033
15034         maint: change "a a" to "a"
15035         * tests/test-lchown.h (test_lchown): s/a a/a/
15036
15037         maint.mk: prohibit \<the the\>
15038         * top/maint.mk (sc_prohibit_the_the): New rule.
15039
15040         maint: fix "the the" in comment
15041         * lib/count-one-bits.h: s/the the/the/
15042
15043         maint: change "can not" to "cannot"
15044         But do not change the occurrences in maintain.texi or in
15045         build-aux/po/Makefile.in.in, which I presume comes from gettext.
15046         * doc/gnulib-tool.texi: s/can not/cannot/
15047         * doc/posix-functions/accept.texi (accept): Likewise.
15048         * doc/posix-functions/socket.texi (socket): Likewise.
15049         * lib/mbrtowc.c: Likewise.
15050
15051         maint.mk: prohibit use of "can not"
15052         * top/maint.mk (sc_prohibit_can_not): New rule.
15053         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
15054
15055 2011-04-09  Bruno Haible  <bruno@clisp.org>
15056
15057         careadlinkat: Guard against misuse of careadlinkatcwd.
15058         * lib/careadlinkat.c: Include <stdlib.h>.
15059         (careadlinkatcwd): Check that the fd argument is as expected.
15060
15061 2011-04-09  Bruno Haible  <bruno@clisp.org>
15062
15063         careadlinkat: Use common coding style.
15064         * lib/careadlinkat.c: Move gnulib includes after system includes.
15065
15066 2011-04-09  Bruno Haible  <bruno@clisp.org>
15067
15068         careadlinkat: Clarify specification.
15069         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
15070         (careadlinkatcwd): Add comment.
15071         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
15072
15073 2011-04-09  Bruno Haible  <bruno@clisp.org>
15074
15075         areadlinkat: Avoid link error on many platforms.
15076         * modules/areadlinkat (Depends-on): Add areadlink.
15077
15078 2011-04-09  Bruno Haible  <bruno@clisp.org>
15079
15080         allocator, careadlinkat: Fix double-inclusion guard.
15081         * lib/allocator.h: Fix double-inclusion guard.
15082         * lib/careadlinkat.h: Likewise.
15083
15084 2011-04-09  Bruno Haible  <bruno@clisp.org>
15085
15086         relocatable-prog-wrapper: Update after module 'areadlink' changed.
15087         * lib/relocwrapper.c: Update dependencies hierarchy.
15088         * build-aux/install-reloc: Update list of files to be compiled.
15089         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
15090         lib/allocator.[hc].
15091
15092 2011-04-08  Eric Blake  <eblake@redhat.com>
15093
15094         strftime: silence gnulib-tool warning
15095         * modules/strftime-tests (Depends-on): Drop automatic dependency.
15096
15097 2011-04-08  Bruno Haible  <bruno@clisp.org>
15098
15099         verify: Fix syntax error with GCC 4.6 in C++ mode.
15100         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
15101         (HAVE_STATIC_ASSERT): New macro.
15102         (verify_true, verify): Use 'static_assert' if it is supported and
15103         '_Static_assert' is not supported.
15104
15105 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
15106
15107         allocator: New module.
15108         * modules/allocator, lib/allocator.c: New files.
15109         * lib/allocator.h (stdlib_allocator): New decl.
15110         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
15111         Remove.  Do not include <stdlib.h>.
15112         (careadlinkat): Use stdlib_allocator instead of rolling our own.
15113         * modules/careadlinkat (Files): Remove lib/allocator.h.
15114         (Depends-on): Add allocator.
15115
15116         stdlib: let modules use system malloc, realloc
15117         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
15118         if !_GL_USE_STDLIB_ALLOC.
15119         (malloc, realloc): Limit this change to a smaller scope.
15120
15121         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
15122         (malloc, realloc): Don't #undef; no longer needed.
15123         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15124         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15125         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15126         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15127         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15128         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15129         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15130         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15131
15132         careadlinkat: rename members to avoid problem
15133         * lib/allocator.h (struct allocator): Rename members from
15134         malloc/realloc to allocate/reallocate, to avoid problems if malloc
15135         and realloc are #define'd.  Reported by Eric Blake in
15136         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
15137         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
15138
15139 2011-04-08  Eric Blake  <eblake@redhat.com>
15140
15141         nonblocking: reduce dependency
15142         * tests/test-nonblocking.c: Only test sockets when in use.
15143         * modules/nonblocking-tests (Depends-on): Drop socket.
15144         (Makefile.am): Link even if sockets are not present.
15145         * modules/pipe2-tests (Makefile.am): Likewise.
15146         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
15147
15148         pipe2: fix O_NONBLOCK support on mingw
15149         * modules/pipe2 (Depends-on): Add nonblocking.
15150         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
15151         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
15152         * tests/test-nonblocking.c (main): Likewise.
15153         * modules/pipe2-tests (Makefile.am): Avoid link failure.
15154
15155         fcntl-h: fix O_ACCMODE on cygwin
15156         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
15157         * lib/fcntl.in.h (O_ACCMODE): Fix it.
15158
15159         pipe-filter: drop O_NONBLOCK workarounds
15160         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
15161         * modules/pipe-filter-ii (Depends-on): Likewise.
15162         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
15163
15164         nonblocking: provide O_NONBLOCK for mingw
15165         * modules/nonblocking (Depends-on): Add open.
15166         (configure.ac): Set new witness macro.
15167         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
15168         * modules/fcntl-h (Makefile.am): Substitute it.
15169         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
15170         nonblocking module is in use.
15171         * lib/nonblocking.c: Adjust portability test.
15172         * lib/open.c (open): Don't let native open see gnulib flag.
15173         * tests/test-fcntl-h.c (main): Enhance test.
15174         * tests/test-open.h (test_open): Likewise.
15175         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
15176
15177         careadlinkat: fix compilation error on mingw
15178         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
15179         within struct allocator.
15180
15181 2011-04-06  Eric Blake  <eblake@redhat.com>
15182
15183         binary-io: relicense under LGPLv2+
15184         * modules/binary-io (License): Relax to LGPLv2+.
15185         Requested for libvirt, and required by pipe2.
15186
15187 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
15188
15189         verify: use _Static_assert if available
15190         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
15191         (verify_true, verify): Use it if available.  This generates better
15192         diagnostics with GCC 4.6.0 and later.
15193
15194 2011-04-05  Bruno Haible  <bruno@clisp.org>
15195
15196         Remove leftover generated .h files after config.status changed.
15197
15198         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
15199         GL_GENERATE_ALLOCA_H.
15200         * modules/alloca-opt (Makefile.am): Remove alloca.h if
15201         GL_GENERATE_ALLOCA_H evaluates to false.
15202
15203         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
15204         GL_GENERATE_ARGZ_H.
15205         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
15206         evaluates to false.
15207
15208         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
15209         GL_GENERATE_BYTESWAP_H.
15210         * modules/byteswap (Makefile.am): Remove byteswap.h if
15211         GL_GENERATE_BYTESWAP_H evaluates to false.
15212
15213         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
15214         GL_GENERATE_ERRNO_H.
15215         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
15216         evaluates to false.
15217
15218         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
15219         GL_GENERATE_FLOAT_H.
15220         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
15221         evaluates to false.
15222
15223         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
15224         GL_GENERATE_FNMATCH_H.
15225         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
15226         GL_GENERATE_FNMATCH_H evaluates to false.
15227
15228         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
15229         GL_GENERATE_GLOB_H.
15230         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
15231         evaluates to false.
15232
15233         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
15234         automake conditional GL_GENERATE_ICONV_H.
15235         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
15236         evaluates to false.
15237
15238         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
15239         GL_GENERATE_NETINET_IN_H.
15240         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
15241         GL_GENERATE_NETINET_IN_H evaluates to false.
15242
15243         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
15244         conditional GL_GENERATE_PTHREAD_H.
15245         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
15246         * modules/pthread (Makefile.am): Remove pthread.h if
15247         GL_GENERATE_PTHREAD_H evaluates to false.
15248
15249         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
15250         GL_GENERATE_SCHED_H.
15251         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
15252         evaluates to false.
15253
15254         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
15255         conditional GL_GENERATE_SELINUX_CONTEXT_H.
15256         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
15257         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
15258
15259         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
15260         GL_GENERATE_STDARG_H.
15261         * modules/stdarg (Makefile.am): Remove stdarg.h if
15262         GL_GENERATE_STDARG_H evaluates to false.
15263
15264         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
15265         GL_GENERATE_STDBOOL_H.
15266         * modules/stdbool (Makefile.am): Remove stdbool.h if
15267         GL_GENERATE_STDBOOL_H evaluates to false.
15268
15269         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
15270         conditional GL_GENERATE_STDDEF_H.
15271         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
15272         * modules/stddef (Makefile.am): Remove stddef.h if
15273         GL_GENERATE_STDDEF_H evaluates to false.
15274
15275         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
15276         GL_GENERATE_STDINT_H.
15277         * modules/stdint (Makefile.am): Remove stdint.h if
15278         GL_GENERATE_STDINT_H evaluates to false.
15279
15280         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
15281         GL_GENERATE_SYSEXITS_H.
15282         * modules/sysexits (Makefile.am): Remove sysexits.h if
15283         GL_GENERATE_SYSEXITS_H evaluates to false.
15284
15285         Reported by Karl Berry and Ralf Wildenhues.
15286
15287 2011-04-05  Bruno Haible  <bruno@clisp.org>
15288
15289         Ensure to rebuild generated .h files when config.status has changed.
15290         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
15291         config.status.
15292         * modules/ctype (Makefile.am): Likewise.
15293         * modules/dirent (Makefile.am): Likewise.
15294         * modules/errno (Makefile.am): Likewise.
15295         * modules/fcntl-h (Makefile.am): Likewise.
15296         * modules/float (Makefile.am): Likewise.
15297         * modules/getopt-posix (Makefile.am): Likewise.
15298         * modules/glob (Makefile.am): Likewise.
15299         * modules/iconv-h (Makefile.am): Likewise.
15300         * modules/inttypes (Makefile.am): Likewise.
15301         * modules/langinfo (Makefile.am): Likewise.
15302         * modules/locale (Makefile.am): Likewise.
15303         * modules/math (Makefile.am): Likewise.
15304         * modules/netdb (Makefile.am): Likewise.
15305         * modules/netinet_in (Makefile.am): Likewise.
15306         * modules/poll-h (Makefile.am): Likewise.
15307         * modules/pthread (Makefile.am): Likewise.
15308         * modules/pty (Makefile.am): Likewise.
15309         * modules/sched (Makefile.am): Likewise.
15310         * modules/search (Makefile.am): Likewise.
15311         * modules/selinux-h (Makefile.am): Likewise.
15312         * modules/signal (Makefile.am): Likewise.
15313         * modules/spawn (Makefile.am): Likewise.
15314         * modules/stdarg (Makefile.am): Likewise.
15315         * modules/stdbool (Makefile.am): Likewise.
15316         * modules/stddef (Makefile.am): Likewise.
15317         * modules/stdint (Makefile.am): Likewise.
15318         * modules/stdio (Makefile.am): Likewise.
15319         * modules/stdlib (Makefile.am): Likewise.
15320         * modules/string (Makefile.am): Likewise.
15321         * modules/strings (Makefile.am): Likewise.
15322         * modules/sys_file (Makefile.am): Likewise.
15323         * modules/sys_ioctl (Makefile.am): Likewise.
15324         * modules/sys_select (Makefile.am): Likewise.
15325         * modules/sys_socket (Makefile.am): Likewise.
15326         * modules/sys_stat (Makefile.am): Likewise.
15327         * modules/sys_time (Makefile.am): Likewise.
15328         * modules/sys_times (Makefile.am): Likewise.
15329         * modules/sys_utsname (Makefile.am): Likewise.
15330         * modules/sys_wait (Makefile.am): Likewise.
15331         * modules/sysexits (Makefile.am): Likewise.
15332         * modules/termios (Makefile.am): Likewise.
15333         * modules/time (Makefile.am): Likewise.
15334         * modules/unistd (Makefile.am): Likewise.
15335         * modules/wchar (Makefile.am): Likewise.
15336         * modules/wctype-h (Makefile.am): Likewise.
15337         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
15338
15339 2011-04-05  Bruno Haible  <bruno@clisp.org>
15340
15341         pipe2: Relicense under LGPLv2+.
15342         * modules/pipe2 (License): Change to LGPLv2+.
15343         Requested by Eric Blake, for libvirt.
15344
15345 2011-04-05  Bruce Korb  <bkorb@gnu.org>
15346
15347         bootstrap: compute gnulib_extra_files after updating build_aux
15348         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
15349         change build_aux or also supply gnulib_extra_files.  Handle correctly.
15350
15351 2011-04-05  Eric Blake  <eblake@redhat.com>
15352
15353         bootstrap: preserve git whitelist item sorting
15354         * build-aux/bootstrap (sort_patterns): New function.
15355         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
15356
15357 2011-04-05  Simon Josefsson  <simon@josefsson.org>
15358
15359         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
15360         sc_space_tab check.
15361
15362 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
15363
15364         areadlink, areadlinkat: rewrite in terms of careadlinkat
15365         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
15366         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
15367         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
15368         (malloc, realloc): Remove #undefs.
15369         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
15370         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
15371         readlink, ssize_t, stdint, unistd.
15372         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
15373         areadlink, stdint.
15374
15375         careadlinkat: new module
15376         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
15377         * modules/careadlinkat: New files, written by me with
15378         a review and feedback from Ben Pfaff in
15379         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
15380
15381 2011-04-01  Bruno Haible  <bruno@clisp.org>
15382
15383         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
15384         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
15385         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
15386         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
15387         Reported by Bruce Korb <bruce.korb@gmail.com>.
15388
15389 2011-04-01  Bruno Haible  <bruno@clisp.org>
15390
15391         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
15392         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
15393         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
15394         * modules/wcpcpy (Depends-on): Add extensions.
15395         * modules/wcpncpy (Depends-on): Likewise.
15396         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
15397         systems.
15398         * doc/posix-functions/wcpncpy.texi: Likewise.
15399         * doc/posix-functions/wcwidth.texi: Likewise.
15400
15401 2011-03-31  Eric Blake  <eblake@redhat.com>
15402
15403         nonblocking: fix mingw test failures
15404         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
15405         non-blocking flag on regular file.
15406         (get_nonblocking_flag): Set errno on invalid fd.
15407         * tests/test-nonblocking.c (main): Avoid test failure on
15408         directories if fchdir is not active.
15409         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
15410
15411 2011-03-31  Bruno Haible  <bruno@clisp.org>
15412
15413         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
15414         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
15415         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
15416         Reported by Simon Josefsson <simon@josefsson.org>.
15417
15418 2011-03-31  Bruno Haible  <bruno@clisp.org>
15419         and Eric Blake  <eblake@redhat.com>
15420
15421         nonblocking: new module
15422         * modules/nonblocking: New module.
15423         * modules/nonblocking-tests: Likewise.
15424         * lib/nonblocking.h: New file.
15425         * lib/nonblocking.c: Likewise.
15426         * tests/test-nonblocking.c: New test.
15427         * lib/ioctl.c (ioctl) [mingw]: Update comment.
15428
15429 2011-03-30  Bruno Haible  <bruno@clisp.org>
15430
15431         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
15432         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
15433         instead of 'printf' format for GCC >= 4.4.
15434         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
15435         (fprintf, printf, vfprintf, vprintf): Declare with
15436         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
15437         the system's vfprintf() function.
15438         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
15439
15440 2011-03-30  Eric Blake  <eblake@redhat.com>
15441
15442         passfd: fix scoping bug
15443         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
15444         before sendmsg/recvmsg.
15445
15446         passfd: standardize coding conventions
15447         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
15448         can be learned at compile time.
15449         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
15450         ifdefs.
15451         (sendfd, recvfd): Follow gnulib code conventions.
15452
15453         passfd: fix incorrect sendmsg arguments
15454         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
15455         incorrect msg_controllen value.
15456         * modules/passfd-tests (Depends-on): Check for alarm.
15457         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
15458         Reported by Bastien ROUCARIES.
15459
15460 2011-03-30  Bruno Haible  <bruno@clisp.org>
15461
15462         c-strcasestr: Relicense under LGPLv2+.
15463         * modules/c-strcasestr (License): Change to LGPLv2+.
15464         Requested by Eric Blake, for libvirt.
15465
15466 2011-03-30  Simon Josefsson  <simon@josefsson.org>
15467
15468         * users.txt: Add libidn2.  Fix libtasn1 link.
15469
15470 2011-03-30  Jim Meyering  <meyering@redhat.com>
15471
15472         tests: readlink* ("",... fails with EINVAL on newer kernels
15473         readlink and readlinkat have typically failed with ENOENT for
15474         the invalid, empty file name,  "".  However, with the advent
15475         of linux-2.6.39, they fail with EINVAL.
15476         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
15477         when operating on the empty file name.
15478         * tests/test-readlink.h (test_readlink): Likewise.
15479
15480 2011-03-29  Bruno Haible  <bruno@clisp.org>
15481
15482         Relicense some modules under LGPLv2+, for libidn2.
15483         * modules/array-mergesort (License): Change to LGPLv2+.
15484         * modules/c-strcaseeq (License): Likewise.
15485         * modules/striconveh (License): Likewise.
15486         * modules/striconveha (License): Likewise.
15487         * modules/uniconv/base (License): Likewise.
15488         * modules/uniconv/u8-conv-from-enc (License): Likewise.
15489         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
15490         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
15491         * modules/unictype/base (License): Likewise.
15492         * modules/unictype/bidiclass-of (License): Likewise.
15493         * modules/unictype/category-M (License): Likewise.
15494         * modules/unictype/category-none (License): Likewise.
15495         * modules/unictype/category-of (License): Likewise.
15496         * modules/unictype/category-test (License): Likewise.
15497         * modules/unictype/category-test-withtable (License): Likewise.
15498         * modules/unictype/combining-class (License): Likewise.
15499         * modules/unictype/joiningtype-of (License): Likewise.
15500         * modules/unictype/scripts (License): Likewise.
15501         * modules/uninorm/base (License): Likewise.
15502         * modules/uninorm/canonical-decomposition (License): Likewise.
15503         * modules/uninorm/composition (License): Likewise.
15504         * modules/uninorm/decompose-internal (License): Likewise.
15505         * modules/uninorm/decomposition-table (License): Likewise.
15506         * modules/uninorm/nfc (License): Likewise.
15507         * modules/uninorm/nfd (License): Likewise.
15508         * modules/uninorm/u32-normalize (License): Likewise.
15509         * modules/unistr/base (License): Likewise.
15510         * modules/unistr/u32-cpy (License): Likewise.
15511         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
15512         * modules/unistr/u32-to-u8 (License): Likewise.
15513         * modules/unistr/u32-uctomb (License): Likewise.
15514         * modules/unistr/u8-check (License): Likewise.
15515         * modules/unistr/u8-mblen (License): Likewise.
15516         * modules/unistr/u8-mbtouc (License): Likewise.
15517         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
15518         * modules/unistr/u8-mbtoucr (License): Likewise.
15519         * modules/unistr/u8-prev (License): Likewise.
15520         * modules/unistr/u8-strlen (License): Likewise.
15521         * modules/unistr/u8-to-u32 (License): Likewise.
15522         * modules/unistr/u8-uctomb (License): Likewise.
15523         * modules/unitypes (License): Likewise.
15524         Requested by Simon Josefsson.
15525
15526 2011-03-29  Simon Josefsson  <simon@josefsson.org>
15527
15528         lib-symbol-visibility: Add a notice.
15529         * modules/lib-symbol-visibility (Notice): New field.
15530
15531 2011-03-29  Bruno Haible  <bruno@clisp.org>
15532
15533         getaddrinfo: Doc fix.
15534         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
15535         section "fixed in Gnulib".
15536
15537 2011-03-28  Simon Josefsson  <simon@josefsson.org>
15538
15539         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
15540         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
15541
15542 2011-03-26  Bruno Haible  <bruno@clisp.org>
15543
15544         unictype/property-byname: Reduce the number of load-time relocations.
15545         * lib/unictype/pr_byname.c: Include <stdlib.h>.
15546         (UC_PROPERTY_INDEX_*): New enumeration values.
15547         (uc_property_byname): Convert an index from the lookup table to an
15548         uc_property_t.
15549         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
15550         values.
15551
15552 2011-03-26  Bruno Haible  <bruno@clisp.org>
15553
15554         unictype/property-byname: Allow omitted word separators and aliases.
15555         * lib/unictype/pr_byname.gperf: Add property names without word
15556         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
15557         for 'space'.
15558
15559 2011-03-26  Bruno Haible  <bruno@clisp.org>
15560
15561         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
15562         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
15563         also hyphens to space.
15564         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
15565         without spaces.
15566         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
15567
15568 2011-03-26  Bruno Haible  <bruno@clisp.org>
15569
15570         unictype/joiningtype-byname: Recognize long names as well.
15571         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
15572         a long name.
15573         * lib/unictype/joiningtype_byname.c: Include <string.h>,
15574         unictype/joiningtype_byname.h.
15575         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
15576         * lib/unictype/joiningtype_byname.gperf: New file.
15577         * modules/unictype/joiningtype-byname (Files): Add
15578         lib/unictype/joiningtype_byname.gperf.
15579         (Depends-on): Add gperf.
15580         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
15581         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
15582         long names.
15583
15584         Tests for module 'unictype/joiningtype-longname'.
15585         * modules/unictype/joiningtype-longname-tests: New file.
15586         * tests/unictype/test-joiningtype_longname.c: New file.
15587
15588         New module 'unictype/joiningtype-longname'.
15589         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
15590         * lib/unictype/joiningtype_longname.c: New file.
15591         * modules/unictype/joiningtype-longname: New file.
15592         * modules/unictype/joiningtype-all (Depends-on): Add
15593         unictype/joiningtype-longname.
15594
15595 2011-03-26  Bruno Haible  <bruno@clisp.org>
15596
15597         unictype/bidiclass-byname: Recognize long names as well.
15598         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
15599         name.
15600         * lib/unictype/bidi_byname.c: Include <string.h>,
15601         unictype/bidi_byname.h.
15602         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
15603         * lib/unictype/bidi_byname.gperf: New file.
15604         * modules/unictype/bidiclass-byname (Files): Add
15605         lib/unictype/bidi_byname.gperf.
15606         (Depends-on): Add gperf.
15607         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
15608         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
15609         long names.
15610
15611         Tests for module 'unictype/bidiclass-longname'.
15612         * modules/unictype/bidiclass-longname-tests: New file.
15613         * tests/unictype/test-bidi_longname.c: New file.
15614
15615         New module 'unictype/bidiclass-longname'.
15616         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
15617         * lib/unictype/bidi_longname.c: New file.
15618         * modules/unictype/bidiclass-longname: New file.
15619         * modules/unictype/bidiclass-all (Depends-on): Add
15620         unictype/bidiclass-longname.
15621
15622 2011-03-26  Bruno Haible  <bruno@clisp.org>
15623
15624         unictype/bidi*: Rename modules.
15625         * modules/unictype/bidiclass-all: Renamed from
15626         modules/unictype/bidicategory-all.
15627         * modules/unictype/bidiclass-name: Renamed from
15628         modules/unictype/bidiclass-name.
15629         (Description): Update.
15630         * modules/unictype/bidiclass-name-tests: Renamed from
15631         modules/unictype/bidicategory-name-tests.
15632         * modules/unictype/bidiclass-byname: Renamed from
15633         modules/unictype/bidicategory-byname.
15634         (Description): Update.
15635         * modules/unictype/bidiclass-byname-tests: Renamed from
15636         modules/unictype/bidicategory-byname-tests.
15637         * modules/unictype/bidiclass-of: Renamed from
15638         modules/unictype/bidicategory-of.
15639         (Description): Update.
15640         * modules/unictype/bidiclass-of-tests: Renamed from
15641         modules/unictype/bidicategory-of-tests.
15642         * modules/unictype/bidiclass-test: Renamed from
15643         modules/unictype/bidicategory-test.
15644         (Description): Update.
15645         * modules/unictype/bidiclass-test-tests: Renamed from
15646         modules/unictype/bidicategory-test-tests.
15647         * modules/unictype/bidicategory-all: New file, a simple redirection.
15648         * modules/unictype/bidicategory-name: Likewise.
15649         * modules/unictype/bidicategory-byname: Likewise.
15650         * modules/unictype/bidicategory-of: Likewise.
15651         * modules/unictype/bidicategory-test: Likewise.
15652         * modules/unictype/property-bidi-* (Dependencies): Update.
15653         * lib/unictype/bidi_*.c: Update comment.
15654
15655 2011-03-26  Bruno Haible  <bruno@clisp.org>
15656
15657         unictype/bidi*: Rename functions, part 2.
15658         * modules/unictype/bidicategory-name (configure.ac): Update required
15659         libunistring version.
15660         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
15661
15662 2011-03-25  Bruno Haible  <bruno@clisp.org>
15663
15664         New module 'unictype/combining-class-all'.
15665         * modules/unictype/combining-class-all: New file.
15666
15667         Tests for module 'unictype/combining-class-byname'.
15668         * modules/unictype/combining-class-byname-tests: New file.
15669         * tests/unictype/test-combiningclass_byname.c: New file.
15670
15671         New module 'unictype/combining-class-byname'.
15672         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
15673         * lib/unictype/combiningclass_byname.c: New file.
15674         * lib/unictype/combiningclass_byname.gperf: New file.
15675         * modules/unictype/combining-class-byname: New file.
15676
15677         Tests for module 'unictype/combining-class-longname'.
15678         * modules/unictype/combining-class-longname-tests: New file.
15679         * tests/unictype/test-combiningclass_longname.c: New file.
15680
15681         New module 'unictype/combining-class-longname'.
15682         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
15683         * lib/unictype/combiningclass_longname.c: New file.
15684         * modules/unictype/combining-class-longname: New file.
15685
15686         Tests for module 'unictype/combining-class-name'.
15687         * modules/unictype/combining-class-name-tests: New file.
15688         * tests/unictype/test-combiningclass_name.c: New file.
15689
15690         New module 'unictype/combining-class-name'.
15691         * lib/unictype.in.h (uc_combining_class_name): New declaration.
15692         * lib/unictype/combiningclass_name.c: New file.
15693         * modules/unictype/combining-class-name: New file.
15694
15695 2011-03-25  Bruno Haible  <bruno@clisp.org>
15696
15697         unictype/combining-class: Rename source files.
15698         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
15699         of unictype/combining.h.
15700         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
15701         Update.
15702         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
15703         * modules/unictype/combining-class (Description): Fix.
15704         (Files, Makefile.am): Update.
15705         * tests/unictype/test-combiningclass.c: Renamed from
15706         tests/unictype/test-combining.c.
15707         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
15708
15709 2011-03-25  Bruno Haible  <bruno@clisp.org>
15710
15711         unictype: Update list of canonical combining classes.
15712         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
15713
15714 2011-03-25  Bruno Haible  <bruno@clisp.org>
15715
15716         unictype/category-byname: Recognize long names as well.
15717         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
15718         a long name.
15719         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
15720         unictype/categ_byname.h.
15721         (UC_CATEGORY_INDEX_*): New enumeration values.
15722         (uc_general_category_byname): Use uc_general_category_lookup and
15723         convert from index to value.
15724         * lib/unictype/categ_byname.gperf: New file.
15725         * modules/unictype/category-byname (Files): Add
15726         lib/unictype/categ_byname.gperf.
15727         (Depends-on): Add gperf.
15728         (Makefile.am): Add rule for generating unictype/categ_byname.h.
15729         * tests/unictype/test-categ_byname.c (main): Test the recognition of
15730         long names.
15731
15732         Tests for module 'unictype/category-longname'.
15733         * modules/unictype/category-longname-tests: New file.
15734         * tests/unictype/test-categ_longname.c: New file.
15735
15736         New module 'unictype/category-longname'.
15737         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
15738         * lib/unictype/categ_longname.c: New file.
15739         * modules/unictype/category-longname: New file.
15740         * modules/unictype/category-all (Depends-on): Add it.
15741
15742 2011-03-25  Bruno Haible  <bruno@clisp.org>
15743
15744         Tests for module 'unictype/category-LC'.
15745         * modules/unictype/category-LC-tests: New file.
15746         * tests/unictype/test-categ_LC.c: New file, automatically generated.
15747
15748         New module 'unictype/category-LC'.
15749         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
15750         (UC_CATEGORY_LC): New declaration.
15751         (UC_CASED_LETTER): New macro.
15752         * lib/gen-uni-tables.c (is_category_LC): New function.
15753         (output_categories): Also handle category LC.
15754         (UC_CATEGORY_MASK_LC): New enumeration value.
15755         (general_category_byname): Also handle category LC.
15756         * lib/unictype/categ_LC.c: New file.
15757         * lib/unictype/categ_LC.h: New file, automatically generated.
15758         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
15759         category LC.
15760         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
15761         * modules/unictype/category-LC: New file.
15762         * modules/unictype/category-byname (Depends-on): Add
15763         unictype/category-LC.
15764         * modules/unictype/category-all (Depends-on): Likewise.
15765
15766 2011-03-25  Eric Blake  <eblake@redhat.com>
15767
15768         xmalloc: revert yesterday's regression
15769         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
15770         realloc's underlying behavior (allowing allocation of zero-size
15771         objects, especially if malloc-gnu is also in use).
15772
15773 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
15774
15775         maint.mk: add missing version to VC-tag
15776         * top/maint.mk: git tag was missing actual tag name; add it.
15777
15778         valgrind: do leak checking, and exit with code 1 on error (not 0)
15779         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
15780         to VALGRIND.
15781
15782 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
15783
15784         posix-modules: say what it does.
15785         * posix-modules: Add a line to the --help output saying what it does.
15786
15787 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
15788
15789         xmalloc: Do not leak if underlying realloc is C99 compatible.
15790         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
15791         This avoids a leak on C99-based systems.  See
15792         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
15793
15794 2011-03-24  Eric Blake  <eblake@redhat.com>
15795
15796         realloc: document portability problem
15797         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
15798         passing 0 size to realloc.
15799
15800 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
15801
15802         doc: update users.txt
15803         * users.txt: Add cvsps, tmpwatch
15804
15805 2011-03-23  Matt Rice  <ratmice@gmail.com>
15806
15807         doc: update users.txt
15808         * users.txt: Add gdb.
15809
15810 2011-03-23  Jim Meyering  <meyering@redhat.com>
15811
15812         doc: update users.txt
15813         Looking through matches up to the following URL (there are still
15814         several more pages), I found several projects that use gnulib:
15815         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
15816         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
15817         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
15818
15819 2011-03-22  Bruno Haible  <bruno@clisp.org>
15820
15821         unictype/bidi*: Rename functions.
15822         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
15823         uc_bidi_class, uc_is_bidi_class): New declarations.
15824         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
15825         uc_bidi_category_byname.
15826         (uc_bidi_category_byname): New function.
15827         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
15828         u_bidi_category_name.
15829         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
15830         (uc_bidi_category_name): New function.
15831         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
15832         uc_bidi_category.
15833         (uc_bidi_category): New function.
15834         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
15835         uc_is_bidi_category. Invoke uc_bidi_class.
15836         (uc_is_bidi_category): New function.
15837         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
15838         instead of uc_bidi_category_byname.
15839         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
15840         instead of uc_bidi_category_name.
15841         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
15842         uc_bidi_category.
15843         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
15844         instead of uc_is_bidi_category.
15845
15846 2011-03-21  Bruno Haible  <bruno@clisp.org>
15847
15848         New module 'unictype/joininggroup-all'.
15849         * modules/unictype/joininggroup-all: New file.
15850
15851         Tests for module 'unictype/joininggroup-of'.
15852         * modules/unictype/joininggroup-of-tests: New file.
15853         * tests/unictype/test-joininggroup_of.c: New file.
15854         * tests/unictype/test-joininggroup_of.h: New file, automatically
15855         generated by gen-uni-tables.
15856
15857         New module 'unictype/joininggroup-of'.
15858         * modules/unictype/joininggroup-of: New file.
15859         * lib/unictype/joininggroup_of.c: New file.
15860         * lib/unictype/joininggroup_of.h: New file, automatically generated by
15861         gen-uni-tables.
15862
15863         Tests for module 'unictype/joininggroup-byname'.
15864         * modules/unictype/joininggroup-byname-tests: New file.
15865         * tests/unictype/test-joininggroup_byname.c: New file.
15866
15867         New module 'unictype/joininggroup-byname'.
15868         * modules/unictype/joininggroup-byname: New file.
15869         * lib/unictype/joininggroup_byname.c: New file.
15870         * lib/unictype/joininggroup_byname.gperf: New file.
15871
15872         Tests for module 'unictype/joininggroup-name'.
15873         * modules/unictype/joininggroup-name-tests: New file.
15874         * tests/unictype/test-joininggroup_name.c: New file.
15875
15876         New module 'unictype/joininggroup-name'.
15877         * modules/unictype/joininggroup-name: New file.
15878         * lib/unictype/joininggroup_name.c: New file.
15879         * lib/unictype/joininggroup_name.h: New file.
15880
15881         New module 'unictype/joiningtype-all'.
15882         * modules/unictype/joiningtype-all: New file.
15883
15884         Tests for module 'unictype/joiningtype-of'.
15885         * modules/unictype/joiningtype-of-tests: New file.
15886         * tests/unictype/test-joiningtype_of.c: New file.
15887         * tests/unictype/test-joiningtype_of.h: New file, automatically
15888         generated by gen-uni-tables.
15889
15890         New module 'unictype/joiningtype-of'.
15891         * modules/unictype/joiningtype-of: New file.
15892         * lib/unictype/joiningtype_of.c: New file.
15893         * lib/unictype/joiningtype_of.h: New file, automatically generated by
15894         gen-uni-tables.
15895
15896         Tests for module 'unictype/joiningtype-byname'.
15897         * modules/unictype/joiningtype-byname-tests: New file.
15898         * tests/unictype/test-joiningtype_byname.c: New file.
15899
15900         New module 'unictype/joiningtype-byname'.
15901         * modules/unictype/joiningtype-byname: New file.
15902         * lib/unictype/joiningtype_byname.c: New file.
15903
15904         Tests for module 'unictype/joiningtype-name'.
15905         * modules/unictype/joiningtype-name-tests: New file.
15906         * tests/unictype/test-joiningtype_name.c: New file.
15907
15908         New module 'unictype/joiningtype-name'.
15909         * modules/unictype/joiningtype-name: New file.
15910         * lib/unictype/joiningtype_name.c: New file.
15911
15912         unictype: Add support for Arabic shaping properties.
15913         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
15914         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
15915         declarations.
15916         (UC_JOINING_GROUP_*): New enumeration values.
15917         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
15918         declarations.
15919         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
15920         (unicode_joining_type): New variable.
15921         (UC_JOINING_GROUP_*): New enumeration values.
15922         (unicode_joining_group): New variable.
15923         (fill_arabicshaping, joining_type_as_c_identifier,
15924         output_joining_type_test, output_joining_type,
15925         joining_group_as_c_identifier, output_joining_group_test,
15926         output_joining_group): New functions.
15927         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
15928         fill_arabicshaping and output_joining_type_test, output_joining_type,
15929         output_joining_group_test, output_joining_group.
15930         Reported by Simon Josefsson.
15931
15932 2011-03-21  Jim Meyering  <meyering@redhat.com>
15933
15934         strftime: fix a bug in yesterday's change
15935         * lib/strftime.c (add): Accommodate width's initial value of -1.
15936         Otherwise, nstrftime would copy uninitialized data into
15937         the result buffer.
15938
15939 2011-03-21  Jim Meyering  <meyering@redhat.com>
15940
15941         tests: add strftime-tests module
15942         * tests/test-strftime.c: New file.
15943         * modules/strftime-tests: New module.
15944
15945 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15946
15947         strftime: don't assume a byte count fits in 'int'
15948         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
15949         found this problem by static analysis, using gcc -Wstrict-overflow
15950         (GCC 4.5.2, x86-64).  This reported an optimization that depended
15951         on an integer overflow having undefined behavior, but it turns out
15952         that the argument is a size, which might not fit in 'int' anyway,
15953
15954 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15955
15956         stdio: don't require ignore_value around fwrite
15957
15958         This patch works around libc bug 11959
15959         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
15960         Without this patch, applications must often write
15961         ignore_value (fwrite (...)) even though the ignore_value is
15962         not helpful here.  It's common to write many objects, using
15963         fwrite/printf/etc., and then use ferror to detect output error.
15964
15965         I considered making this patch optional, but decided against it,
15966         because libc is obviously being inconsistent here: there is no
15967         reason libc should insist that user code must inspect fwrite
15968         return's value without also insisting that it inspect printf's,
15969         putchar's, etc.  If user code wants to have a strict style where
15970         all these functions' values are checked (so that ferror need not
15971         be checked), we could add support for that style in a new gnulib
15972         module, but in the meantime it's better to be consistent and to
15973         support common usage.
15974
15975         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
15976         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
15977         that we are compiling in checking mode, and if not C++, and
15978         if not already wrapping fwrite for some other reason.
15979         (fwrite): #define to rpl_fwrite if the latter is defined.
15980
15981 2011-03-20  Bruno Haible  <bruno@clisp.org>
15982
15983         verror: Fix compilation error introduced on 2011-02-13.
15984         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
15985         instead of __attribute__.
15986         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15987
15988 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15989             Bruno Haible  <bruno@clisp.org>
15990
15991         socklen: do not depend on sys_socket
15992         While trying to modify Emacs to use gnulib's socklen module,
15993         I discovered a circular dependency: socklen depends on sys_socket
15994         and vice versa.  Emacs can use socklen, but it does not need
15995         sys_socket because it has its own substitute for sys/socket.h.
15996         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
15997         gl_TYPE_SOCKLEN_T.
15998         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
15999         gl_PREREQ_SYS_H_SOCKET.
16000         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
16001         gl_PREREQ_SYS_H_SOCKET.
16002         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
16003         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
16004         * modules/socklen (Depends-on): Do not depend on sys_socket.
16005         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
16006
16007 2011-03-20  Jim Meyering  <meyering@redhat.com>
16008
16009         maint.mk: sort file names *after* new transformation
16010         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
16011         prefix would have led to an unwarranted failure in GNU parted.
16012         Sort after that transformation.
16013
16014 2011-03-19  Jim Meyering  <meyering@redhat.com>
16015
16016         maint.mk: fix po-file syntax-check rule
16017         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
16018         Patch by Bruno Haible.
16019
16020 2011-03-19  Bruno Haible  <bruno@clisp.org>
16021
16022         socklen: Update comment.
16023         * m4/socklen.m4: Update comment about platforms.
16024
16025 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
16026             Bruno Haible  <bruno@clisp.org>
16027
16028         inet_ntop, inet_pton: Simplify.
16029         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
16030         documented to provide socklen_t and we already depend on sys_socket.
16031         * modules/inet_pton (Depends-on): Likewise.
16032         * lib/arpa_inet.in.h: Adjust comment.
16033
16034 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
16035             Bruno Haible  <bruno@clisp.org>
16036
16037         netdb: Simplify.
16038         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
16039         documented to provide socklen_t and we already depend on sys_socket.
16040         * lib/netdb.in.h: Adjust comment.
16041
16042 2011-03-19  Bruno Haible  <bruno@clisp.org>
16043
16044         sys_socket, netdb: Document problem with socklen_t.
16045         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
16046         platforms.
16047         * doc/posix-headers/netdb.texi: Likewise.
16048
16049 2011-03-18  Eric Blake  <eblake@redhat.com>
16050
16051         maint.mk: let po check work in VPATH build
16052         * top/maint.mk (po_file): Allow cfg.mk override.
16053         (sc_po_check): Allow VPATH use.
16054         Reported by Jiri Denemark.
16055
16056 2011-03-16  Jim Meyering  <meyering@redhat.com>
16057
16058         maint.mk: allow fine-grained syntax-check exclusion via Make variables
16059         Before, you would have had to create one .x-sc_ file per rule in order
16060         to exempt offending files.  Now, you may instead use a Make variable --
16061         usually defined in cfg.mk -- whose name identifies the affected rule.
16062         * top/maint.mk (_sc_excl): Define.
16063         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
16064         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
16065
16066 2011-03-13  Bruno Haible  <bruno@clisp.org>
16067
16068         ignore-value tests: Avoid warnings.
16069         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
16070         empty for gcc < 3.4.
16071
16072 2011-03-13  Bruno Haible  <bruno@clisp.org>
16073
16074         passfd: Fix link error on Solaris.
16075         * modules/passfd (Description): Correct.
16076         (Depends-on): Add socketlib.
16077         (Link): New section.
16078         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
16079
16080 2011-03-13  Bruno Haible  <bruno@clisp.org>
16081
16082         passfd: Fix link error on AIX 5.2.
16083         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
16084
16085 2011-03-13  Bruno Haible  <bruno@clisp.org>
16086
16087         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
16088         * lib/sys_socket.in.h: Include <stddef.h>.
16089         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
16090         CMSG_FIRSTHDR. Remove unused variable.
16091
16092 2011-03-13  Bruno Haible  <bruno@clisp.org>
16093
16094         passfd: Fix compilation error on OpenBSD.
16095         * lib/passfd.c: Include <sys/uio.h>.
16096
16097 2011-03-13  Bruno Haible  <bruno@clisp.org>
16098
16099         passfd test: Fix warnings.
16100         * tests/test-passfd.c: Include <sys/wait.h>.
16101         (main): Fix typo.
16102
16103 2011-03-13  Bruno Haible  <bruno@clisp.org>
16104
16105         passfd module, part 4, tweaks.
16106         * tests/test-passfd.c: Reorder includes.
16107         (main): Fix perror and printf calls.
16108
16109 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16110
16111         passfd module, part 4.
16112         * modules/passfd-tests: New file.
16113         * tests/test-passfd.c: New file.
16114
16115 2011-03-13  Jim Meyering  <meyering@redhat.com>
16116
16117         Makefile: rely on GNU make; derive syntax-check rule names
16118         Rather than requiring that each sc_ rule be listed as a dependent
16119         of "check", use features of GNU make to derive the list.
16120         * Makefile (syntax-check-rules): Define.
16121         (check): Depend on the new variable, not the hard-coded list.
16122
16123 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
16124             Bruno Haible  <bruno@clisp.org>
16125
16126         passfd module, part 3.
16127         * lib/passfd.h (recvfd): Add a flags argument.
16128         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
16129         (recvfd): Add a flags argument.
16130         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
16131         exists.
16132         * modules/passfd (Depends-on): Add cloexec.
16133         Suggested by Eric Blake.
16134
16135 2011-03-13  Bruno Haible  <bruno@clisp.org>
16136
16137         passfd module, part 2, tweaks.
16138         * modules/passfd (Files): Reorder.
16139         (Depends-on): Remove errno.
16140         (Include): Remove <sys/socket.h>, <sys/un.h>.
16141         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
16142         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
16143         specification header. Include <sys/socket.h> always. Don't include
16144         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
16145         (sendfd): Clarify that it sets errno when it fails.
16146         (recvfd): Fix specification.
16147
16148 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16149
16150         passfd module, part 2.
16151         * modules/passfd: New file.
16152         * lib/passfd.h: New file.
16153         * lib/passfd.c: New file.
16154
16155 2011-03-12  Bruno Haible  <bruno@clisp.org>
16156
16157         wcswidth, mbswidth: Avoid integer overflow.
16158         * lib/wcswidth.c: Include <limits.h>.
16159         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
16160         * lib/mbswidth.c: Include <limits.h>.
16161         (mbsnwidth): Avoid 'int' overflow.
16162         Reported by Jim Meyering.
16163
16164 2011-03-12  Bruno Haible  <bruno@clisp.org>
16165
16166         futimens, utimensat: Avoid endless recursion on Solaris 10.
16167         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
16168         Solaris.
16169         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
16170         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
16171
16172 2011-03-11  Jim Meyering  <meyering@redhat.com>
16173
16174         maint.mk: relax a regexp to accommodate other formatting styles
16175         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
16176         between "ngettext" and the following "(".
16177
16178 2011-03-11  Pádraig Brady <P@draigBrady.com>
16179
16180         maint.mk: suppress a false positive warning
16181         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
16182         diagnostics are marked with ngettext.
16183
16184 2011-03-10  Eric Blake  <eblake@redhat.com>
16185
16186         wchar: add explicit dependencies, for Tru64
16187         * modules/mbmemcasecoll (Depends-on): Add wchar.
16188         * modules/mbtowc (Depends-on): Likewise.
16189         * modules/vasnprintf (Depends-on): Likewise.
16190         * modules/unistdio/u-printf-args (Depends-on): Likewise.
16191         * modules/wctomb (Depends-on): Likewise.
16192         Reported by Peter O'Gorman.
16193
16194 2011-03-08  Bruno Haible  <bruno@clisp.org>
16195
16196         passfd module, part 1, tweaks.
16197         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
16198         Improve indentation. Improve AC_MSG_CHECKING messages.
16199         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
16200         gl_SOCKET_FAMILIES.
16201
16202 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16203
16204         passfd module, part 1.
16205         * m4/afunix.m4: New file.
16206         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
16207         sockets.
16208
16209 2011-03-08  Bruno Haible  <bruno@clisp.org>
16210
16211         regex-quote: New API.
16212         * lib/regex-quote.h: Include <stdbool.h>.
16213         (struct regex_quote_spec): New type.
16214         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
16215         New declarations.
16216         (regex_quote_length, regex_quote_copy, regex_quote): Take a
16217         'const struct regex_quote_spec *' argument.
16218         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
16219         (pcre_special): New constant.
16220         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
16221         New functions.
16222         (regex_quote_length, regex_quote_copy, regex_quote): Take a
16223         'const struct regex_quote_spec *' argument.
16224         * modules/regex-quote (Depends-on): Add stdbool.
16225         * tests/test-regex-quote.c (check): Update for new API. Add test for
16226         anchored results.
16227         * NEWS: Mention the API change.
16228         Reported by Reuben Thomas and Eric Blake.
16229
16230 2011-03-06  Bruno Haible  <bruno@clisp.org>
16231
16232         regex-quote: Fix creation of POSIX extended regular expressions.
16233         * lib/regex-quote.c (ere_special): Add grouping and alternation
16234         operators.
16235
16236 2011-03-05  Bruno Haible  <bruno@clisp.org>
16237
16238         doc: Improve doc regarding autopoint vs. gnulib.
16239         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
16240         disable autopoint while running autoreconf.
16241         Suggested by Ralf Wildenhues.
16242
16243 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16244
16245         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
16246         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
16247
16248 2011-03-03  Bruce Korb  <bkorb@gnu.org>
16249
16250         parse-duration: remove xalloc.h dependency
16251         * lib/parse-duration.c (parse_period): handle NULL return from
16252         strdup instead of calling xstrdup().
16253         * modules/parse-duration: remove "xalloc" dependency
16254
16255 2011-03-03  Matthew Booth  <mbooth@redhat.com>
16256
16257         bootstrap: honor m4_base when running aclocal
16258         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
16259
16260 2011-03-02  Jim Meyering  <meyering@redhat.com>
16261
16262         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
16263         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
16264         on request from Matt Booth.
16265
16266 2011-03-01  Eric Blake  <eblake@redhat.com>
16267
16268         test-link: work on Hurd
16269         * tests/test-link.h (test_link): Hurd rejects linking directories
16270         with EISDIR instead of the POSIX-mandated EPERM.
16271
16272 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
16273
16274         stdio: simplify by moving files to printf-posix, sigpipe
16275         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
16276         since this symbol is needed only if printf is replaced.
16277         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
16278         Require gl_ASM_SYMBOL_PREFIX.
16279         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
16280         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
16281         (Depends-on): Add 'raise'.
16282         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
16283         * modules/stdio (Files): Remove lib/stdio-write.c,
16284         m4/asm-underscore.m4.
16285         (Depends-on): Remove 'raise'.
16286
16287         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
16288         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
16289         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
16290         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
16291
16292 2011-02-28  Bruno Haible  <bruno@clisp.org>
16293
16294         localcharset: Assume ANSI C behaviour of free().
16295         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
16296         calling free().
16297         Suggested by Simon Josefsson <simon@josefsson.org>.
16298
16299 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
16300             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
16301             Bruno Haible  <bruno@clisp.org>  (tiny change)
16302
16303         On Cygwin, use /proc file system instead of win32 API.
16304         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
16305         Win32 file names.
16306         (DllMain): Simplify by removing Cygwin specific code.
16307         (find_shared_library_fullname): Use Linux specific implementation also
16308         for Cygwin.
16309         (get_shared_library_fullname): Update accordingly.
16310         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
16311         Win32 file names.
16312         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
16313         Cygwin specific code.
16314
16315 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
16316             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
16317
16318         Fix OpenMP flag detection for various Fortran compilers.
16319         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
16320         OpenMP-conditional compilation construct, to force compile
16321         failure with missing OpenMP flag.
16322         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
16323
16324 2011-02-25  Eric Blake  <eblake@redhat.com>
16325
16326         strstr: expand test coverage
16327         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
16328         compilation.
16329         * tests/test-memmem.c (main): Duplicate tests.
16330         * tests/test-strcasestr.c (main): Likewise.
16331         * tests/test-c-strcasestr.c (main): Likewise.
16332
16333 2011-02-25  Jim Meyering  <meyering@redhat.com>
16334
16335         maint.mk: detect missing-NL-at-EOF, too
16336         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
16337         it also detects when a file lacks a newline at EOF.
16338         (require_exactly_one_NL_at_EOF_): Renamed from
16339         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
16340         since people may well have .x-sc_... file names tied to the
16341         existing name.  Suggested by Eric Blake.
16342
16343 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
16344
16345         dirname: move m4/dos.m4 functionality into lib/dosname.h
16346
16347         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
16348         extracts symbols from it, puts them into config.h; but it's much
16349         easier to use the symbols directly.  filename.h already does this,
16350         but it disagrees with dos.m4 in some respects.  This patch
16351         introduces a different include file dosname.h that packages up
16352         dos.m4, and then later we can work on merging filename.h and
16353         dosname.h.  Applications that need only the easy-to-configure
16354         symbols should consider including dosname.h rather than dirname.h.
16355         * NEWS: Mention incompatible changes.
16356         * m4/dos.m4: Remove.
16357         * lib/dosname.h, modules/dosname: New files.
16358         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
16359         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
16360         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
16361         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
16362         Include dosname.h, not dirname.h.
16363         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
16364         Include dosname.h, for definitions of symbols like ISSLASH
16365         that used to be in config.h.
16366         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
16367         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
16368         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
16369         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
16370         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
16371         * modules/rmdir (Files): Likewise.
16372         * modules/stat (Files): Likewise.
16373         * modules/unlink (Files): Likewise.
16374         * modules/dirname-lgpl (Depends-on): Add dosname.
16375         * modules/lstat (Depends-on): Likewise.
16376         * modules/openat (Depends-on): Likewise.
16377         * modules/rmdir (Depends-on): Likewise.
16378         * modules/savewd (Depends-on): Likewise.
16379         * modules/stat (Depends-on): Likewise.
16380         * modules/unlink (Depends-on): Likewise.
16381         * modules/openat (Depends-on): Remove dirname-lgpl.
16382         * modules/savewd (Depends-on): Likewise.
16383         * tests/test-dirname.c: Do not use removed symbols like
16384         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
16385         the remaining symbols, e.g., ISSLASH ('\\').
16386
16387 2011-02-25  Eric Blake  <eblake@redhat.com>
16388
16389         strstr: revert patches that introduced bug and pessimization
16390         * lib/str-two-way.h: Add another reference.
16391         (two_way_short_needle, two_way_long_needle): Revert changes from
16392         2011-02-24; they pessimize search speed.
16393         (critical_factorization): Partially revert changes from
16394         2010-06-22; they violate the requirement that the left half of the
16395         needle be smaller than the period of the needle.
16396
16397 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
16398
16399         filenamecat: remove unnecessary dependency on dirname-lgpl
16400         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
16401         is no direct dependency, just an indirect one via filenamecat-lgpl.
16402
16403         remove: remove unnecessary use of m4/dos.m4
16404         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
16405         * modules/remove (FILES): Remove m4/dos.m4.
16406
16407         * lib/openat-proc.c: Don't include dirname.h; not needed.
16408
16409         backupfile: remove unnecessary use of m4/dos.m4
16410         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
16411         of its symbols are used by the backupfile code.  backupfile.c does
16412         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
16413         for the rare case of programs that want all their backup file
16414         names to live within 8+3 limits, and dos.m4 doesn't address that.
16415         * modules/backupfile (Files): Remove m4/dos.m4.
16416
16417 2011-02-24  Jim Meyering  <meyering@redhat.com>
16418
16419         strstr: fix a bug whereby strstr would mistakenly return NULL
16420         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
16421         in period calculation.
16422         (two_way_long_needle): Likewise.
16423         The original problem was reported by Mike Stump in
16424         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
16425         Ralf Wildenhues provided the short needle and haystack.
16426         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
16427         Add a more involved test to trigger the bug in two_way_long_needle.
16428
16429 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
16430
16431         gnulib-tool: remove use of bold display in help screen
16432         * gnulib-tool (func_usage): Do not use bold display anymore in the
16433         help screen.  That was just meant to be a temporary emphasis for a
16434         backward-incompatible change.
16435
16436 2011-02-23  Bruno Haible  <bruno@clisp.org>
16437
16438         Fix misindentation of preprocessor directives.
16439         * lib/argp-namefrob.h: Reindent preprocessor directives.
16440         * lib/getopt_int.h (struct _getopt_data): Likewise.
16441         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
16442         * lib/vasnprintf.c (decode_long_double): Likewise.
16443         * tests/test-argmatch.c: Insert blank lines, for clarity.
16444         * tests/test-exclude.c: Likewise.
16445
16446 2011-02-22  Bruno Haible  <bruno@clisp.org>
16447
16448         ioctl: Fix for MacOS X in 64-bit mode.
16449         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
16450         value.
16451         Suggested by Eric Blake.
16452         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
16453
16454 2011-02-22  Jim Meyering  <meyering@redhat.com>
16455
16456         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
16457         * Makefile (sc_cpp_indent_check): Don't limit the check to files
16458         in lib/.
16459
16460 2011-02-22  Eric Blake  <eblake@redhat.com>
16461
16462         maint: avoid any CDPATH issue
16463         * Makefile (sc_cpp_indent_check): Anchor cd argument.
16464
16465         maint: adjust cpp indentation for my modules, as well
16466         * Makefile (sc_cpp_indent_check): Add my name.
16467         * lib/fbufmode.c: Filter through cppi.
16468         * lib/fpurge.c: Likewise.
16469         * lib/freadable.c: Likewise.
16470         * lib/freading.c: Likewise.
16471         * lib/fwritable.c: Likewise.
16472         * lib/fwriting.c: Likewise.
16473         * lib/sigaction.c: Likewise.
16474
16475 2011-02-22  Jim Meyering  <meyering@redhat.com>
16476
16477         maint: adjust cpp indentation to reflect nesting depth
16478         I.e., in a block of code that begins with an unnested "#if",
16479         put one space between the "#" in column 1 and following token.
16480         For example,
16481         -#include <sys/vfs.h>
16482         +# include <sys/vfs.h>
16483         Do this only in .c files that are part of a module I maintain.
16484         * lib/linkat.c: Filter through cppi.
16485         * lib/nanosleep.c: Likewise.
16486         * lib/openat.c: Likewise.
16487         * lib/openat-die.c: Likewise.
16488         * lib/dup3.c: Likewise.
16489         * lib/fchownat.c: Likewise.
16490         * lib/flock.c: Likewise.
16491         * lib/fsync.c: Likewise.
16492         * lib/fts.c: Likewise.
16493         * lib/getpass.c: Likewise.
16494         * lib/gettimeofday.c: Likewise.
16495         * lib/userspec.c: Likewise.
16496         * Makefile (sc_cpp_indent_check): New rule, to check this.
16497
16498 2011-02-22  Bruno Haible  <bruno@clisp.org>
16499
16500         New module 'wctomb'.
16501         * lib/stdlib.in.h (wctomb): New declaration.
16502         * lib/wctomb.c: New file.
16503         * lib/wctomb-impl.h: New file.
16504         * m4/wctomb.m4: New file.
16505         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
16506         REPLACE_WCTOMB.
16507         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
16508         REPLACE_WCTOMB.
16509         * modules/wctomb: New file.
16510         * tests/test-stdlib-c++.cc: Test signature of wctomb.
16511         * doc/posix-functions/wctomb.texi: Mention the new module.
16512         * modules/wctob (Depends-on): Add wctomb.
16513
16514 2011-02-22  Bruno Haible  <bruno@clisp.org>
16515
16516         New module 'mbtowc'.
16517         * lib/stdlib.in.h (mbtowc): New declaration.
16518         * lib/mbtowc.c: New file.
16519         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
16520         * m4/mbtowc.m4: New file.
16521         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
16522         REPLACE_MBTOWC.
16523         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
16524         REPLACE_MBTOWC.
16525         * modules/mbtowc: New file.
16526         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
16527         * doc/posix-functions/mbtowc.texi: Mention the new module.
16528         * modules/btowc (Depends-on): Add mbtowc.
16529
16530 2011-02-22  Bruno Haible  <bruno@clisp.org>
16531
16532         wcrtomb: Add more tests for native Windows platforms.
16533         * tests/test-wcrtomb-w32-1.sh: New file.
16534         * tests/test-wcrtomb-w32-2.sh: New file.
16535         * tests/test-wcrtomb-w32-3.sh: New file.
16536         * tests/test-wcrtomb-w32-4.sh: New file.
16537         * tests/test-wcrtomb-w32-5.sh: New file.
16538         * tests/test-wcrtomb-w32.c: New file.
16539         * modules/wcrtomb-tests (Files): Add them.
16540         (Makefile.am): Arrange to run these tests.
16541         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
16542         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
16543
16544 2011-02-20  Bruno Haible  <bruno@clisp.org>
16545
16546         wcrtomb: Enhance test.
16547         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
16548
16549 2011-02-20  Bruno Haible  <bruno@clisp.org>
16550
16551         mbrtowc: Tiny optimization.
16552         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
16553
16554 2011-02-20  Jim Meyering  <meyering@redhat.com>
16555
16556         test-exclude.c: remove unmatched #endif
16557         * tests/test-exclude.c: Remove stray #endif, left over from
16558         the change of a week ago.
16559
16560 2011-02-19  Jim Meyering  <meyering@redhat.com>
16561
16562         git-version-gen: skip "-dirty" check when appropriate
16563         * build-aux/git-version-gen: Don't run any git commands when the
16564         version string comes from .tarball-version.  Prior to this, we
16565         would run git update-index --refresh even from a just-unpacked
16566         tarball directory, and that could affect a .git/ directory in a
16567         parent of the build directory.  Reported by Mike Frysinger.
16568
16569 2011-02-19  Bruno Haible  <bruno@clisp.org>
16570
16571         unictype/property-byname: Reduce the size of the 'data' segment.
16572         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
16573
16574 2011-02-19  Bruno Haible  <bruno@clisp.org>
16575
16576         unictype/scripts: Reduce the size of the 'data' segment.
16577         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
16578         '%pic'.
16579         * lib/unictype/scripts_byname.gperf: Regenerated.
16580
16581 2011-02-19  Bruno Haible  <bruno@clisp.org>
16582
16583         stdint: Update documentation.
16584         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
16585
16586 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
16587
16588         stdint: omit redundant check for wchar.h
16589         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
16590         always tests whether wchar.h exists, so remove the now-redundant test.
16591
16592 2011-02-18  Bruno Haible  <bruno@clisp.org>
16593
16594         stdint: Cut dependency to module 'wchar'.
16595         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
16596         include the necessary prerequisites.
16597         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
16598         * modules/stdint (Depends-on): Remove wchar.
16599         (Makefile.am): Substitute HAVE_WCHAR_H.
16600         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
16601
16602 2011-02-18  Eric Blake  <eblake@redhat.com>
16603
16604         longlong: skip, rather than fail, on cross-compilation
16605         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
16606         when cross-compiling; regression from 2011-02-16.
16607
16608 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
16609
16610         * NEWS: Mention 2011-02-08 change to stdlib.
16611
16612 2011-02-17  Bruno Haible  <bruno@clisp.org>
16613
16614         getloadavg: Add comments about platforms.
16615         * m4/getloadavg.m4: Add comment.
16616         * lib/getloadavg.c: Likewise.
16617
16618 2011-02-17  Bruno Haible  <bruno@clisp.org>
16619
16620         getloadavg: Fix link error on Solaris 2.6.
16621         * modules/getloadavg (Link): New section.
16622         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
16623         linking test-getloadavg.
16624         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
16625         getloadavg.
16626
16627 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
16628
16629         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
16630         It was 'int', but this doesn't match the IRIX 6.5 manual.
16631         Suggested by Bruno Haible in
16632         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
16633
16634 2011-02-17  Bruno Haible  <bruno@clisp.org>
16635
16636         havelib: Fix comments.
16637         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
16638         change.
16639
16640 2011-02-17  Bruno Haible  <bruno@clisp.org>
16641
16642         havelib: Update config.rpath.
16643         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
16644
16645 2011-02-17  Bruno Haible  <bruno@clisp.org>
16646
16647         getloadavg test: Add some plausibility checks.
16648         * tests/test-getloadavg.c (check_avg): Print a warning when the value
16649         is improbable.
16650
16651 2011-02-16  Eric Blake  <eblake@redhat.com>
16652
16653         maintainer-makefile: make syntax-check a no-op from tarballs
16654         * top/maint.mk (no-vc-detected): New rule.
16655         (local-checks-available): Use it to avoid hanging if someone tries
16656         'make syntax-check' from a tarball.  Also append to any non-syntax
16657         checks already defined in cfg.mk.
16658
16659 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
16660
16661         longlong: tune, particularly for common case of c99
16662
16663         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
16664         or running anything if c99, or if unsigned long long int does not
16665         work.  In either case, we know the answer without further tests.
16666         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
16667         it at most once, and use its results for both long long int and
16668         unsigned long long int.  This is more likely to be efficient in
16669         the common case where the program wants to check for both long
16670         long int and unsigned long long int.
16671         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
16672         since the answer is already known.
16673
16674 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
16675
16676         getloadavg: set errno
16677         * lib/getloadavg.c: Set errno when returning -1.  If no other
16678         error number looks appropriate, set it to ENOSYS if the getloadavg
16679         looks like it can't possibly ever work, ENOTSUP otherwise.
16680         Suggested by Bruno Haible in
16681         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
16682
16683         getloadavg: trim unused parts and speed up 'configure'
16684         * NEWS: Document this.
16685         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
16686         always compiled if getloadavg is absent.
16687         Move test code to ...
16688         * tests/test-getloadavg.c: New file, containing previous
16689         contents of test from lib/getloadavg.c.  It also contains
16690         suggestions by Bruno Haible in
16691         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
16692         * modules/getloadavg-tests: New file.
16693         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
16694         Do tests in the same order as they're needed for getloadavg.c.
16695         Omit setgid-related tests that generate symbols KMEM_GROUP,
16696         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
16697         Do only the tests that are needed to see whether the system has
16698         getloadavg, moving the other tests into ...
16699         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
16700         NLIST_NAME_UNION; nobody should be using it.  Do not define
16701         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
16702         relevant, as the user of this module shouldn't care how getloadavg
16703         is implemented.
16704
16705         getloadavg: omit unused var
16706         * lib/getloadavg.c (getloadavg): Omit unused local variable.
16707
16708 2011-02-15  Jim Meyering  <meyering@redhat.com>
16709
16710         doc: update users.txt
16711         * users.txt: Update iwhd's URL.
16712
16713 2011-02-13  Bruno Haible  <bruno@clisp.org>
16714
16715         Consistent macro naming for macros that use GCC __attribute__.
16716         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
16717         _ATTRIBUTE_NONNULL_.
16718         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
16719         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
16720         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
16721         ATTRIBUTE_DEPRECATED.
16722         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
16723         ATTRIBUTE_NORETURN.
16724         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16725         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16726         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16727         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16728         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
16729         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
16730         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
16731         ATTRIBUTE_SENTINEL.
16732         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
16733         ATTRIBUTE_RETURN_CHECK.
16734         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
16735         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
16736         ATTRIBUTE_NORETURN.
16737         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
16738         Reported by Paul Eggert.
16739
16740 2011-02-13  Bruno Haible  <bruno@clisp.org>
16741
16742         Don't interfere with a program's definition of __attribute__.
16743         * lib/argp.h (__attribute__): Remove definition.
16744         (_GL_ATTRIBUTE_FORMAT): New macro.
16745         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
16746         * lib/argp-fmtstream.h (__attribute__): Remove definition.
16747         (_GL_ATTRIBUTE_FORMAT): New macro.
16748         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
16749         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
16750         GCC 3 or newer.
16751         * lib/error.h (__attribute__): Remove definition.
16752         (_GL_ATTRIBUTE_FORMAT): New macro.
16753         (error, error_at_line): Use it.
16754         * lib/hash.h (__attribute__): Remove definition.
16755         (ATTRIBUTE_WUR): Update definition. Define always.
16756         * lib/openat.h (__attribute__): Remove definition.
16757         (ATTRIBUTE_NORETURN): Update definition. Define always.
16758         * lib/sigpipe-die.h (__attribute__): Remove definition.
16759         (ATTRIBUTE_NORETURN): Update definition. Define always.
16760         * lib/vasnprintf.h (__attribute__): Remove definition.
16761         (_GL_ATTRIBUTE_FORMAT): New macro.
16762         (asnprintf, vasnprintf): Use it.
16763         * lib/xalloc.h (__attribute__): Remove definition.
16764         (ATTRIBUTE_NORETURN): Update definition. Define always.
16765         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
16766         * lib/xmemdup0.h (__attribute__): Remove definition.
16767         (ATTRIBUTE_NORETURN): Update definition. Define always.
16768         * lib/xprintf.h (__attribute__): Remove definition.
16769         (_GL_ATTRIBUTE_FORMAT): New macro.
16770         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
16771         * lib/xstrtol.h (__attribute__): Remove definition.
16772         (ATTRIBUTE_NORETURN): Update definition. Define always.
16773         * lib/xvasprintf.h (__attribute__): Remove definition.
16774         (_GL_ATTRIBUTE_FORMAT): New macro.
16775         (xasprintf, xvasprintf): Use it.
16776         * tests/test-argmatch.c (__attribute__): Remove definition.
16777         (ATTRIBUTE_NORETURN): Update definition. Define always.
16778         * tests/test-exclude.c (__attribute__): Remove definition.
16779         (ATTRIBUTE_NORETURN): Update definition. Define always.
16780         Reported by Paul Eggert.
16781
16782 2011-02-13  Bruno Haible  <bruno@clisp.org>
16783
16784         mbrtowc: Add more tests for native Windows platforms.
16785         * tests/test-mbrtowc-w32-1.sh: New file.
16786         * tests/test-mbrtowc-w32-2.sh: New file.
16787         * tests/test-mbrtowc-w32-3.sh: New file.
16788         * tests/test-mbrtowc-w32-4.sh: New file.
16789         * tests/test-mbrtowc-w32-5.sh: New file.
16790         * tests/test-mbrtowc-w32.c: New file.
16791         * modules/mbrtowc-tests (Files): Add them.
16792         (Makefile.am): Arrange to run these tests.
16793         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
16794         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
16795
16796 2011-02-13  Bruno Haible  <bruno@clisp.org>
16797
16798         mbrtowc: Work around native Windows bug.
16799         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
16800         guess when no suitable locale for testing was found.
16801         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
16802
16803 2011-02-13  Bruno Haible  <bruno@clisp.org>
16804
16805         mbsinit: Work around mingw bug.
16806         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
16807         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
16808         Windows.
16809         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
16810
16811 2011-02-13  Bruno Haible  <bruno@clisp.org>
16812
16813         mbsinit: Don't crash for a NULL argument.
16814         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
16815         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
16816
16817 2011-02-13  Bruno Haible  <bruno@clisp.org>
16818
16819         Don't interfere with a program's definition of __attribute__.
16820         * lib/stdio.in.h (__attribute__): Remove definition.
16821         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
16822         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
16823         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
16824         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
16825         * lib/string.in.h (__attribute__): Remove definition.
16826         Reported by Paul Eggert.
16827
16828 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16829
16830         stdlib: don't get in the way of non-GCC __attribute__
16831         See thread starting at
16832         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
16833         Revert previous stdlib change, installing the following instead:
16834         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
16835         to get in the way of a non-GCC compiler that supports __attribute__.
16836         (_GL_ATTRIBUTE_RETURN): New macro.
16837         (_Exit): Use it instead of __attribute__.
16838
16839 2011-02-12  Bruno Haible  <bruno@clisp.org>
16840
16841         quotearg test: Avoid test failure on mingw.
16842         * tests/test-quotearg.sh: Convert the locale identifier from native
16843         Windows syntax to Unix syntax.
16844
16845 2011-02-12  Bruno Haible  <bruno@clisp.org>
16846
16847         setlocale: Prefer gnulib's override over libintl's override.
16848         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
16849         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
16850         GNULIB_defined_setlocale is set.
16851
16852 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16853
16854         stdlib: support non-GCC __attribute__
16855
16856         Fix a serious and tricky problem encountered when attempting to
16857         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
16858         5.5, but it crashed due to memory corruption on Solaris 10 with
16859         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
16860         bits that are otherwise zero.  This tagging is optional inside
16861         Emacs but is preferred and is used when __attribute__ ((__aligned
16862         (8))) works, as it does with both recent-enough GCC and with Sun C
16863         5.11.  However, Sun C 5.11 is not GCC and does not #define
16864         __GNUC__ and __GNUC_MINOR__.
16865
16866         When I added the getloadavg module to Emacs, it brought in
16867         stdlib.in.h, which contained this fragment:
16868
16869            #ifndef __attribute__
16870            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
16871            #  define __attribute__(Spec)   /* empty */
16872            # endif
16873            #endif
16874
16875         When files that include <stdlib.h> were compiled with Sun C 5.11,
16876         the above code disabled __attribute__ ((__aligned (8))), which
16877         caused variables to not be properly aligned, which eventually led
16878         to the pointer corruption mentioned above.  (This was a bit hard
16879         to diagnose, unfortunately.)
16880
16881         Several "#define __attribute__(X) /* empty */" code snippets need
16882         to be eradicated from Gnulib to work with non-GCC compilers that
16883         support __attribute__.  The Autoconf way to do this is to test for
16884         each kind of attribute that we want support for, and selectively
16885         enable that in source code.
16886
16887         Fix this problem just for stdlib.h, by adding a test for the
16888         __noreturn__ attribute, and change stdlib.in.h to use that test
16889         when needed.  This technique can be easily generalized to the
16890         other *.in.h files and attributes, and a similar technique can be
16891         used for *.h and *.c files.  This patch is enough to solve the
16892         problem for Emacs + getloadavg, and I thought I'd publish it for
16893         feedback before undertaking further, similar fixes in other
16894         modules.
16895
16896         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
16897         because it's not needed for stdlib.h.  It merely substitutes the
16898         value directly into stdlib.h.  We may well need to #define it, or
16899         similar symbols, for other modules, but it's nice to also have an
16900         option to not #define it for applications like Emacs that do not
16901         need it.
16902
16903         * lib/stdlib.in.h (__attribute__): Do not #define.
16904         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
16905         be defined only if the _Exit module is also used.
16906         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
16907         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
16908         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
16909         platforms.
16910         * modules/_Exit (Files): Add m4/attribute.m4.
16911         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
16912         * m4/attribute.m4: New file.
16913
16914 2011-02-12  Bruno Haible  <bruno@clisp.org>
16915
16916         wcsrtombs: Work around bug on native Windows.
16917         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
16918         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
16919         instead of len.
16920         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
16921
16922 2011-02-12  Bruno Haible  <bruno@clisp.org>
16923
16924         mbsrtowcs: Work around bug on native Windows.
16925         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
16926         against mingw bug.
16927         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
16928
16929 2011-02-12  Bruno Haible  <bruno@clisp.org>
16930
16931         Avoid setlocale bugs in tests.
16932         * modules/btowc (Dependencies): Add setlocale.
16933         * modules/c-strcase (Dependencies): Likewise.
16934         * modules/mbmemcasecmp (Dependencies): Likewise.
16935         * modules/mbmemcasecoll (Dependencies): Likewise.
16936         * modules/mbrtowc (Dependencies): Likewise.
16937         * modules/mbscasecmp (Dependencies): Likewise.
16938         * modules/mbscasestr (Dependencies): Likewise.
16939         * modules/mbschr (Dependencies): Likewise.
16940         * modules/mbscspn (Dependencies): Likewise.
16941         * modules/mbsinit (Dependencies): Likewise.
16942         * modules/mbsncasecmp (Dependencies): Likewise.
16943         * modules/mbsnrtowcs (Dependencies): Likewise.
16944         * modules/mbspbrk (Dependencies): Likewise.
16945         * modules/mbspcasecmp (Dependencies): Likewise.
16946         * modules/mbsrchr (Dependencies): Likewise.
16947         * modules/mbsrtowcs (Dependencies): Likewise.
16948         * modules/mbsspn (Dependencies): Likewise.
16949         * modules/mbsstr (Dependencies): Likewise.
16950         * modules/nl_langinfo (Dependencies): Likewise.
16951         * modules/quotearg (Dependencies): Likewise.
16952         * modules/unicase/locale-language (Dependencies): Likewise.
16953         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
16954         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
16955         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
16956         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
16957         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
16958         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
16959         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
16960         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
16961         * modules/vasnprintf-posix (Dependencies): Likewise.
16962         * modules/wcrtomb (Dependencies): Likewise.
16963         * modules/wcsnrtombs (Dependencies): Likewise.
16964         * modules/wcsrtombs (Dependencies): Likewise.
16965
16966 2011-02-12  Bruno Haible  <bruno@clisp.org>
16967
16968         setlocale: Workaround native Windows bug.
16969         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
16970         succeeds but sets LC_CTYPE to "C", report a failure.
16971         * tests/test-setlocale2.sh: New file.
16972         * tests/test-setlocale2.c: New file.
16973         * modules/setlocale-tests (Files): Add the new files.
16974         (Makefile.am): Enable test-setlocale2.sh test.
16975         * doc/posix-functions/setlocale.texi: Mention workaround.
16976
16977 2011-02-11  Bruno Haible  <bruno@clisp.org>
16978
16979         Tests for module 'setlocale'.
16980         * modules/setlocale-tests: New file.
16981         * tests/test-setlocale1.sh: New file.
16982         * tests/test-setlocale1.c: New file.
16983
16984         New module 'setlocale'.
16985         * lib/locale.in.h (setlocale): New declaration.
16986         * lib/setlocale.c: New file, based on
16987         gettext/gettext-runtime/intl/setlocale.c.
16988         * m4/setlocale.m4: New file.
16989         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
16990         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
16991         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
16992         REPLACE_SETLOCALE.
16993         * modules/setlocale: New file.
16994         * tests/test-locale-c++.cc: Test the declaration of setlocale.
16995         * doc/posix-functions/setlocale.texi: Mention the new module.
16996
16997 2011-02-11  Bruno Haible  <bruno@clisp.org>
16998
16999         Prepare for locale dependent tests on mingw.
17000         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
17001         because it has the wrong locale encoding.
17002         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
17003         French_France.1252 instead of "fr".
17004         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
17005         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
17006         because it has the wrong locale encoding.
17007         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
17008         native Windows, try Turkish_Turkey.65001.
17009         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
17010         Chinese_China.54936.
17011
17012         Prepare for locale dependent tests on mingw.
17013         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
17014         differently.
17015         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
17016         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
17017         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
17018         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
17019
17020 2011-02-11  Eric Blake  <eblake@redhat.com>
17021
17022         strptime: avoid compiler warnings
17023         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
17024         compiler warnings about dead code.
17025         Reported by Daniel P. Berrange.
17026
17027 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
17028
17029         doc: update users.txt
17030         * users.txt: Add rcs.
17031
17032 2011-02-10  John W. Eaton  <jwe@gnu.org>
17033
17034         doc: update users.txt
17035         * users.txt: Add octave.
17036
17037 2011-02-10  Jim Meyering  <meyering@redhat.com>
17038
17039         doc: update users.txt
17040         * users.txt: Add iwhd.
17041
17042 2011-02-09  Bruno Haible  <bruno@clisp.org>
17043
17044         gnulib-tool: Make copyright notice adjustment more robust.
17045         * gnulib-tool (func_import): In sed_transform_main_lib_file,
17046         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
17047         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
17048         License".
17049         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
17050
17051 2011-02-06  Bruno Haible  <bruno@clisp.org>
17052
17053         New module 'towctrans'.
17054         * modules/towctrans: New file.
17055         * lib/wctype.in.h (towctrans): New declaration.
17056         * lib/towctrans.c: New file.
17057         * lib/towctrans-impl.h: New file.
17058         * m4/towctrans.m4: New file.
17059         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
17060         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
17061         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
17062         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
17063         * doc/posix-functions/towctrans.texi: Mention the new module.
17064
17065 2011-02-06  Bruno Haible  <bruno@clisp.org>
17066
17067         New module 'wctrans'.
17068         * modules/wctrans: New file.
17069         * lib/wctype.in.h (wctrans): New declaration.
17070         * lib/wctrans.c: New file.
17071         * lib/wctrans-impl.h: New file.
17072         * m4/wctrans.m4: New file.
17073         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
17074         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
17075         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
17076         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
17077         * doc/posix-functions/wctrans.texi: Mention the new module.
17078
17079 2011-02-06  Bruno Haible  <bruno@clisp.org>
17080
17081         New module 'iswctype'.
17082         * modules/iswctype: New file.
17083         * lib/wctype.in.h (iswctype): New declaration.
17084         * lib/iswctype.c: New file.
17085         * lib/iswctype-impl.h: New file.
17086         * m4/iswctype.m4: New file.
17087         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
17088         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
17089         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
17090         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
17091         * doc/posix-functions/iswctype.texi: Mention the new module and the
17092         HP-UX 11.00 problem.
17093
17094 2011-02-06  Bruno Haible  <bruno@clisp.org>
17095
17096         New module 'wctype'.
17097         * modules/wctype: Change to represent the wctype() substitute.
17098         * lib/wctype.in.h (wctype): New declaration.
17099         * lib/wctype.c: New file.
17100         * lib/wctype-impl.h: New file.
17101         * m4/wctype.m4: New file.
17102         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
17103         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
17104         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
17105         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
17106         * doc/posix-functions/wctype.texi: Mention the new module and the
17107         HP-UX 11.00 problem.
17108
17109 2011-02-06  Bruno Haible  <bruno@clisp.org>
17110
17111         wctype-h: Ensure wctype_t and wctrans_t are defined.
17112         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
17113         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
17114         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
17115         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
17116         HAVE_WCTRANS_T.
17117         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
17118
17119 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
17120
17121         flock: fix license typo
17122
17123         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
17124         omitted.
17125
17126 2011-02-08  Bruno Haible  <bruno@clisp.org>
17127
17128         Split large sed scripts, for HP-UX sed.
17129         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
17130         to avoid HP-UX limit of 99 commands, in the near future.
17131         * modules/stdlib (Makefile.am): Likewise.
17132         * modules/unistd (Makefile.am): Likewise.
17133         * modules/wchar (Makefile.am): Likewise.
17134         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17135         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
17136         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
17137
17138 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17139             Bruno Haible  <bruno@clisp.org>
17140
17141         stdlib: improve random_r modularization
17142         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
17143         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
17144         you also need the random_r module to get this material right.
17145         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
17146         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
17147         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
17148
17149 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17150
17151         stdlib: don't depend on stdint
17152         * lib/stdlib.in.h: Don't include <stdint.h> merely because
17153         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
17154         be independent of whether stdint.h is needed.
17155         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
17156         here, instead of ...
17157         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
17158         struct random_data should be using the random_r module, not just
17159         the stdlib module (which wouldn't make sense: what package needs
17160         just struct random_data without also needing random_r?).
17161         * modules/stdlib (Depends-on): Remove stdint.
17162
17163         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
17164         See the thread rooted at
17165         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
17166         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
17167         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
17168         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
17169         __VMS)); previously it was always included (via fcntl--.h).
17170         (getloadavg): Do not use c_strtod.  Instead, approximate it by
17171         hand; this is good enough for load averages.  Also, do not use
17172         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
17173         flags directly if available and don't bother otherwise.  (Packages
17174         that need the extra reliability should use the modules that define
17175         these flags on older platforms that lack them.)
17176         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
17177         fcntl-safer.
17178
17179 2011-02-08  Jim Meyering  <meyering@redhat.com>
17180
17181         di-set.h, ino-map.h: add multiple-inclusion guard
17182         Technically, the guard is required only for ino-map.h, due to its
17183         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
17184         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
17185         * lib/ino-map.h: Likewise.
17186
17187 2011-02-06  Bruno Haible  <bruno@clisp.org>
17188
17189         iswblank: Ensure declaration on glibc systems.
17190         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
17191         * modules/iswblank (Dependencies): Add 'extensions'.
17192         * doc/posix-functions/iswblank.texi: Document the glibc problem.
17193
17194 2011-02-06  Bruno Haible  <bruno@clisp.org>
17195
17196         New module 'iswblank'.
17197         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
17198         * modules/iswblank: New file.
17199         * modules/wctype-h (Files): Remove lib/iswblank.c.
17200         (Makefile.am): Substitute GNULIB_ISWBLANK.
17201         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
17202         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
17203         (gl_WCTYPE_H_DEFAULTS): New macro.
17204         (gl_WCTYPE_H): Require it. Remove iswblank related code.
17205         * modules/iswblank-tests: New file.
17206         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
17207         * tests/test-wctype-h.c (main): Remove iswblank tests.
17208         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
17209         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
17210         of 'wctype-h'.
17211         * NEWS: Mention the change.
17212         * modules/mbchar (Depends-on): Add iswblank.
17213
17214 2011-02-08  Bruno Haible  <bruno@clisp.org>
17215
17216         di-set tests: Refactor.
17217         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
17218         unnecessary includes.
17219         (ASSERT): Remove macro.
17220         (main): Make C90 compliant by avoiding variable declaration after
17221         statement.
17222         * modules/di-set-tests (Files): Add tests/macros.h.
17223
17224 2011-02-08  Bruno Haible  <bruno@clisp.org>
17225
17226         ino-map tests: Refactor.
17227         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
17228         unnecessary includes.
17229         (ASSERT): Remove macro.
17230         (main): Make C90 compliant by avoiding variable declaration after
17231         statement.
17232         * modules/ino-map-tests (Files): Add tests/macros.h.
17233
17234 2011-02-08  Jim Meyering  <meyering@redhat.com>
17235
17236         di-set: add "const" to a cast
17237         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
17238         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
17239
17240 2011-02-06  Bruno Haible  <bruno@clisp.org>
17241
17242         Rename module 'wctype' to 'wctype-h'.
17243         * modules/wctype-h: Renamed from modules/wctype.
17244         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
17245         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
17246         (Files, Depends-on, Makefile.am): Update.
17247         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
17248         (Files, Makefile.am): Update.
17249         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
17250         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
17251         * doc/posix-headers/wctype.texi: Update.
17252         * doc/posix-functions/iswalnum.texi: Update.
17253         * doc/posix-functions/iswalpha.texi: Update.
17254         * doc/posix-functions/iswblank.texi: Update.
17255         * doc/posix-functions/iswcntrl.texi: Update.
17256         * doc/posix-functions/iswdigit.texi: Update.
17257         * doc/posix-functions/iswgraph.texi: Update.
17258         * doc/posix-functions/iswlower.texi: Update.
17259         * doc/posix-functions/iswprint.texi: Update.
17260         * doc/posix-functions/iswpunct.texi: Update.
17261         * doc/posix-functions/iswspace.texi: Update.
17262         * doc/posix-functions/iswupper.texi: Update.
17263         * doc/posix-functions/iswxdigit.texi: Update.
17264         * doc/posix-functions/towlower.texi: Update.
17265         * doc/posix-functions/towupper.texi: Update.
17266         * NEWS: Mention the change.
17267         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
17268         * modules/mbchar (Dependencies): Likewise.
17269         * modules/mbswidth (Dependencies): Likewise.
17270         * modules/quotearg (Dependencies): Likewise.
17271         * modules/regex (Dependencies): Likewise.
17272         * modules/wcscasecmp (Dependencies): Likewise.
17273         * modules/wcsncasecmp (Dependencies): Likewise.
17274         * modules/wcwidth (Dependencies): Likewise.
17275
17276 2011-02-06  Bruno Haible  <bruno@clisp.org>
17277
17278         New module 'wcswidth'.
17279         * modules/wcswidth: New file.
17280         * lib/wchar.in.h (wcswidth): New declaration.
17281         * lib/wcswidth.c: New file.
17282         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
17283         * m4/wcswidth.m4: New file.
17284         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
17285         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
17286         REPLACE_WCSWIDTH.
17287         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
17288         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
17289         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
17290         * doc/posix-functions/wcswidth.texi: Mention the new module.
17291
17292 2011-02-06  Bruno Haible  <bruno@clisp.org>
17293
17294         New module 'wcstok'.
17295         * modules/wcstok: New file.
17296         * lib/wchar.in.h (wcstok): New declaration.
17297         * lib/wcstok.c: New file.
17298         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
17299         * m4/wcstok.m4: New file.
17300         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
17301         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
17302         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
17303         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
17304         * doc/posix-functions/wcstok.texi: Mention the new module.
17305
17306 2011-02-06  Bruno Haible  <bruno@clisp.org>
17307
17308         New module 'wcsstr'.
17309         * modules/wcsstr: New file.
17310         * lib/wchar.in.h (wcsstr): New declaration.
17311         * lib/wcsstr.c: New file.
17312         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
17313         * m4/wcsstr.m4: New file.
17314         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
17315         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
17316         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
17317         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
17318         * doc/posix-functions/wcsstr.texi: Mention the new module.
17319
17320 2011-02-06  Bruno Haible  <bruno@clisp.org>
17321
17322         New module 'wcspbrk'.
17323         * modules/wcspbrk: New file.
17324         * lib/wchar.in.h (wcspbrk): New declaration.
17325         * lib/wcspbrk.c: New file.
17326         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
17327         * m4/wcspbrk.m4: New file.
17328         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
17329         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
17330         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
17331         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
17332         * doc/posix-functions/wcspbrk.texi: Mention the new module.
17333
17334 2011-02-06  Bruno Haible  <bruno@clisp.org>
17335
17336         New module 'wcsspn'.
17337         * modules/wcsspn: New file.
17338         * lib/wchar.in.h (wcsspn): New declaration.
17339         * lib/wcsspn.c: New file.
17340         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
17341         * m4/wcsspn.m4: New file.
17342         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
17343         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
17344         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
17345         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
17346         * doc/posix-functions/wcsspn.texi: Mention the new module.
17347
17348 2011-02-06  Bruno Haible  <bruno@clisp.org>
17349
17350         New module 'wcscspn'.
17351         * modules/wcscspn: New file.
17352         * lib/wchar.in.h (wcscspn): New declaration.
17353         * lib/wcscspn.c: New file.
17354         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
17355         * m4/wcscspn.m4: New file.
17356         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
17357         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
17358         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
17359         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
17360         * doc/posix-functions/wcscspn.texi: Mention the new module.
17361
17362 2011-02-06  Bruno Haible  <bruno@clisp.org>
17363
17364         New module 'wcsrchr'.
17365         * modules/wcsrchr: New file.
17366         * lib/wchar.in.h (wcsrchr): New declaration.
17367         * lib/wcsrchr.c: New file.
17368         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
17369         * m4/wcsrchr.m4: New file.
17370         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
17371         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
17372         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
17373         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
17374         * doc/posix-functions/wcsrchr.texi: Mention the new module.
17375
17376 2011-02-06  Bruno Haible  <bruno@clisp.org>
17377
17378         New module 'wcschr'.
17379         * modules/wcschr: New file.
17380         * lib/wchar.in.h (wcschr): New declaration.
17381         * lib/wcschr.c: New file.
17382         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
17383         * m4/wcschr.m4: New file.
17384         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
17385         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
17386         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
17387         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
17388         * doc/posix-functions/wcschr.texi: Mention the new module.
17389
17390 2011-02-06  Bruno Haible  <bruno@clisp.org>
17391
17392         New module 'wcsdup'.
17393         * modules/wcsdup: New file.
17394         * lib/wchar.in.h (wcsdup): New declaration.
17395         * lib/wcsdup.c: New file.
17396         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
17397         * m4/wcsdup.m4: New file.
17398         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
17399         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
17400         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
17401         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
17402         * doc/posix-functions/wcsdup.texi: Mention the new module.
17403
17404 2011-02-06  Bruno Haible  <bruno@clisp.org>
17405
17406         New module 'wcsxfrm'.
17407         * modules/wcsxfrm: New file.
17408         * lib/wchar.in.h (wcsxfrm): New declaration.
17409         * lib/wcsxfrm.c: New file.
17410         * lib/wcsxfrm-impl.h: New file.
17411         * m4/wcsxfrm.m4: New file.
17412         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
17413         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
17414         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
17415         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
17416         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
17417
17418 2011-02-06  Bruno Haible  <bruno@clisp.org>
17419
17420         New module 'wcscoll'.
17421         * modules/wcscoll: New file.
17422         * lib/wchar.in.h (wcscoll): New declaration.
17423         * lib/wcscoll.c: New file.
17424         * lib/wcscoll-impl.h: New file.
17425         * m4/wcscoll.m4: New file.
17426         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
17427         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
17428         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
17429         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
17430         * doc/posix-functions/wcscoll.texi: Mention the new module.
17431
17432 2011-02-06  Bruno Haible  <bruno@clisp.org>
17433
17434         New module 'wcsncasecmp'.
17435         * modules/wcsncasecmp: New file.
17436         * lib/wchar.in.h (wcsncasecmp): New declaration.
17437         * lib/wcsncasecmp.c: New file.
17438         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
17439         * m4/wcsncasecmp.m4: New file.
17440         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
17441         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
17442         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
17443         HAVE_WCSNCASECMP.
17444         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
17445         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
17446
17447 2011-02-06  Bruno Haible  <bruno@clisp.org>
17448
17449         New module 'wcscasecmp'.
17450         * modules/wcscasecmp: New file.
17451         * lib/wchar.in.h (wcscasecmp): New declaration.
17452         * lib/wcscasecmp.c: New file.
17453         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
17454         * m4/wcscasecmp.m4: New file.
17455         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
17456         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
17457         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
17458         HAVE_WCSCASECMP.
17459         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
17460         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
17461
17462 2011-02-05  Bruno Haible  <bruno@clisp.org>
17463
17464         New module 'wcsncmp'.
17465         * modules/wcsncmp: New file.
17466         * lib/wchar.in.h (wcsncmp): New declaration.
17467         * lib/wcsncmp.c: New file.
17468         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
17469         * m4/wcsncmp.m4: New file.
17470         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
17471         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
17472         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
17473         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
17474         * doc/posix-functions/wcsncmp.texi: Mention the new module.
17475
17476 2011-02-05  Bruno Haible  <bruno@clisp.org>
17477
17478         New module 'wcscmp'.
17479         * modules/wcscmp: New file.
17480         * lib/wchar.in.h (wcscmp): New declaration.
17481         * lib/wcscmp.c: New file.
17482         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
17483         * m4/wcscmp.m4: New file.
17484         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
17485         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
17486         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
17487         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
17488         * doc/posix-functions/wcscmp.texi: Mention the new module.
17489
17490 2011-02-05  Bruno Haible  <bruno@clisp.org>
17491
17492         New module 'wcsncat'.
17493         * modules/wcsncat: New file.
17494         * lib/wchar.in.h (wcsncat): New declaration.
17495         * lib/wcsncat.c: New file.
17496         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
17497         * m4/wcsncat.m4: New file.
17498         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
17499         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
17500         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
17501         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
17502         * doc/posix-functions/wcsncat.texi: Mention the new module.
17503
17504 2011-02-05  Bruno Haible  <bruno@clisp.org>
17505
17506         New module 'wcscat'.
17507         * modules/wcscat: New file.
17508         * lib/wchar.in.h (wcscat): New declaration.
17509         * lib/wcscat.c: New file.
17510         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
17511         * m4/wcscat.m4: New file.
17512         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
17513         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
17514         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
17515         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
17516         * doc/posix-functions/wcscat.texi: Mention the new module.
17517
17518 2011-02-05  Bruno Haible  <bruno@clisp.org>
17519
17520         New module 'wcpncpy'.
17521         * modules/wcpncpy: New file.
17522         * lib/wchar.in.h (wcpncpy): New declaration.
17523         * lib/wcpncpy.c: New file.
17524         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
17525         * m4/wcpncpy.m4: New file.
17526         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
17527         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
17528         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
17529         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
17530         * doc/posix-functions/wcpncpy.texi: Mention the new module.
17531
17532 2011-02-05  Bruno Haible  <bruno@clisp.org>
17533
17534         New module 'wcsncpy'.
17535         * modules/wcsncpy: New file.
17536         * lib/wchar.in.h (wcsncpy): New declaration.
17537         * lib/wcsncpy.c: New file.
17538         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
17539         * m4/wcsncpy.m4: New file.
17540         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
17541         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
17542         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
17543         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
17544         * doc/posix-functions/wcsncpy.texi: Mention the new module.
17545
17546 2011-02-05  Bruno Haible  <bruno@clisp.org>
17547
17548         New module 'wcpcpy'.
17549         * modules/wcpcpy: New file.
17550         * lib/wchar.in.h (wcpcpy): New declaration.
17551         * lib/wcpcpy.c: New file.
17552         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
17553         * m4/wcpcpy.m4: New file.
17554         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
17555         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
17556         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
17557         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
17558         * doc/posix-functions/wcpcpy.texi: Mention the new module.
17559
17560 2011-02-05  Bruno Haible  <bruno@clisp.org>
17561
17562         New module 'wcscpy'.
17563         * modules/wcscpy: New file.
17564         * lib/wchar.in.h (wcscpy): New declaration.
17565         * lib/wcscpy.c: New file.
17566         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
17567         * m4/wcscpy.m4: New file.
17568         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
17569         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
17570         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
17571         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
17572         * doc/posix-functions/wcscpy.texi: Mention the new module.
17573
17574 2011-02-05  Bruno Haible  <bruno@clisp.org>
17575
17576         New module 'wcsnlen'.
17577         * modules/wcsnlen: New file.
17578         * lib/wchar.in.h (wcsnlen): New declaration.
17579         * lib/wcsnlen.c: New file.
17580         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
17581         * m4/wcsnlen.m4: New file.
17582         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
17583         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
17584         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
17585         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
17586         * doc/posix-functions/wcsnlen.texi: Mention the new module.
17587
17588 2011-02-05  Bruno Haible  <bruno@clisp.org>
17589
17590         New module 'wcslen'.
17591         * modules/wcslen: New file.
17592         * lib/wchar.in.h (wcslen): New declaration.
17593         * lib/wcslen.c: New file.
17594         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
17595         * m4/wcslen.m4: New file.
17596         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
17597         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
17598         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
17599         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
17600         * doc/posix-functions/wcslen.texi: Mention the new module.
17601
17602 2011-02-05  Bruno Haible  <bruno@clisp.org>
17603
17604         New module 'wmemset'.
17605         * modules/wmemset: New file.
17606         * lib/wchar.in.h (wmemset): New declaration.
17607         * lib/wmemset.c: New file.
17608         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
17609         * m4/wmemset.m4: New file.
17610         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
17611         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
17612         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
17613         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
17614         * doc/posix-functions/wmemset.texi: Mention the new module.
17615
17616 2011-02-05  Bruno Haible  <bruno@clisp.org>
17617
17618         New module 'wmemmove'.
17619         * modules/wmemmove: New file.
17620         * lib/wchar.in.h (wmemmove): New declaration.
17621         * lib/wmemmove.c: New file.
17622         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
17623         * m4/wmemmove.m4: New file.
17624         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
17625         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
17626         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
17627         HAVE_WMEMMOVE.
17628         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
17629         * doc/posix-functions/wmemmove.texi: Mention the new module.
17630
17631 2011-02-05  Bruno Haible  <bruno@clisp.org>
17632
17633         New module 'wmemcpy'.
17634         * modules/wmemcpy: New file.
17635         * lib/wchar.in.h (wmemcpy): New declaration.
17636         * lib/wmemcpy.c: New file.
17637         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
17638         * m4/wmemcpy.m4: New file.
17639         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
17640         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
17641         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
17642         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
17643         * doc/posix-functions/wmemcpy.texi: Mention the new module.
17644
17645 2011-02-05  Bruno Haible  <bruno@clisp.org>
17646
17647         New module 'wmemcmp'.
17648         * modules/wmemcmp: New file.
17649         * lib/wchar.in.h (wmemcmp): New declaration.
17650         * lib/wmemcmp.c: New file.
17651         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
17652         * m4/wmemcmp.m4: New file.
17653         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
17654         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
17655         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
17656         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
17657         * doc/posix-functions/wmemcmp.texi: Mention the new module.
17658
17659 2011-02-07  Jim Meyering  <meyering@redhat.com>
17660
17661         di-set, ino-map: new modules, from coreutils
17662         * lib/di-set.c: New file.
17663         * lib/di-set.h: Likewise.
17664         * lib/ino-map.c: Likewise.
17665         * lib/ino-map.h: Likewise.
17666         * modules/di-set: Likewise.
17667         * modules/di-set-tests: Likewise.
17668         * modules/ino-map: Likewise.
17669         * modules/ino-map-tests: Likewise.
17670         * tests/test-di-set.c: Likewise.
17671         * tests/test-ino-map.c: Likewise.
17672
17673 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
17674
17675         getloadavg: merge minor changes from Emacs
17676
17677         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
17678         (getloadavg): Use memset, not bzero.
17679
17680         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
17681         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
17682         clash (bug#86).
17683
17684 2010-11-14  Bruno Haible  <bruno@clisp.org>
17685
17686         Allow multiple gnulib generated replacements to coexist.
17687         * lib/getopt.in.h (struct option): Avoid identical redefinition.
17688         * lib/inttypes.in.h (imaxdiv_t): Likewise.
17689         * lib/langinfo.in.h (nl_item): Likewise.
17690         * lib/math.in.h (_NaN, NAN): Likewise.
17691         * lib/netdb.in.h (struct addrinfo): Likewise.
17692         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
17693         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
17694         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
17695         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
17696         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
17697         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
17698         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
17699         pthread_mutexattr_init, pthread_mutexattr_settype,
17700         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
17701         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
17702         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
17703         pthread_spin_trylock, pthread_spin_unlock): Likewise.
17704         * lib/sched.in.h (struct sched_param): Likewise.
17705         * lib/se-selinux.in.h (security_class_t, security_context_t,
17706         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
17707         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
17708         lsetfilecon, fsetfilecon, security_check_context,
17709         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
17710         Likewise.
17711         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
17712         Likewise.
17713         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
17714         _gl_function_taking_int_returning_void_t, union sigval,
17715         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
17716         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
17717         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
17718         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
17719         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
17720         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
17721         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
17722         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
17723         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
17724         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
17725         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
17726         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
17727         socklen_t, rpl_fd_isset): Likewise.
17728         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
17729         * lib/sys_time.in.h (struct timeval): Likewise.
17730         * lib/sys_times.in.h (struct tms): Likewise.
17731         * lib/sys_utsname.in.h (struct utsname):
17732         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
17733         * lib/unistd.in.h (getpagesize): Likewise.
17734         * lib/wchar.in.h (mbstate_t): Likewise.
17735         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17736         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
17737         towlower, towupper): Likewise.
17738         Reported by Sam Steingold <sds@gnu.org>.
17739
17740 2011-02-05  Eric Blake  <eblake@redhat.com>
17741
17742         unsetenv: work around Haiku issues
17743         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
17744         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
17745
17746 2010-12-30  Bruce Korb  <bkorb@gnu.org>
17747
17748         libposix: avoid calling error() within libposix
17749         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
17750         is defined.
17751
17752 2011-02-05  Eric Blake  <eblake@redhat.com>
17753
17754         strerror_r-posix: port to cygwin
17755         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
17756         implementation.
17757         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
17758         * tests/test-strerror_r.c (main): Fix test.
17759         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
17760         issue.
17761
17762 2011-02-05  Bruno Haible  <bruno@clisp.org>
17763
17764         New module 'wmemchr'.
17765         * modules/wmemchr: New file.
17766         * lib/wchar.in.h (wmemchr): New declaration.
17767         * lib/wmemchr.c: New file.
17768         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
17769         * m4/wmemchr.m4: New file.
17770         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
17771         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
17772         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
17773         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
17774         * doc/posix-functions/wmemchr.texi: Mention the new module.
17775
17776 2011-02-04  Eric Blake  <eblake@redhat.com>
17777
17778         fdopendir: detect FreeBSD bug
17779         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
17780         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
17781
17782 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
17783
17784         stdbool: do not define HAVE_STDBOOL_H
17785         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
17786         AC_HEADER_STDBOOL.  All uses changed.  Do not define
17787         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
17788         imported from the latest Autoconf git.  It was motivated by Emacs,
17789         which uses gnulib but does not need HAVE_STDBOOL_H.
17790
17791 2011-02-04  Bruno Haible  <bruno@clisp.org>
17792
17793         wcsnrtombs: Prepare for new module wwcsnrtombs.
17794         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
17795         * lib/wcsnrtombs.c: Include it.
17796         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
17797
17798         wcsrtombs: Prepare for new module wwcsrtombs.
17799         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
17800         * lib/wcsrtombs.c: Include it.
17801         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
17802
17803         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
17804         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
17805         * lib/mbsnrtowcs.c: Include it.
17806         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
17807
17808         mbsrtowcs: Prepare for new module mbsrtowwcs.
17809         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
17810         * lib/mbsrtowcs.c: Include it.
17811         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
17812
17813 2011-02-04  Bruno Haible  <bruno@clisp.org>
17814
17815         vasnprintf: Reduce use of malloc for small format strings.
17816         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
17817         (arguments): Add room for the first 7 arguments.
17818         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
17819         (char_directives, u8_directives, u16_directives, u32_directives): Add
17820         room for the first 7 directives.
17821         * lib/printf-parse.c: Include <string.h>.
17822         (PRINTF_PARSE): Change memory handling code so that it uses the first
17823         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
17824         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
17825         Reported by Pádraig Brady <P@draigbrady.com>.
17826
17827 2011-01-31  Eric Blake  <eblake@redhat.com>
17828
17829         dup2: work around Haiku bug
17830         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
17831         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
17832         * doc/posix-functions/dup2.texi (dup2): Document the bug.
17833         * tests/test-dup2.c (main): Enhance test.
17834
17835 2011-01-31  Simon Josefsson  <simon@josefsson.org>
17836
17837         doc: off_t is not available in eglibc 2.11.2 stdio.h.
17838         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
17839         declared by eglibc 2.11.2.
17840         * lib/stdio.in.h: Likewise.
17841
17842 2011-01-31  Eric Blake  <eblake@redhat.com>
17843
17844         ignore-value: add missing test dependency
17845         * tests/test-ignore-value.c: Revert previous change; stdio.h
17846         provides off_t.
17847         * modules/ignore-value-tests (Depends-on): Add missing dependency.
17848
17849 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
17850
17851         mktime: clarify long_int width checking
17852         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
17853         the top level, to make it clearer that the assumption about
17854         long_int width is being checked.  See
17855         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
17856
17857 2011-01-30  Simon Josefsson  <simon@josefsson.org>
17858
17859         ignore-value: Fix self-test.
17860         * tests/test-ignore-value.c: Include sys/types.h for off_t.
17861
17862 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
17863
17864         TYPE_MAXIMUM: avoid theoretically undefined behavior
17865         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
17866         negative number, which the C Standard says has undefined behavior.
17867         In practice this is not a problem, but might as well do it by the book.
17868         Reported by Rich Felker and Eric Blake; see
17869         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
17870         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
17871         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17872         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17873         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
17874         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17875         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
17876
17877         mktime: #undef mktime before #defining it
17878         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
17879
17880         mktime: systematically normalize tm_isdst comparisons
17881         * lib/mktime.c (isdst_differ): New function.
17882         (__mktime_internal): Use it systematically for all isdst comparisons.
17883         This completes the fix for libc BZ #6723, and removes the need for
17884         normalizing tm_isdst.  See
17885         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
17886         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
17887
17888         mktime: fix some integer overflow issues and sidestep the rest
17889
17890         This was prompted by a bug report by Benjamin Lindner for MinGW
17891         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
17892         His bug is due to signed integer overflow (0 - INT_MIN), and I
17893         I scanned through mktime.c looking for other integer overflow
17894         problems, fixing all the bugs I found.
17895
17896         Although the C Standard says the resulting code is still not safe
17897         in the presence of integer overflow, in practice it should be good
17898         enough for all real-world two's-complement implementations, except
17899         for debugging environments that deliberately trap on integer
17900         overflow (e.g., gcc -ftrapv).
17901
17902         * lib/mktime.c (WRAPV): New macro.
17903         (SHR): Also check that long_int and time_t shift right in the
17904         usual way, before using the fast-but-unportable method.
17905         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
17906         used.  The code already assumed two's complement, so there's
17907         no need to test for alternatives.  All uses removed.
17908         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
17909         the C standard.  Problem reported by Rich Felker in
17910         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
17911         (twos_complement_arithmetic): Also check long_int and time_t.
17912         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
17913         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
17914         (__mktime_internal): Avoid integer overflow with unary subtraction
17915         in two instances where -1 - X is an adequate replacement for -X,
17916         since the calculations are approximate.
17917
17918 2011-01-29  Eric Blake  <eblake@redhat.com>
17919
17920         mktime: avoid infinite loop
17921         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
17922         type; behavior is still undefined but portable to all known targets.
17923         Reported by Rich Felker.
17924
17925 2011-01-29  Simon Josefsson  <simon@josefsson.org>
17926
17927         rename, unlink, same-inode: Relicense.
17928         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
17929         * modules/unlink (License): Likewise.
17930         * modules/same-inode (License): Likewise.
17931
17932 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
17933
17934         mktime: avoid problems on NetBSD 5 / i386
17935         * lib/mktime.c (long_int): New type.  This works around a problem
17936         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
17937         but time_t is 64 bits, and where I expect the existing code is
17938         wrong in some cases.
17939         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
17940         (ydhms_diff): Bring back the compile-time check for wide-enough
17941         year and yday.
17942
17943         mktime: fix misspelling in comment
17944         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
17945         This merges all recent glibc changes of importance.
17946
17947 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17948
17949         move-if-change: cope with concurrent mv of identical file.
17950         * build-aux/move-if-change (CMPPROG): Accept environment
17951         variable as an override for `cmp'.
17952         (usage): Document CMPPROG.
17953         Adjust comparison to drop stdout.  Cope with failure of mv if
17954         the target file exists and is identical to the source, for
17955         parallel builds.
17956         Report from H.J. Lu against binutils in PR binutils/12283.
17957
17958 2011-01-28  Bruce Korb  <bkorb@gnu.org>
17959
17960         * users.txt: Mention sharutils.
17961
17962 2011-01-28  Simon Josefsson  <simon@josefsson.org>
17963
17964         * users.txt: Mention OATH Toolkit.
17965
17966 2011-01-27  Bruno Haible  <bruno@clisp.org>
17967
17968         Prepare for supporting FreeBSD 10.
17969         * build-aux/config.libpath: Remove handling of freebsd1*.
17970
17971 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
17972
17973         Prepare for supporting FreeBSD 10.
17974         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
17975         match FreeBSD 10.0.
17976
17977 2011-01-27  Bruno Haible  <bruno@clisp.org>
17978
17979         vma-iter, get-rusage-as: Add OpenBSD support.
17980         * modules/vma-iter (configure.ac): Test for mquery.
17981         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
17982         * lib/vma-iter.c: Include <sys/mman.h>.
17983         (vma_iterate): Add an implementation based on mquery().
17984         * lib/resource-ext.h (get_rusage_as): Update comments.
17985         * lib/get-rusage-as.c: Likewise.
17986         * lib/get-rusage-data.c: Likewise.
17987
17988 2011-01-26  Karl Berry  <karl@gnu.org>
17989
17990         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
17991         variables to make it easier to override the makeinfo program used.
17992
17993 2011-01-26  Eric Blake  <eblake@redhat.com>
17994
17995         fcntl: work around Haiku F_DUPFD bugs
17996         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
17997         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
17998         cloexec bit on duplication.
17999         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
18000
18001 2011-01-26  Bruno Haible  <bruno@clisp.org>
18002
18003         Enable memory leak tests on AIX.
18004         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
18005         * tests/test-fprintf-posix3.c (main): Likewise.
18006
18007 2011-01-26  Bruno Haible  <bruno@clisp.org>
18008
18009         Tests for module 'get-rusage-data'.
18010         * modules/get-rusage-data-tests: New file.
18011         * tests/test-get-rusage-data.c: New file.
18012
18013         New module 'get-rusage-data'.
18014         * lib/resource-ext.h (get_rusage_data): New declaration.
18015         * lib/get-rusage-data.c: New file.
18016         * modules/get-rusage-data: New file.
18017
18018 2011-01-25  Bruno Haible  <bruno@clisp.org>
18019
18020         get-rusage-as: Allow for easier testing.
18021         * lib/resource-ext.h (get_rusage_as): Add comment.
18022         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
18023         (main): New function for interactive testing.
18024
18025 2011-01-25  Bruno Haible  <bruno@clisp.org>
18026
18027         vma-iter: Treat Haiku like BeOS.
18028         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
18029         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
18030
18031 2011-01-25  Eric Blake  <eblake@redhat.com>
18032
18033         c-stack: fix regression on cygwin when libsigsegv is present
18034         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
18035
18036 2011-01-24  Bruno Haible  <bruno@clisp.org>
18037
18038         vma-iter: Avoid empty intervals.
18039         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
18040         on an empty interval.
18041
18042 2011-01-24  Jim Meyering  <meyering@redhat.com>
18043
18044         u64: remove unnecessary #include
18045         * lib/u64.h: Don't include <stddef.h>.  It was not used.
18046
18047 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
18048
18049         Allow the user to avoid the HAVE_RAW_DECL_* macros.
18050         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
18051
18052 2011-01-23  Bruno Haible  <bruno@clisp.org>
18053
18054         New module 'vma-iter'.
18055         * lib/vma-iter.h: New file.
18056         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
18057         * modules/vma-iter: New file.
18058         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
18059         for get_rusage_as_via_iterator.
18060         (vma_iterate_callback): New function.
18061         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
18062         * modules/get-rusage-as (Depends-on): Add vma-iter.
18063
18064 2011-01-23  Bruno Haible  <bruno@clisp.org>
18065
18066         uninorm: Tweak includes.
18067         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
18068         Reported by Jim Meyering.
18069
18070 2011-01-23  Bruno Haible  <bruno@clisp.org>
18071
18072         get-rusage-as: Improve on NetBSD.
18073         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
18074         /proc, like on FreeBSD.
18075
18076 2011-01-23  Jim Meyering  <meyering@redhat.com>
18077
18078         xreadlink.h: remove unnecessary #include
18079         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
18080
18081         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
18082         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
18083
18084 2011-01-23  Bruno Haible  <bruno@clisp.org>
18085
18086         get-rusage-as: Fix bug.
18087         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
18088         original limit when aborting the first loop.
18089
18090 2011-01-23  Bruno Haible  <bruno@clisp.org>
18091
18092         wctype: Ensure valid C syntax.
18093         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
18094         unconditionally, instead of gl_NEXT_HEADERS conditionally.
18095
18096 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
18097
18098         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
18099         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
18100         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
18101         as they are needed only for configure's test case.
18102         This removes two unnecessary symbols from config.h.
18103
18104         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
18105         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
18106         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
18107         AC_CHECK_HEADERS_ONCE on a header that we also invoke
18108         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
18109         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
18110         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
18111         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
18112         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18113         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18114         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
18115         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18116         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18117         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18118         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
18119         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18120         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
18121         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
18122
18123 2011-01-21  Eric Blake  <eblake@redhat.com>
18124
18125         maintainer-makefile: work with older git for submodule check
18126         * top/maint.mk (public-submodule-commit): Rewrite to avoid
18127         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
18128         Reported by Matthias Bolte.
18129
18130         bootstrap: minor portability fixes
18131         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
18132         (usage): Omit leading capital and trailing . on help phrases, per
18133         GNU Coding Standards.
18134         (check_versions, top level): Prefix messages with script name.
18135
18136 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
18137
18138         bootstrap: support --no-git option
18139         * build-aux/bootstrap: Add --no-git option, to be used when
18140         --gnulib-srcdir points to the exact desired checkout.
18141
18142 2011-01-21  Eric Blake  <eblake@redhat.com>
18143
18144         strerror_r-posix: work with glibc 2.13
18145         * lib/strerror_r.c (strerror_r): Fix return type.
18146
18147 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18148             Bruno Haible  <bruno@clisp.org>
18149
18150         uN_strstr: New unit tests.
18151         * modules/unistr/u8-strstr-tests: New file.
18152         * modules/unistr/u16-strstr-tests: New file.
18153         * modules/unistr/u32-strstr-tests: New file.
18154         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
18155         * tests/unistr/test-u8-strstr.c: New file.
18156         * tests/unistr/test-u16-strstr.c: New file.
18157         * tests/unistr/test-u32-strstr.c: New file.
18158
18159 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18160             Bruno Haible  <bruno@clisp.org>
18161
18162         Make uN_strstr functions O(n) worst-case.
18163         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
18164         16-bit and 32-bit unit cases, use the unibyte algorithm from
18165         lib/mbsstr.c.
18166         * lib/unistr/u8-strstr.c: Include <string.h>.
18167         (UNIT_IS_UINT8_T): New macro.
18168         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
18169         (U_STRLEN, U_STRNLEN): New macros.
18170         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
18171         (U_STRLEN, U_STRNLEN): New macros.
18172         * modules/unistr/u8-strstr (Depends-on): Add strstr.
18173         (configure.ac): Update required libunistring version.
18174         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
18175         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
18176         malloca.
18177         (configure.ac): Update required libunistring version.
18178         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
18179         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
18180         malloca.
18181         (configure.ac): Update required libunistring version.
18182
18183 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18184             Bruno Haible  <bruno@clisp.org>
18185
18186         Prepare for faster uN_strstr functions.
18187         * lib/str-kmp.h: Support definable UNITs.
18188         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
18189         needle_len argument.
18190         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
18191         * lib/mbscasestr.c (mbscasestr): Likewise.
18192
18193 2011-01-21  Pádraig Brady <P@draigBrady.com>
18194
18195         malloca-tests: make faster by unsetting MALLOC_PERTURB_
18196         * tests/test-malloca.c (main): Unset the environment variable
18197         to greatly speed up the test.
18198         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
18199         * modules/malloca-tests: Depend on unsetenv.
18200
18201 2011-01-21  Pádraig Brady <P@draigBrady.com>
18202
18203         ignore-value: remove stdint dependency
18204         * lib/ignore-value.h: Remove <stdint.h>
18205         * modules/ignore-value: Remove stdint dependency.
18206
18207 2011-01-21  Jim Meyering  <meyering@redhat.com>
18208
18209         maint.mk: adjust variable name to be consistent with other gl_ vars
18210         * top/maint.mk (gl_public_submodule_commit): Rename the variable
18211         to be lower case.
18212
18213 2011-01-20  Jim Meyering  <meyering@redhat.com>
18214
18215         maint.mk: make "check" depend on public-submodule-commit by default
18216         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
18217
18218 2011-01-20  Bruno Haible  <bruno@clisp.org>
18219
18220         mbfile, mbiter: Complete change from 2008-12-21.
18221         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
18222         * m4/mbiter.m4 (gl_MBITER): Likewise.
18223
18224 2011-01-20  Jim Meyering  <meyering@redhat.com>
18225
18226         init.sh: insert space between each function name and "()"
18227         * tests/init.sh: Make it a little easier to see that a function's
18228         name is "warn_", and not "warn" when looking at the first part of
18229         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
18230
18231 2011-01-20  Jim Meyering  <meyering@redhat.com>
18232
18233         mountlist: clean up code formatting
18234         * lib/mountlist.c (read_file_system_list): Split a long line,
18235         correct bracing style, use NULL in place of "(struct statfs *)0",
18236         don't parenthesize return value, add spaces around "=" and after
18237         ";-in-for-stmt".
18238
18239 2011-01-14  Markus Duft <mduft@gentoo.org>
18240
18241         mountlist: add support for Interix
18242         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
18243         Apply statvfs to all entries of /dev/fs.
18244         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
18245         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
18246
18247 2011-01-20  Jim Meyering  <meyering@redhat.com>
18248
18249         maint.mk: improve the public-submodule-commit rule
18250         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
18251         to suppress printing of its commands... unless V=1.
18252         Add git submodule's --quiet option to suppress printing of e.g.,
18253         "Entering gnulib" output.
18254         "cd" into $(srcdir) before running git submodule.
18255
18256 2011-01-20  Bruno Haible  <bruno@clisp.org>
18257
18258         include_next: Fix bug introduced on 2011-01-18.
18259         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
18260         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
18261         ac_cv_header_... variable if the second argument is not 'check'.
18262         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
18263         gl_NEXT_HEADERS_INTERNAL.
18264
18265 2011-01-20  Bruno Haible  <bruno@clisp.org>
18266
18267         Allow the user to avoid the GNULIB_TEST_* macros.
18268         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
18269         Suggested by Paul Eggert.
18270
18271 2011-01-14  Jim Meyering  <meyering@redhat.com>
18272
18273         bootstrap: avoid failure when there is no .gitmodules file
18274         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
18275         has been assigned to, even when its value is the empty string.
18276         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
18277         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
18278         Reported by John W. Eaton <jwe@gnu.org>.
18279
18280 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
18281
18282         assume <ctype.h>, ..., <time.h> exist
18283         For years gnulib has been assuming the existence of the headers
18284         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
18285         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
18286         them, since they don't appear to be needed.
18287         * README (Portability guidelines): Document this.
18288         * lib/flock.c: Assume <fcntl.h> exists.
18289         * lib/regex_internal.h: Assume <locale.h> exists.
18290         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
18291         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
18292         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
18293         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
18294         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
18295         * m4/regex.m4 (gl_REGEX): Likewise.
18296         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
18297         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
18298         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
18299         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
18300         * tests/test-argp.c: Likewise.
18301         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
18302
18303         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
18304         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
18305         AA_APPLE_UNIVERSAL_BUILD.  See
18306         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
18307         * NEWS: Document this.
18308
18309 2011-01-19  Eric Blake  <eblake@redhat.com>
18310
18311         c-stack: assume stack overflow if SA_SIGINFO unsupported
18312         * lib/c-stack.c (SIGACTION_WORKS): Rename...
18313         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
18314         sigaction will work.
18315         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
18316         behavior match Linux.
18317         * tests/test-c-stack.c (main): Prefer NULL for pointers.
18318
18319         stdbool-tests: accomodate Haiku
18320         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
18321
18322         binary-io: fix O_TEXT on Haiku
18323         * modules/binary-io (Depends-on): Add fcntl-h.
18324         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
18325         than blindly undefining O_TEXT.
18326         Reported by Scott McCreary.
18327
18328 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18329
18330         include_next: do not check for standard headers like stddef.h
18331
18332         I found this problem when modifying Emacs to use gnulib.
18333         I noticed that it added HAVE_STDDEF_H to config.h, even though
18334         gnulib always assumes <stddef.h> exists as per README and this
18335         symbol is unnecessary.
18336         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
18337         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
18338         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
18339         faster for headers like stddef.h that are known to exist.
18340         (gl_CHECK_NEXT_HEADERS): Use it.
18341         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
18342         rather than gl_CHECK_NEXT_HEADERS.
18343         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
18344         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
18345
18346 2011-01-18  Eric Blake  <eblake@redhat.com>
18347
18348         ansi-c++-opt: skip C++ dependency style if C++ is unused
18349         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
18350         tests when we know C++ compilation is not desired.
18351         Reported by Scott McCreary.
18352
18353 2011-01-18  Bruno Haible  <bruno@clisp.org>
18354
18355         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
18356         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
18357         (main): Perform test also when getrlimit and setrlimit don't exist or
18358         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
18359         limiting the address space size using setrlimit, compare the address
18360         space size before and after the the test.
18361         * tests/test-dprintf-posix2.c: Likewise.
18362         * tests/test-fprintf-posix3.sh: Update skip messages.
18363         * tests/test-dprintf-posix2.sh: Likewise.
18364         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
18365         * modules/dprintf-posix-tests (Depends-on): Likewise.
18366         Reported by Bruce Korb <bkorb@gnu.org> and
18367         Gary V. Vaughan <gary@gnu.org>.
18368
18369 2011-01-18  Bruno Haible  <bruno@clisp.org>
18370
18371         get-rusage-as: Improvement for Cygwin.
18372         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
18373         areas that are merely reserved.
18374
18375 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18376
18377         strftime: remove dependencies on multibyte modules
18378
18379         strftime depended on mbrlen, mbsinit, and wchar, but these modules
18380         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
18381         only if __osf__ is defined, and I suspect OSF doesn't need these
18382         other modules.  If my guess is wrong, we'll need to come up with a
18383         variant of strftime that doesn't need the multibyte modules.
18384
18385         I discovered this problem when attempting modify Emacs to use the
18386         strftime module.  With the previous gnulib, this caused Emacs to
18387         need 31 new files, ranging from lib/config.charset to
18388         m4/wint_t.m4.  This was overkill and I expect would be offputting
18389         to the Emacs maintainers.  After this change, only 6 new files are
18390         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
18391         stdbool.m4, and tm_gmtoff.m4.
18392
18393         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
18394         Suggested by Bruno Haible in
18395         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
18396         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
18397         and do not check for wchar.h.
18398         * modules/strftime (Files): Remove m4/mbstate_t.m4.
18399         (Depends-on): Remove mbrlen, mbsinit, wchar.
18400
18401 2011-01-18  Bruno Haible  <bruno@clisp.org>
18402
18403         Tests for module 'get-rusage-as'.
18404         * modules/get-rusage-as-tests: New file.
18405         * tests/test-get-rusage-as.c: New file.
18406
18407         New module 'get-rusage-as'.
18408         * modules/get-rusage-as: New file.
18409         * lib/resource-ext.h: New file.
18410         * lib/get-rusage-as.c: New file.
18411
18412 2011-01-17  Eric Blake  <eblake@redhat.com>
18413
18414         sigaction: relax license from LGPLv3+ to LGPLv2+
18415         * modules/sigaction (License): Relax to LGPLv2+.
18416
18417 2011-01-14  Bruno Haible  <bruno@clisp.org>
18418
18419         filemode: Make function declarations usable in C++ mode.
18420         * lib/filemode.h: Enclose function declarations in extern "C" block.
18421         Reported by John W. Eaton <jwe@gnu.org>.
18422
18423 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
18424
18425         save-cwd: no longer include "xgetcwd.h"
18426         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
18427         This avoids a compilation failure in projects that use save-cwd
18428         without also using the xgetcwd module.
18429
18430 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18431
18432         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
18433         This is so that a program like Emacs, which needs only dtoastr,
18434         does not have to bother with distributing and compiling ftoastr
18435         and ldtoastr.
18436         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
18437         * modules/dtoastr, modules/ldtoastr: New files.
18438         * modules/ftoastr: Now works just for 'float'.
18439         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
18440         (Makefile.am): Remove ftoastr.h (not needed and no effect),
18441         dtoastr.c, ldtoastr.c.
18442
18443 2011-01-11  Jim Meyering  <meyering@redhat.com>
18444
18445         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
18446         There is no need to work around the lack of the fchdir function,
18447         since gnulib can now provide a replacement when required.
18448         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
18449         * modules/save-cwd (Depends-on): Add fchdir.
18450
18451 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18452
18453         openat, save-cwd: avoid xmalloc
18454
18455         This removes a direct (but undocumented) dependency of openat on
18456         xalloc, along with an indirect dependency via save-cwd.  It also
18457         removes a dependency of save-cwd on xgetcwd, and thereby
18458         indirectly on xalloc.  This change causes the openat substitute
18459         to fall back on save_cwd when memory is tight, and for save_cwd to
18460         fail instead of dying when memory is tight, but that's good enough.
18461         Problem and initial idea for fix reported by Bastien Roucaries in
18462         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
18463
18464         * lib/openat-proc.c: Include stdlib.h (for malloc), not
18465         xalloc.h (for xmalloc).
18466         (openat_proc_name): Use malloc, not xmalloc.
18467         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
18468         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
18469
18470         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
18471         This avoids heap allocation for file names whose lengths are in
18472         the range 512..1023, with the upper bound increasing to at most
18473         4031 depending on the platform's PATH_MAX.  (We do not want
18474         pathmax.h here as it might supply a non-constant PATH_MAX.)
18475         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
18476         Perhaps they should be moved to malloca.h?
18477         (OPENAT_BUFFER_SIZE): Use them.
18478
18479 2011-01-10  Bruno Haible  <bruno@clisp.org>
18480
18481         doc: Update users.txt.
18482         * users.txt: Add recutils.
18483
18484 2011-01-09  Karl Berry  <karl@gnu.org>
18485
18486         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
18487
18488         * doc/configmake.texi: New file.
18489         * doc/gnulib.texi: Include it.
18490         * modules/configmake: Move documentation from here.
18491
18492 2011-01-09  Bruno Haible  <bruno@clisp.org>
18493
18494         Update to Unicode 6.0.0.
18495         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
18496         (get_lbp): Update for Unicode 6.0.0.
18497         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
18498         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
18499         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
18500         U+11001, U+11038..U+11046. Remove U+06DE.
18501         (uc_width): Fix bounds of planes.
18502         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18503         lib/uniwidth/width.c.
18504         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
18505         trailing whitespace removed.
18506         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
18507         without comments, but with the original copyright notice.
18508         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
18509         * lib/unicase/ignorable.h: Likewise.
18510         * lib/unicase/tocasefold.h: Likewise.
18511         * lib/unicase/tolower.h: Likewise.
18512         * lib/unicase/totitle.h: Likewise.
18513         * lib/unicase/toupper.h: Likewise.
18514         * lib/unictype/bidi_of.h: Likewise.
18515         * lib/unictype/blocks.h: Likewise.
18516         * lib/unictype/categ_C.h: Likewise.
18517         * lib/unictype/categ_Cn.h: Likewise.
18518         * lib/unictype/categ_L.h: Likewise.
18519         * lib/unictype/categ_Ll.h: Likewise.
18520         * lib/unictype/categ_Lm.h: Likewise.
18521         * lib/unictype/categ_Lo.h: Likewise.
18522         * lib/unictype/categ_Lu.h: Likewise.
18523         * lib/unictype/categ_M.h: Likewise.
18524         * lib/unictype/categ_Mc.h: Likewise.
18525         * lib/unictype/categ_Me.h: Likewise.
18526         * lib/unictype/categ_Mn.h: Likewise.
18527         * lib/unictype/categ_N.h: Likewise.
18528         * lib/unictype/categ_Nd.h: Likewise.
18529         * lib/unictype/categ_No.h: Likewise.
18530         * lib/unictype/categ_P.h: Likewise.
18531         * lib/unictype/categ_Po.h: Likewise.
18532         * lib/unictype/categ_S.h: Likewise.
18533         * lib/unictype/categ_Sc.h: Likewise.
18534         * lib/unictype/categ_Sk.h: Likewise.
18535         * lib/unictype/categ_Sm.h: Likewise.
18536         * lib/unictype/categ_So.h: Likewise.
18537         * lib/unictype/categ_of.h: Likewise.
18538         * lib/unictype/combining.h: Likewise.
18539         * lib/unictype/ctype_alnum.h: Likewise.
18540         * lib/unictype/ctype_alpha.h: Likewise.
18541         * lib/unictype/ctype_graph.h: Likewise.
18542         * lib/unictype/ctype_lower.h: Likewise.
18543         * lib/unictype/ctype_print.h: Likewise.
18544         * lib/unictype/ctype_punct.h: Likewise.
18545         * lib/unictype/ctype_upper.h: Likewise.
18546         * lib/unictype/decdigit.h: Likewise.
18547         * lib/unictype/digit.h: Likewise.
18548         * lib/unictype/numeric.h: Likewise.
18549         * lib/unictype/pr_alphabetic.h: Likewise.
18550         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
18551         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
18552         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
18553         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
18554         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
18555         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
18556         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
18557         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
18558         * lib/unictype/pr_case_ignorable.h: Likewise.
18559         * lib/unictype/pr_cased.h: Likewise.
18560         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
18561         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
18562         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
18563         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
18564         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
18565         * lib/unictype/pr_combining.h: Likewise.
18566         * lib/unictype/pr_composite.h: Likewise.
18567         * lib/unictype/pr_currency_symbol.h: Likewise.
18568         * lib/unictype/pr_decimal_digit.h: Likewise.
18569         * lib/unictype/pr_deprecated.h: Likewise.
18570         * lib/unictype/pr_format_control.h: Likewise.
18571         * lib/unictype/pr_grapheme_base.h: Likewise.
18572         * lib/unictype/pr_grapheme_extend.h: Likewise.
18573         * lib/unictype/pr_grapheme_link.h: Likewise.
18574         * lib/unictype/pr_id_continue.h: Likewise.
18575         * lib/unictype/pr_id_start.h: Likewise.
18576         * lib/unictype/pr_ideographic.h: Likewise.
18577         * lib/unictype/pr_lowercase.h: Likewise.
18578         * lib/unictype/pr_math.h: Likewise.
18579         * lib/unictype/pr_numeric.h: Likewise.
18580         * lib/unictype/pr_other_alphabetic.h: Likewise.
18581         * lib/unictype/pr_other_id_continue.h: Likewise.
18582         * lib/unictype/pr_other_math.h: Likewise.
18583         * lib/unictype/pr_punctuation.h: Likewise.
18584         * lib/unictype/pr_sentence_terminal.h: Likewise.
18585         * lib/unictype/pr_terminal_punctuation.h: Likewise.
18586         * lib/unictype/pr_unassigned_code_value.h: Likewise.
18587         * lib/unictype/pr_unified_ideograph.h: Likewise.
18588         * lib/unictype/pr_uppercase.h: Likewise.
18589         * lib/unictype/pr_xid_continue.h: Likewise.
18590         * lib/unictype/pr_xid_start.h: Likewise.
18591         * lib/unictype/scripts.h: Likewise.
18592         * lib/unictype/scripts_byname.gperf: Likewise.
18593         * lib/unictype/sy_java_ident.h: Likewise.
18594         * lib/unigbrk/gbrkprop.h: Likewise.
18595         * lib/unilbrk/lbrkprop1.h: Likewise.
18596         * lib/unilbrk/lbrkprop2.h: Likewise.
18597         * lib/uninorm/decomposition-table2.h: Likewise.
18598         * lib/uniwbrk/wbrkprop.h: Likewise.
18599         * tests/unicase/test-cased.c: Likewise.
18600         * tests/unicase/test-ignorable.c: Likewise.
18601         * tests/unicase/test-uc_tolower.c: Likewise.
18602         * tests/unicase/test-uc_totitle.c: Likewise.
18603         * tests/unicase/test-uc_toupper.c: Likewise.
18604         * tests/unictype/test-categ_C.c: Likewise.
18605         * tests/unictype/test-categ_Cn.c: Likewise.
18606         * tests/unictype/test-categ_L.c: Likewise.
18607         * tests/unictype/test-categ_Ll.c: Likewise.
18608         * tests/unictype/test-categ_Lm.c: Likewise.
18609         * tests/unictype/test-categ_Lo.c: Likewise.
18610         * tests/unictype/test-categ_Lu.c: Likewise.
18611         * tests/unictype/test-categ_M.c: Likewise.
18612         * tests/unictype/test-categ_Mc.c: Likewise.
18613         * tests/unictype/test-categ_Me.c: Likewise.
18614         * tests/unictype/test-categ_Mn.c: Likewise.
18615         * tests/unictype/test-categ_N.c: Likewise.
18616         * tests/unictype/test-categ_Nd.c: Likewise.
18617         * tests/unictype/test-categ_No.c: Likewise.
18618         * tests/unictype/test-categ_P.c: Likewise.
18619         * tests/unictype/test-categ_Po.c: Likewise.
18620         * tests/unictype/test-categ_S.c: Likewise.
18621         * tests/unictype/test-categ_Sc.c: Likewise.
18622         * tests/unictype/test-categ_Sk.c: Likewise.
18623         * tests/unictype/test-categ_Sm.c: Likewise.
18624         * tests/unictype/test-categ_So.c: Likewise.
18625         * tests/unictype/test-ctype_alnum.c: Likewise.
18626         * tests/unictype/test-ctype_alpha.c: Likewise.
18627         * tests/unictype/test-ctype_graph.c: Likewise.
18628         * tests/unictype/test-ctype_lower.c: Likewise.
18629         * tests/unictype/test-ctype_print.c: Likewise.
18630         * tests/unictype/test-ctype_punct.c: Likewise.
18631         * tests/unictype/test-ctype_upper.c: Likewise.
18632         * tests/unictype/test-decdigit.h: Likewise.
18633         * tests/unictype/test-digit.h: Likewise.
18634         * tests/unictype/test-numeric.h: Likewise.
18635         * tests/unictype/test-pr_alphabetic.c: Likewise.
18636         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18637         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
18638         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
18639         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18640         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18641         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18642         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18643         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18644         * tests/unictype/test-pr_case_ignorable.c: Likewise.
18645         * tests/unictype/test-pr_cased.c: Likewise.
18646         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
18647         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
18648         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
18649         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
18650         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
18651         * tests/unictype/test-pr_combining.c: Likewise.
18652         * tests/unictype/test-pr_composite.c: Likewise.
18653         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18654         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18655         * tests/unictype/test-pr_deprecated.c: Likewise.
18656         * tests/unictype/test-pr_format_control.c: Likewise.
18657         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18658         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18659         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18660         * tests/unictype/test-pr_id_continue.c: Likewise.
18661         * tests/unictype/test-pr_id_start.c: Likewise.
18662         * tests/unictype/test-pr_ideographic.c: Likewise.
18663         * tests/unictype/test-pr_lowercase.c: Likewise.
18664         * tests/unictype/test-pr_math.c: Likewise.
18665         * tests/unictype/test-pr_numeric.c: Likewise.
18666         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18667         * tests/unictype/test-pr_other_id_continue.c: Likewise.
18668         * tests/unictype/test-pr_other_math.c: Likewise.
18669         * tests/unictype/test-pr_punctuation.c: Likewise.
18670         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18671         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18672         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18673         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18674         * tests/unictype/test-pr_uppercase.c: Likewise.
18675         * tests/unictype/test-pr_xid_continue.c: Likewise.
18676         * tests/unictype/test-pr_xid_start.c: Likewise.
18677         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
18678         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18679         changes.
18680         * lib/unictype/categ_Cc.h: Likewise.
18681         * lib/unictype/categ_Cf.h: Likewise.
18682         * lib/unictype/categ_Co.h: Likewise.
18683         * lib/unictype/categ_Cs.h: Likewise.
18684         * lib/unictype/categ_Lt.h: Likewise.
18685         * lib/unictype/categ_Nl.h: Likewise.
18686         * lib/unictype/categ_Pc.h: Likewise.
18687         * lib/unictype/categ_Pd.h: Likewise.
18688         * lib/unictype/categ_Pe.h: Likewise.
18689         * lib/unictype/categ_Pf.h: Likewise.
18690         * lib/unictype/categ_Pi.h: Likewise.
18691         * lib/unictype/categ_Ps.h: Likewise.
18692         * lib/unictype/categ_Z.h: Likewise.
18693         * lib/unictype/categ_Zl.h: Likewise.
18694         * lib/unictype/categ_Zp.h: Likewise.
18695         * lib/unictype/categ_Zs.h: Likewise.
18696         * lib/unictype/ctype_blank.h: Likewise.
18697         * lib/unictype/ctype_cntrl.h: Likewise.
18698         * lib/unictype/ctype_digit.h: Likewise.
18699         * lib/unictype/ctype_space.h: Likewise.
18700         * lib/unictype/ctype_xdigit.h: Likewise.
18701         * lib/unictype/mirror.h: Likewise.
18702         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18703         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18704         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18705         * lib/unictype/pr_bidi_control.h: Likewise.
18706         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18707         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18708         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18709         * lib/unictype/pr_bidi_pdf.h: Likewise.
18710         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18711         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18712         * lib/unictype/pr_dash.h: Likewise.
18713         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
18714         * lib/unictype/pr_diacritic.h: Likewise.
18715         * lib/unictype/pr_extender.h: Likewise.
18716         * lib/unictype/pr_hex_digit.h: Likewise.
18717         * lib/unictype/pr_hyphen.h: Likewise.
18718         * lib/unictype/pr_ids_binary_operator.h: Likewise.
18719         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
18720         * lib/unictype/pr_ignorable_control.h: Likewise.
18721         * lib/unictype/pr_iso_control.h: Likewise.
18722         * lib/unictype/pr_join_control.h: Likewise.
18723         * lib/unictype/pr_left_of_pair.h: Likewise.
18724         * lib/unictype/pr_line_separator.h: Likewise.
18725         * lib/unictype/pr_logical_order_exception.h: Likewise.
18726         * lib/unictype/pr_non_break.h: Likewise.
18727         * lib/unictype/pr_not_a_character.h: Likewise.
18728         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
18729         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
18730         * lib/unictype/pr_other_id_start.h: Likewise.
18731         * lib/unictype/pr_other_lowercase.h: Likewise.
18732         * lib/unictype/pr_other_uppercase.h: Likewise.
18733         * lib/unictype/pr_paired_punctuation.h: Likewise.
18734         * lib/unictype/pr_paragraph_separator.h: Likewise.
18735         * lib/unictype/pr_pattern_syntax.h: Likewise.
18736         * lib/unictype/pr_pattern_white_space.h: Likewise.
18737         * lib/unictype/pr_private_use.h: Likewise.
18738         * lib/unictype/pr_quotation_mark.h: Likewise.
18739         * lib/unictype/pr_radical.h: Likewise.
18740         * lib/unictype/pr_soft_dotted.h: Likewise.
18741         * lib/unictype/pr_space.h: Likewise.
18742         * lib/unictype/pr_titlecase.h: Likewise.
18743         * lib/unictype/pr_variation_selector.h: Likewise.
18744         * lib/unictype/pr_white_space.h: Likewise.
18745         * lib/unictype/pr_zero_width.h: Likewise.
18746         * lib/unictype/sy_c_ident.h: Likewise.
18747         * lib/unictype/sy_c_whitespace.h: Likewise.
18748         * lib/unictype/sy_java_whitespace.h: Likewise.
18749         * lib/uninorm/composition-table.gperf: Likewise.
18750         * lib/uninorm/decomposition-table1.h: Likewise.
18751         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
18752         LB8.
18753         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18754         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18755         * modules/unictype/*: Bump version number of expected libunistring
18756         version.
18757
18758 2011-01-09  Bruno Haible  <bruno@clisp.org>
18759
18760         Update to Unicode 5.2.0.
18761         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
18762         trailing whitespace removed.
18763
18764 2011-01-09  Bruno Haible  <bruno@clisp.org>
18765
18766         New Unicode character properties, from Unicode 5.2.0.
18767         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
18768         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
18769         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
18770         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
18771         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
18772         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
18773         uc_is_property_cased, uc_is_property_case_ignorable,
18774         uc_is_property_changes_when_lowercased,
18775         uc_is_property_changes_when_uppercased,
18776         uc_is_property_changes_when_titlecased,
18777         uc_is_property_changes_when_casefolded,
18778         uc_is_property_changes_when_casemapped): New declarations.
18779         * lib/unictype/pr_byname.gperf: Add the new properties.
18780         * modules/unictype/property-byname (Depends-on): Depend on the new
18781         properties modules.
18782         * modules/unictype/property-all (Depends-on): Likewise.
18783         * MODULES.html.sh (Unicode string functions): Add
18784         unictype/property-case-ignorable, unictype/property-cased,
18785         unictype/property-changes-when-casefolded,
18786         unictype/property-changes-when-casemapped,
18787         unictype/property-changes-when-lowercased,
18788         unictype/property-changes-when-titlecased,
18789         unictype/property-changes-when-uppercased.
18790
18791         New module 'unictype/property-changes-when-casemapped'.
18792         * modules/unictype/property-changes-when-casemapped: New file.
18793         * lib/unictype/pr_changes_when_casemapped.c: New file.
18794         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
18795         generated by gen-uni-tables.
18796         * modules/unictype/property-changes-when-casemapped-tests: New file.
18797         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
18798         automatically generated by gen-uni-tables.
18799
18800         New module 'unictype/property-changes-when-casefolded'.
18801         * modules/unictype/property-changes-when-casefolded: New file.
18802         * lib/unictype/pr_changes_when_casefolded.c: New file.
18803         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
18804         generated by gen-uni-tables.
18805         * modules/unictype/property-changes-when-casefolded-tests: New file.
18806         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
18807         automatically generated by gen-uni-tables.
18808
18809         New module 'unictype/property-changes-when-titlecased'.
18810         * modules/unictype/property-changes-when-titlecased: New file.
18811         * lib/unictype/pr_changes_when_titlecased.c: New file.
18812         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
18813         generated by gen-uni-tables.
18814         * modules/unictype/property-changes-when-titlecased-tests: New file.
18815         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
18816         automatically generated by gen-uni-tables.
18817
18818         New module 'unictype/property-changes-when-uppercased'.
18819         * modules/unictype/property-changes-when-uppercased: New file.
18820         * lib/unictype/pr_changes_when_uppercased.c: New file.
18821         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
18822         generated by gen-uni-tables.
18823         * modules/unictype/property-changes-when-uppercased-tests: New file.
18824         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
18825         automatically generated by gen-uni-tables.
18826
18827         New module 'unictype/property-changes-when-lowercased'.
18828         * modules/unictype/property-changes-when-lowercased: New file.
18829         * lib/unictype/pr_changes_when_lowercased.c: New file.
18830         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
18831         generated by gen-uni-tables.
18832         * modules/unictype/property-changes-when-lowercased-tests: New file.
18833         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
18834         automatically generated by gen-uni-tables.
18835
18836         New module 'unictype/property-case-ignorable'.
18837         * modules/unictype/property-case-ignorable: New file.
18838         * lib/unictype/pr_case_ignorable.c: New file.
18839         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
18840         by gen-uni-tables.
18841         * modules/unictype/property-case-ignorable-tests: New file.
18842         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
18843         generated by gen-uni-tables.
18844
18845         New module 'unictype/property-cased'.
18846         * modules/unictype/property-cased: New file.
18847         * lib/unictype/pr_cased.c: New file.
18848         * lib/unictype/pr_cased.h: New file, automatically generated by
18849         gen-uni-tables.
18850         * modules/unictype/property-cased-tests: New file.
18851         * tests/unictype/test-pr_cased.c: New file, automatically generated by
18852         gen-uni-tables.
18853
18854 2011-01-09  Bruno Haible  <bruno@clisp.org>
18855
18856         Update to Unicode 5.2.0.
18857         * lib/gen-uni-tables.c (output_predicate, output_category,
18858         output_combclass, output_bidi_category, output_decimal_digit_test,
18859         output_decimal_digit, output_digit_test, output_digit,
18860         output_numeric_test, output_numeric, output_mirror, output_scripts,
18861         output_scripts_byname, output_blocks, output_ident_category): Fix
18862         comment header.
18863         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
18864         get_wbp.
18865         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
18866         items.
18867         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
18868         Changes_When_Lowercased, Changes_When_Uppercased,
18869         Changes_When_Titlecased, Changes_When_Casefolded,
18870         Changes_When_Casemapped.
18871         (is_property_alphabetic, is_property_default_ignorable_code_point):
18872         Update for Unicode 5.2.0.
18873         (is_property_cased, is_property_case_ignorable,
18874         is_property_changes_when_lowercased,
18875         is_property_changes_when_uppercased,
18876         is_property_changes_when_titlecased,
18877         is_property_changes_when_casefolded,
18878         is_property_changes_when_casemapped): New functions.
18879         (output_properties): Output also the properties cased, case_ignorable,
18880         changes_when_lowercased, changes_when_uppercased,
18881         changes_when_titlecased, changes_when_casefolded,
18882         changes_when_casemapped.
18883         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
18884         Unicode TR#11 revision 17 -> 19.
18885         (LBP_CP): New enumeration value.
18886         (LBP_*): Adjust values accordingly.
18887         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18888         TR#14 revision 22 -> 24.
18889         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
18890         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
18891         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18892         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
18893         is_WBP_MIDLETTER.
18894         (output_composition_tables): Allow for 24 bits instead of 16 bits in
18895         the code1 and code2 of each composition rule.
18896         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
18897         * lib/unicase/ignorable.h: Likewise.
18898         * lib/unicase/tocasefold.h: Likewise.
18899         * lib/unicase/tolower.h: Likewise.
18900         * lib/unicase/totitle.h: Likewise.
18901         * lib/unicase/toupper.h: Likewise.
18902         * lib/unictype/bidi_of.h: Likewise.
18903         * lib/unictype/blocks.h: Likewise.
18904         * lib/unictype/categ_C.h: Likewise.
18905         * lib/unictype/categ_Cf.h: Likewise.
18906         * lib/unictype/categ_Cn.h: Likewise.
18907         * lib/unictype/categ_L.h: Likewise.
18908         * lib/unictype/categ_Ll.h: Likewise.
18909         * lib/unictype/categ_Lm.h: Likewise.
18910         * lib/unictype/categ_Lo.h: Likewise.
18911         * lib/unictype/categ_Lu.h: Likewise.
18912         * lib/unictype/categ_M.h: Likewise.
18913         * lib/unictype/categ_Mc.h: Likewise.
18914         * lib/unictype/categ_Mn.h: Likewise.
18915         * lib/unictype/categ_N.h: Likewise.
18916         * lib/unictype/categ_Nd.h: Likewise.
18917         * lib/unictype/categ_Nl.h: Likewise.
18918         * lib/unictype/categ_No.h: Likewise.
18919         * lib/unictype/categ_P.h: Likewise.
18920         * lib/unictype/categ_Pd.h: Likewise.
18921         * lib/unictype/categ_Po.h: Likewise.
18922         * lib/unictype/categ_S.h: Likewise.
18923         * lib/unictype/categ_Sc.h: Likewise.
18924         * lib/unictype/categ_So.h: Likewise.
18925         * lib/unictype/categ_of.h: Likewise.
18926         * lib/unictype/combining.h: Likewise.
18927         * lib/unictype/ctype_alnum.h: Likewise.
18928         * lib/unictype/ctype_alpha.h: Likewise.
18929         * lib/unictype/ctype_graph.h: Likewise.
18930         * lib/unictype/ctype_lower.h: Likewise.
18931         * lib/unictype/ctype_print.h: Likewise.
18932         * lib/unictype/ctype_punct.h: Likewise.
18933         * lib/unictype/ctype_upper.h: Likewise.
18934         * lib/unictype/decdigit.h: Likewise.
18935         * lib/unictype/digit.h: Likewise.
18936         * lib/unictype/numeric.h: Likewise.
18937         * lib/unictype/pr_alphabetic.h: Likewise.
18938         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
18939         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
18940         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18941         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
18942         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
18943         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
18944         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
18945         * lib/unictype/pr_combining.h: Likewise.
18946         * lib/unictype/pr_composite.h: Likewise.
18947         * lib/unictype/pr_currency_symbol.h: Likewise.
18948         * lib/unictype/pr_dash.h: Likewise.
18949         * lib/unictype/pr_decimal_digit.h: Likewise.
18950         * lib/unictype/pr_deprecated.h: Likewise.
18951         * lib/unictype/pr_diacritic.h: Likewise.
18952         * lib/unictype/pr_extender.h: Likewise.
18953         * lib/unictype/pr_grapheme_base.h: Likewise.
18954         * lib/unictype/pr_grapheme_extend.h: Likewise.
18955         * lib/unictype/pr_grapheme_link.h: Likewise.
18956         * lib/unictype/pr_id_continue.h: Likewise.
18957         * lib/unictype/pr_id_start.h: Likewise.
18958         * lib/unictype/pr_ideographic.h: Likewise.
18959         * lib/unictype/pr_ignorable_control.h: Likewise.
18960         * lib/unictype/pr_logical_order_exception.h: Likewise.
18961         * lib/unictype/pr_lowercase.h: Likewise.
18962         * lib/unictype/pr_numeric.h: Likewise.
18963         * lib/unictype/pr_other_alphabetic.h: Likewise.
18964         * lib/unictype/pr_punctuation.h: Likewise.
18965         * lib/unictype/pr_sentence_terminal.h: Likewise.
18966         * lib/unictype/pr_terminal_punctuation.h: Likewise.
18967         * lib/unictype/pr_unassigned_code_value.h: Likewise.
18968         * lib/unictype/pr_unified_ideograph.h: Likewise.
18969         * lib/unictype/pr_uppercase.h: Likewise.
18970         * lib/unictype/pr_xid_continue.h: Likewise.
18971         * lib/unictype/pr_xid_start.h: Likewise.
18972         * lib/unictype/pr_zero_width.h: Likewise.
18973         * lib/unictype/scripts.h: Likewise.
18974         * lib/unictype/scripts_byname.gperf: Likewise.
18975         * lib/unictype/sy_java_ident.h: Likewise.
18976         * lib/unigbrk/gbrkprop.h: Likewise.
18977         * lib/unilbrk/lbrkprop1.h: Likewise.
18978         * lib/unilbrk/lbrkprop2.h: Likewise.
18979         * lib/unilbrk/lbrktables.h: Likewise.
18980         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
18981         LBP_CP. Implement rule LB30.
18982         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
18983         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
18984         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
18985         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
18986         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
18987         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
18988         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
18989         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
18990         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
18991         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
18992         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
18993         bits instead of 16 bits in the code1 and code2 of each composition
18994         rule.
18995         (uc_composition): Update for Unicode 5.2.0.
18996         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
18997         * lib/uninorm/decomposition-table2.h: Likewise.
18998         * lib/uniwbrk/wbrkprop.h: Likewise.
18999         * tests/unicase/test-cased.c: Likewise.
19000         * tests/unicase/test-ignorable.c: Likewise.
19001         * tests/unicase/test-uc_tolower.c: Likewise.
19002         * tests/unicase/test-uc_totitle.c: Likewise.
19003         * tests/unicase/test-uc_toupper.c: Likewise.
19004         * tests/unictype/test-categ_C.c: Likewise.
19005         * tests/unictype/test-categ_Cf.c: Likewise.
19006         * tests/unictype/test-categ_Cn.c: Likewise.
19007         * tests/unictype/test-categ_L.c: Likewise.
19008         * tests/unictype/test-categ_Ll.c: Likewise.
19009         * tests/unictype/test-categ_Lm.c: Likewise.
19010         * tests/unictype/test-categ_Lo.c: Likewise.
19011         * tests/unictype/test-categ_Lu.c: Likewise.
19012         * tests/unictype/test-categ_M.c: Likewise.
19013         * tests/unictype/test-categ_Mc.c: Likewise.
19014         * tests/unictype/test-categ_Mn.c: Likewise.
19015         * tests/unictype/test-categ_N.c: Likewise.
19016         * tests/unictype/test-categ_Nd.c: Likewise.
19017         * tests/unictype/test-categ_Nl.c: Likewise.
19018         * tests/unictype/test-categ_No.c: Likewise.
19019         * tests/unictype/test-categ_P.c: Likewise.
19020         * tests/unictype/test-categ_Pd.c: Likewise.
19021         * tests/unictype/test-categ_Po.c: Likewise.
19022         * tests/unictype/test-categ_S.c: Likewise.
19023         * tests/unictype/test-categ_Sc.c: Likewise.
19024         * tests/unictype/test-categ_So.c: Likewise.
19025         * tests/unictype/test-ctype_alnum.c: Likewise.
19026         * tests/unictype/test-ctype_alpha.c: Likewise.
19027         * tests/unictype/test-ctype_graph.c: Likewise.
19028         * tests/unictype/test-ctype_lower.c: Likewise.
19029         * tests/unictype/test-ctype_print.c: Likewise.
19030         * tests/unictype/test-ctype_punct.c: Likewise.
19031         * tests/unictype/test-ctype_upper.c: Likewise.
19032         * tests/unictype/test-decdigit.h: Likewise.
19033         * tests/unictype/test-digit.h: Likewise.
19034         * tests/unictype/test-numeric.h: Likewise.
19035         * tests/unictype/test-pr_alphabetic.c: Likewise.
19036         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19037         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19038         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
19039         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19040         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19041         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19042         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19043         * tests/unictype/test-pr_combining.c: Likewise.
19044         * tests/unictype/test-pr_composite.c: Likewise.
19045         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19046         * tests/unictype/test-pr_dash.c: Likewise.
19047         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19048         * tests/unictype/test-pr_deprecated.c: Likewise.
19049         * tests/unictype/test-pr_diacritic.c: Likewise.
19050         * tests/unictype/test-pr_extender.c: Likewise.
19051         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19052         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19053         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19054         * tests/unictype/test-pr_id_continue.c: Likewise.
19055         * tests/unictype/test-pr_id_start.c: Likewise.
19056         * tests/unictype/test-pr_ideographic.c: Likewise.
19057         * tests/unictype/test-pr_ignorable_control.c: Likewise.
19058         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
19059         * tests/unictype/test-pr_lowercase.c: Likewise.
19060         * tests/unictype/test-pr_numeric.c: Likewise.
19061         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19062         * tests/unictype/test-pr_punctuation.c: Likewise.
19063         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19064         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19065         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19066         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19067         * tests/unictype/test-pr_uppercase.c: Likewise.
19068         * tests/unictype/test-pr_xid_continue.c: Likewise.
19069         * tests/unictype/test-pr_xid_start.c: Likewise.
19070         * tests/unictype/test-pr_zero_width.c: Likewise.
19071         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
19072         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
19073         changed behaviour: line breaking is now disallowed between a letter
19074         or '=' and '('.
19075         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19076         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19077         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
19078         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
19079         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19080         lib/uniwidth/width.c.
19081         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
19082         without comments, but with the original copyright notice.
19083         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
19084         changes.
19085         * lib/unictype/categ_Cc.h: Likewise.
19086         * lib/unictype/categ_Co.h: Likewise.
19087         * lib/unictype/categ_Cs.h: Likewise.
19088         * lib/unictype/categ_Lt.h: Likewise.
19089         * lib/unictype/categ_Me.h: Likewise.
19090         * lib/unictype/categ_Pc.h: Likewise.
19091         * lib/unictype/categ_Pe.h: Likewise.
19092         * lib/unictype/categ_Pf.h: Likewise.
19093         * lib/unictype/categ_Pi.h: Likewise.
19094         * lib/unictype/categ_Ps.h: Likewise.
19095         * lib/unictype/categ_Sk.h: Likewise.
19096         * lib/unictype/categ_Sm.h: Likewise.
19097         * lib/unictype/categ_Z.h: Likewise.
19098         * lib/unictype/categ_Zl.h: Likewise.
19099         * lib/unictype/categ_Zp.h: Likewise.
19100         * lib/unictype/categ_Zs.h: Likewise.
19101         * lib/unictype/ctype_blank.h: Likewise.
19102         * lib/unictype/ctype_cntrl.h: Likewise.
19103         * lib/unictype/ctype_digit.h: Likewise.
19104         * lib/unictype/ctype_space.h: Likewise.
19105         * lib/unictype/ctype_xdigit.h: Likewise.
19106         * lib/unictype/mirror.h: Likewise.
19107         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19108         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19109         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19110         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19111         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19112         * lib/unictype/pr_bidi_control.h: Likewise.
19113         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19114         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19115         * lib/unictype/pr_bidi_pdf.h: Likewise.
19116         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19117         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19118         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19119         * lib/unictype/pr_format_control.h: Likewise.
19120         * lib/unictype/pr_hex_digit.h: Likewise.
19121         * lib/unictype/pr_hyphen.h: Likewise.
19122         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19123         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19124         * lib/unictype/pr_iso_control.h: Likewise.
19125         * lib/unictype/pr_join_control.h: Likewise.
19126         * lib/unictype/pr_left_of_pair.h: Likewise.
19127         * lib/unictype/pr_line_separator.h: Likewise.
19128         * lib/unictype/pr_math.h: Likewise.
19129         * lib/unictype/pr_non_break.h: Likewise.
19130         * lib/unictype/pr_not_a_character.h: Likewise.
19131         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19132         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19133         * lib/unictype/pr_other_id_continue.h: Likewise.
19134         * lib/unictype/pr_other_id_start.h: Likewise.
19135         * lib/unictype/pr_other_lowercase.h: Likewise.
19136         * lib/unictype/pr_other_math.h: Likewise.
19137         * lib/unictype/pr_other_uppercase.h: Likewise.
19138         * lib/unictype/pr_paired_punctuation.h: Likewise.
19139         * lib/unictype/pr_paragraph_separator.h: Likewise.
19140         * lib/unictype/pr_pattern_syntax.h: Likewise.
19141         * lib/unictype/pr_pattern_white_space.h: Likewise.
19142         * lib/unictype/pr_private_use.h: Likewise.
19143         * lib/unictype/pr_quotation_mark.h: Likewise.
19144         * lib/unictype/pr_radical.h: Likewise.
19145         * lib/unictype/pr_soft_dotted.h: Likewise.
19146         * lib/unictype/pr_space.h: Likewise.
19147         * lib/unictype/pr_titlecase.h: Likewise.
19148         * lib/unictype/pr_variation_selector.h: Likewise.
19149         * lib/unictype/pr_white_space.h: Likewise.
19150         * lib/unictype/sy_c_ident.h: Likewise.
19151         * lib/unictype/sy_c_whitespace.h: Likewise.
19152         * lib/unictype/sy_java_whitespace.h: Likewise.
19153         * modules/uni*/*: Bump version number of expected libunistring version.
19154         Reported by Simon Josefsson.
19155
19156 2011-01-09  Karl Heuer  <kwzh@gnu.org>
19157
19158         useless-if-before-free: fix typo in --help and make the internal,
19159         automatic version date update process work once again.
19160         --help output contained a NUL character instead of the
19161         backslash-zero that was intended.  Also, the "must lie within
19162         the first 8 lines" line is on line 9, and hence not getting
19163         automatically updated.
19164         * build-aux/useless-if-before-free: Fix the former by adding a
19165         backslash, and the latter by condensing the three lines of what-it-does
19166         to a single line, leaving one line of slack for the future.
19167
19168 2011-01-09  Bruno Haible  <bruno@clisp.org>
19169
19170         uniwidth/width: Fix width of U+1D173..U+1D17A.
19171         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
19172         symbolic_width, output_width_property_test): New functions.
19173         (main): Invoke output_nonspacing_property, output_width_property_test.
19174         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
19175         U+1D173..U+1D17A.
19176         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
19177         1.
19178         * modules/uniwidth/*: Bump version number of expected libunistring
19179         version.
19180         * modules/unilbrk/*: Likewise.
19181
19182 2011-01-08  Bruno Haible  <bruno@clisp.org>
19183
19184         uninorm tests: Preserve copyright of Unicode data file.
19185         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
19186         Mention modifications.
19187
19188 2011-01-08  Bruno Haible  <bruno@clisp.org>
19189
19190         gen-uni-tables: Prepare for Unicode 5.2.0.
19191         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
19192         (debug_output_lbp, output_lbp): Update.
19193
19194 2011-01-08  Bruno Haible  <bruno@clisp.org>
19195
19196         unilbrk: Clarify gen-uni-tables.c code.
19197         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
19198         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
19199         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
19200
19201 2011-01-07  Bruno Haible  <bruno@clisp.org>
19202
19203         strtod: Restore errno when successfully parsing Infinity or NaN.
19204         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
19205         restore the original errno.
19206
19207 2011-01-07  Bruno Haible  <bruno@clisp.org>
19208
19209         remove test: Avoid failure on HP-UX 11.
19210         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
19211
19212 2011-01-07  Bruno Haible  <bruno@clisp.org>
19213
19214         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
19215         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
19216         error code.
19217
19218 2011-01-07  Pádraig Brady <P@draigBrady.com>
19219
19220         ignore-value: fixup comments, and add Eric Blake
19221         as an author since he rewrote the macros.
19222         * lib/ignore-value.h (ignore_value):  State that
19223         we now support aggregates.  Also specify exactly
19224         when the GCC warn_unused_result feature was added.
19225
19226 2011-01-06  Eric Blake  <eblake@redhat.com>
19227
19228         ignore-value: support aggregate types
19229         * lib/ignore-value.h (ignore_value): Provide separate gcc
19230         definition.
19231         * modules/ignore-value-tests: New test module.
19232         * tests/test-ignore-value.c: New test.
19233
19234         maint.mk: improve sc_prohibit_strcmp regex
19235         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
19236         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
19237         definition of STRNEQ.
19238
19239         signal: work around Haiku issue with SIGBUS
19240         * lib/siglist.h: Add comment.
19241         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
19242         strsignal's favoring of SIGSEGV.
19243         * tests/test-signal.c (main): Avoid test failure.
19244         * doc/posix-headers/signal.texi (signal.h): Document the issue.
19245         Reported by Scott McCreary.
19246
19247         maint.mk: add pre-release check to ensure submodule commits are public
19248         * top/maint.mk (public-submodule-commit): New rule.
19249         (submodule-checks): New variable.
19250         (alpha beta stable): Depend on the variable.
19251
19252 2011-01-05  Pádraig Brady <P@draigBrady.com>
19253         and Jim Meyering  <meyering@redhat.com>
19254
19255         ignore-value: make ignore_value more generic; deprecate ignore_ptr
19256         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
19257         (ATTRIBUTE_DEPRECATED): Define.
19258         (_ignore_case): New function.
19259         (ignore_value): New macro, to replace the old function.
19260         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
19261         * modules/ignore-value (Depends-on): Add stdint.
19262
19263 2011-01-04  Eric Blake  <eblake@redhat.com>
19264
19265         doc: regenerate INSTALL
19266         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
19267         @firstparagraphindent support, now that autoconf dropped it.
19268         (INSTALL_PRELUDE): Reinstate old macro.
19269         * doc/install.texi: Resync from autoconf.
19270         * doc/INSTALL: Reflect recent autoconf update.
19271         * doc/INSTALL.ISO: Likewise.
19272         * doc/INSTALL.UTF-8: Likewise.
19273         Reported by Karl Berry.
19274
19275 2011-01-04  Bruce Korb  <address@hidden>
19276
19277         git-version-gen: avoid a sub-shell
19278         * build-aux/git-version-gen: Redirect stderr in `...` via
19279         "exec 2>...", rather than via an added sub-shell.
19280
19281 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
19282
19283         git-version-gen: use (...) rather than sh -c '...'
19284         * build-aux/git-version-gen: Rather than hard-coding a shell's name
19285         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
19286
19287 2011-01-03  Jim Meyering  <meyering@redhat.com>
19288
19289         git-version-gen: convert leading TABs to spaces
19290         * build-aux/git-version-gen: Expand leading TABs.
19291
19292         git-version-gen: handle failed "git rev-list"
19293         * build-aux/git-version-gen: Rather than leaking a "fatal" error
19294         from git and proceeding as if it had succeeded but printed no SHA1
19295         checksums, suppress the diagnostic and handle the failure.
19296         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
19297
19298         git-version-gen: include command name in one more diagnostic
19299         * build-aux/git-version-gen: When the required .tarball-version file
19300         was missing or unreadable, you might see the diagnostic from "cat",
19301         but no trace of the name of the invoking script.  Now, you still see
19302         the diagnostic from cat, but also get one from "git-version-gen: ".
19303         Inspired by a patch from Bruce Korb.
19304
19305         update-copyright: adjust test to match changed code
19306         * tests/test-update-copyright.sh: Change test's expected output
19307         to match new actual output.
19308
19309 2011-01-02  Bruno Haible  <bruno@clisp.org>
19310
19311         getlogin_r: Avoid test failure on HP-UX 11.
19312         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
19313         ERANGE when the second argument is zero.
19314         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
19315         portability problem.
19316
19317 2011-01-02  Bruce Korb  <bkorb@gnu.org>
19318
19319         * build-aux/update-copyright: doc Simon's changes
19320
19321 2011-01-02  Simon Josefsson  <simon@josefsson.org>
19322
19323         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
19324         environment variable.
19325
19326 2011-01-02  Bruno Haible  <bruno@clisp.org>
19327
19328         unigbrk: Avoid gcc warnings.
19329         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
19330         unused variable.
19331         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
19332         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
19333         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
19334         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
19335         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
19336         Change type of first argument to 'const char *'.
19337         (main): Remove unused variable.
19338         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
19339         type of first argument to 'const char *'.
19340         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
19341         Likewise.
19342         (main): Change type of variable 's'.
19343         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
19344         to 'int'.
19345
19346 2011-01-02  Bruno Haible  <bruno@clisp.org>
19347
19348         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
19349         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
19350         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
19351         bug.
19352         * lib/pwrite.c: Undo 2010-12-31 patch.
19353         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
19354
19355 2011-01-02  Bruno Haible  <bruno@clisp.org>
19356
19357         pread: Fix test whether it works.
19358         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
19359
19360 2011-01-02  Bruno Haible  <bruno@clisp.org>
19361
19362         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
19363         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
19364         ends in "6". Don't require a specific month name. Try also the locale
19365         names found on HP-UX 11 and Solaris 7.
19366
19367 2011-01-02  Bruno Haible  <bruno@clisp.org>
19368
19369         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
19370         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
19371         C linkage.
19372         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
19373
19374 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19375
19376         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
19377         for consistency, since the "cluster" term is not used elsewhere.
19378         * lib/unigbrk.in.h: Update name.
19379         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
19380         * lib/unigbrk/u16-grapheme-next.c: Update name.
19381         * lib/unigbrk/u16-grapheme-prev.c: Update name.
19382         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
19383         * lib/unigbrk/u32-grapheme-next.c: Update name.
19384         * lib/unigbrk/u32-grapheme-prev.c: Update name.
19385         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
19386         * lib/unigbrk/u8-grapheme-next.c: Update name.
19387         * lib/unigbrk/u8-grapheme-prev.c: Update name.
19388         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
19389         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
19390         Suggested by Bruno Haible.
19391
19392 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19393
19394         Remove module 'u8-grapheme-len' as too redundant with
19395         'u8-grapheme-next'.
19396         * modules/unigbrk/u8-grapheme-len: Delete file.
19397         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
19398         * lib/unigbrk.in.h: Remove prototype for deleted function.
19399         * lib/unigbrk/u8-grapheme-len.c: Delete file.
19400         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
19401
19402         Remove module 'u16-grapheme-len' as too redundant with
19403         'u16-grapheme-next'.
19404         * modules/unigbrk/u16-grapheme-len: Delete file.
19405         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
19406         * lib/unigbrk.in.h: Remove prototype for deleted function.
19407         * lib/unigbrk/u16-grapheme-len.c: Delete file.
19408         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
19409
19410         Remove module 'u32-grapheme-len' as too redundant with
19411         'u32-grapheme-next'.
19412         * modules/unigbrk/u32-grapheme-len: Delete file.
19413         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
19414         * lib/unigbrk.in.h: Remove prototype for deleted function.
19415         * lib/unigbrk/u32-grapheme-len.c: Delete file.
19416         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
19417
19418         Suggested by Bruno Haible.
19419
19420 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19421
19422         * unigbrk.in.h: Fix typo: "ben" => "been".
19423         Reported by Bruno Haible.
19424
19425 2011-01-01  Jim Meyering  <meyering@redhat.com>
19426
19427         maint: update almost all copyright ranges to include 2011
19428         Run the new "make update-copyright" rule.
19429
19430 2011-01-01  Jim Meyering  <meyering@redhat.com>
19431
19432         maint: update-copyright: exempt doc/INSTALL*
19433         * Makefile (update-copyright): Also exclude doc/INSTALL*,
19434         since they are generated.  Suggested by Bruno Haible.
19435
19436 2011-01-01  Jim Meyering  <meyering@redhat.com>
19437
19438         maint: refine the update-copyright rule
19439         * Makefile (update-copyright): Also exclude any file that includes
19440         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
19441         code that merely generates the comment.
19442
19443 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
19444
19445         New module 'u8-grapheme-len'.
19446         * modules/unigbrk/u8-grapheme-len: New file.
19447         * modules/unigbrk/u8-grapheme-len-tests: New file.
19448         * lib/unigbrk.in.h: Add prototype for new function.
19449         * lib/unigbrk/u8-grapheme-len.c: New file.
19450         * tests/unigbrk/test-u8-grapheme-len.c: New file.
19451
19452         New module 'u16-grapheme-len'.
19453         * modules/unigbrk/u16-grapheme-len: New file.
19454         * modules/unigbrk/u16-grapheme-len-tests: New file.
19455         * lib/unigbrk.in.h: Add prototype for new function.
19456         * lib/unigbrk/u16-grapheme-len.c: New file.
19457         * tests/unigbrk/test-u16-grapheme-len.c: New file.
19458
19459         New module 'u32-grapheme-len'.
19460         * modules/unigbrk/u32-grapheme-len: New file.
19461         * modules/unigbrk/u32-grapheme-len-tests: New file.
19462         * lib/unigbrk.in.h: Add prototype for new function.
19463         * lib/unigbrk/u32-grapheme-len.c: New file.
19464         * tests/unigbrk/test-u32-grapheme-len.c: New file.
19465
19466         New module 'u8-grapheme-next'.
19467         * modules/unigbrk/u8-grapheme-next: New file.
19468         * modules/unigbrk/u8-grapheme-next-tests: New file.
19469         * lib/unigbrk.in.h: Add prototype for new function.
19470         * lib/unigbrk/u8-grapheme-next.c: New file.
19471         * tests/unigbrk/test-u8-grapheme-next.c: New file.
19472
19473         New module 'u16-grapheme-next'.
19474         * modules/unigbrk/u16-grapheme-next: New file.
19475         * modules/unigbrk/u16-grapheme-next-tests: New file.
19476         * lib/unigbrk.in.h: Add prototype for new function.
19477         * lib/unigbrk/u16-grapheme-next.c: New file.
19478         * tests/unigbrk/test-u16-grapheme-next.c: New file.
19479
19480         New module 'u32-grapheme-next'.
19481         * modules/unigbrk/u32-grapheme-next: New file.
19482         * modules/unigbrk/u32-grapheme-next-tests: New file.
19483         * lib/unigbrk.in.h: Add prototype for new function.
19484         * lib/unigbrk/u32-grapheme-next.c: New file.
19485         * tests/unigbrk/test-u32-grapheme-next.c: New file.
19486
19487         New module 'u8-grapheme-prev'.
19488         * modules/unigbrk/u8-grapheme-prev: New file.
19489         * modules/unigbrk/u8-grapheme-prev-tests: New file.
19490         * lib/unigbrk.in.h: Add prototype for new function.
19491         * lib/unigbrk/u8-grapheme-prev.c: New file.
19492         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
19493
19494         New module 'u16-grapheme-prev'.
19495         * modules/unigbrk/u16-grapheme-prev: New file.
19496         * modules/unigbrk/u16-grapheme-prev-tests: New file.
19497         * lib/unigbrk.in.h: Add prototype for new function.
19498         * lib/unigbrk/u16-grapheme-prev.c: New file.
19499         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
19500
19501         New module 'u32-grapheme-prev'.
19502         * modules/unigbrk/u32-grapheme-prev: New file.
19503         * modules/unigbrk/u32-grapheme-prev-tests: New file.
19504         * lib/unigbrk.in.h: Add prototype for new function.
19505         * lib/unigbrk/u32-grapheme-prev.c: New file.
19506         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
19507
19508         New module 'u8-grapheme-breaks'.
19509         * modules/unigbrk/u8-grapheme-breaks: New file.
19510         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
19511         * lib/unigbrk.in.h: Add prototype for new function.
19512         * lib/unigbrk/u8-grapheme-breaks.c: New file.
19513         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
19514
19515         New module 'u16-grapheme-breaks'.
19516         * modules/unigbrk/u16-grapheme-breaks: New file.
19517         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
19518         * lib/unigbrk.in.h: Add prototype for new function.
19519         * lib/unigbrk/u16-grapheme-breaks.c: New file.
19520         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
19521
19522         New module 'u32-grapheme-breaks'.
19523         * modules/unigbrk/u32-grapheme-breaks: New file.
19524         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
19525         * lib/unigbrk.in.h: Add prototype for new function.
19526         * lib/unigbrk/u32-grapheme-breaks.c: New file.
19527         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
19528
19529         New module 'ulc-grapheme-breaks'.
19530         * modules/unigbrk/ulc-grapheme-breaks: New file.
19531         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
19532         * m4/locale-ar.m4: New file.
19533         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
19534         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
19535         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
19536
19537 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
19538
19539         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
19540         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
19541         modified how this file was generated before I initially submitted
19542         the module, but failed to regenerate it.  This meant that several
19543         of the level2 entries were wrong.
19544         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
19545         Remove the division-by-2 that is folded into the table now that
19546         gbrkprop.h has been regenerated properly.  Now -1 entries are
19547         handled correctly.
19548
19549         New module 'unigbrk/uc-gbrk-prop-tests'.
19550         * modules/unigbrk/uc-gbrk-prop-tests: New file.
19551         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
19552         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
19553         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
19554
19555 2011-01-01  Bruno Haible  <bruno@clisp.org>
19556
19557         Avoid use of hexadecimal escapes.
19558         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
19559         instead of hexadecimal escapes.
19560
19561 2011-01-01  Jim Meyering  <meyering@redhat.com>
19562
19563         maint: new rule to update copyright year ranges
19564         * Makefile (update-copyright): New rule.
19565
19566         maint: indent with TABs in Makefile
19567         * Makefile: Expand leading sequences of spaces to TABs
19568
19569         version-etc: update the copyright year it reports
19570         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
19571
19572 2010-12-31  Bruno Haible  <bruno@clisp.org>
19573
19574         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
19575         * lib/isfinite.c (zerof, zerod, zerol): New variables.
19576         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
19577         zero.
19578
19579 2010-12-31  Bruno Haible  <bruno@clisp.org>
19580
19581         pwrite: Work around HP-UX 11.11 bug.
19582         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
19583         works and set REPLACE_PWRITE if not.
19584         * lib/pwrite.c (pwrite): Add an implementation that uses the system
19585         function.
19586         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
19587
19588 2010-12-31  Bruno Haible  <bruno@clisp.org>
19589
19590         pread: Work around HP-UX 11 bugs.
19591         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
19592         and set REPLACE_PREAD if not.
19593         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
19594
19595 2010-12-31  Eric Blake  <eblake@redhat.com>
19596
19597         nl_langinfo: fix YESEXPR on Irix 6.5
19598         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
19599         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
19600         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
19601         it.
19602
19603 2010-12-31  Bruno Haible  <bruno@clisp.org>
19604
19605         iconv: Document HP-UX 11 bug.
19606         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
19607
19608 2010-12-31  Bruno Haible  <bruno@clisp.org>
19609
19610         ldexpl: Fix link error on HP-UX 11.
19611         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
19612         LDEXPL_LIBM, using $ISNANL_LIBM.
19613
19614 2010-12-31  Eric Blake  <eblake@redhat.com>
19615
19616         ftello: avoid compilation failure with SunStudio c89
19617         * lib/ftello.c (ftello): Use lseek, not llseek.
19618
19619         tests: avoid failing coreutils tests on cygwin
19620         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
19621         (create_exe_shims_): Return 0 when skipping.
19622
19623 2010-12-31  Bruno Haible  <bruno@clisp.org>
19624
19625         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
19626         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
19627
19628 2010-12-31  Bruno Haible  <bruno@clisp.org>
19629
19630         waitpid: Fix link error in C++ mode.
19631         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
19632
19633 2010-12-31  Bruno Haible  <bruno@clisp.org>
19634
19635         isnan: Use GCC built-ins when possible.
19636         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
19637         __builtin_isnan.
19638         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
19639         (isnan): Define using GCC built-ins for GCC >= 4.0.
19640
19641 2010-12-31  Bruno Haible  <bruno@clisp.org>
19642
19643         isnand: Fix mistake.
19644         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
19645         __builtin_isnand.
19646
19647 2010-12-31  Bruno Haible  <bruno@clisp.org>
19648
19649         open: Avoid C++ error on HP-UX 11.
19650         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
19651
19652 2010-12-31  Bruno Haible  <bruno@clisp.org>
19653
19654         time_r: Add missing declarations on HP-UX 11.
19655         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
19656         instead of HAVE_LOCALTIME_R.
19657         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
19658         HAVE_LOCALTIME_R always.
19659         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
19660         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
19661         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
19662         HAVE_LOCALTIME_R.
19663         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
19664         * doc/posix-functions/localtime_r.texi: Likewise.
19665
19666 2010-12-29  Eric Blake  <eblake@redhat.com>
19667
19668         mountlist: tweak previous commit
19669         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
19670         Reported by Paul Eggert.
19671
19672         mountlist: fix local drive detection on cygwin
19673         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
19674         that works for cygwin.
19675
19676 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19677
19678         ftoastr, snprintf: ftoastr + snprintf module
19679         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
19680         since the snprintf module now should be good enough here.
19681         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
19682         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
19683         and gl_MODULE_INDICATOR([snprintf]), but the former enables
19684         GNULIB_SNPRINTF only for the test directory, and the latter
19685         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
19686         seems to suffice by itself.
19687
19688 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
19689
19690         alloca: one step towards thread-safety
19691         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
19692         need for a static variable.  All callers changed.  This does not
19693         make the alloca replacement thread-safe, but it's one step.
19694
19695         tests: minor indenting change
19696         * tests/init.sh: Sync from coreutils housekeeping patch
19697         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
19698         to keep lines within 80 columns.
19699
19700 2010-12-28  Jim Meyering  <meyering@redhat.com>
19701
19702         regex: don't infloop on persistent failing calloc
19703         * lib/regexec.c (build_trtable): Return failure indication upon
19704         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
19705         In glibc, this was fixed for version 2.13:
19706         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
19707
19708 2010-12-28  Bruno Haible  <bruno@clisp.org>
19709             Paul Eggert <eggert@cs.ucla.edu>
19710
19711         linkat: Make implementation robust against system behaviour variations.
19712         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
19713         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
19714         way, and to -2 if it needs a generic runtime test.
19715         * lib/linkat.c (solaris_optimized_link_immediate,
19716         solaris_optimized_link_follow): New functions.
19717         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
19718         (check_same_link): Use it.
19719
19720 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
19721
19722         New module 'unigbrk/base'.
19723         * modules/unigbrk/base: New file.
19724         * lib/unigbrk.in.h: New file.
19725
19726         New module 'unigbrk/uc-gbrk-prop'.
19727         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
19728         * modules/unigbrk/uc-gbrk-prop: New file.
19729         * lib/unigbrk/gbrkprop.h: New file.
19730         * lib/unigbrk/uc-gbrk-prop.c: New file.
19731
19732         New module 'unigbrk/uc-is-grapheme-break'.
19733         * modules/unigbrk/uc-is-grapheme-break: New file.
19734         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
19735         * lib/unigbrk/uc-is-grapheme-break.c: New file.
19736         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
19737         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
19738         * tests/unigbrk/GraphemeBreakTest.txt: New file.
19739
19740         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
19741
19742 2010-12-27  Bruno Haible  <bruno@clisp.org>
19743
19744         linkat test: Avoid failure on Solaris 11 2010-11.
19745         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
19746
19747 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19748
19749         utimens: work around glibc rounding bug on more platforms
19750         * lib/utimens.c (fdutimens): Work around rounding bug even if
19751         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
19752         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
19753
19754 2010-12-27  Bruno Haible  <bruno@clisp.org>
19755
19756         select tests: Improve comments.
19757         * tests/test-select.c (do_select): Add comments.
19758
19759 2010-12-27  Bruno Haible  <bruno@clisp.org>
19760
19761         select tests: Safer way of handling timeout.
19762         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
19763         at every invocation.
19764
19765 2010-12-27  Bruno Haible  <bruno@clisp.org>
19766
19767         select tests: Use 'bool' where appropriate.
19768         * tests/test-select.c (connect_to_socket): Change argument type to
19769         'bool'.
19770
19771 2010-12-27  Bruno Haible  <bruno@clisp.org>
19772
19773         select tests: Use existing modules.
19774         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
19775         (configure.ac): Don't test for unistd.h.
19776         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
19777         declared in <unistd.h>.
19778
19779 2010-12-27  Bruno Haible  <bruno@clisp.org>
19780
19781         mbrtowc: Work around a Solaris 7 bug.
19782         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
19783         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
19784         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
19785         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
19786         MBRTOWC_NULL_ARG1_BUG.
19787         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
19788         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
19789         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
19790         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
19791
19792 2010-12-27  Jim Meyering  <meyering@redhat.com>
19793
19794         read-file.c: tweak syntax
19795         * lib/read-file.c (fread_file): Remove space after "*" in function
19796         definitions.
19797
19798 2010-12-27  Bruno Haible  <bruno@clisp.org>
19799
19800         times test: Avoid gcc warnings on OSF/1.
19801         * tests/test-times.c (main): Cast printf arguments from clock_t to
19802         'long int'.
19803
19804 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19805
19806         utimens: work around glibc rounding bug on older Linux kernels
19807         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
19808         on Linux with a glibc whose utimes might not work, then work
19809         around a longstanding glibc bug involving rounding rather than
19810         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
19811         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19812
19813 2010-12-26  Bruno Haible  <bruno@clisp.org>
19814
19815         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
19816         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
19817         _GL_CXXALIAS_SYS.
19818         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19819
19820 2010-12-26  Bruno Haible  <bruno@clisp.org>
19821
19822         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
19823         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
19824         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
19825         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
19826         looking for the declaration.
19827         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
19828         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
19829         problem.
19830         * doc/posix-functions/inet_pton.texi: Likewise.
19831
19832 2010-12-26  Bruno Haible  <bruno@clisp.org>
19833
19834         arpa_inet: Use the common idioms with C++ support.
19835         * lib/arpa_inet.in.h: Include c++defs.h.
19836         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
19837         support.
19838         * modules/arpa_inet (Depends-on): Add c++defs.
19839         (Makefile.am): Substitute the contents of c++defs.h.
19840         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
19841         * modules/arpa_inet-c++-tests: New file.
19842         * tests/test-arpa_inet-c++.cc: New file.
19843
19844 2010-12-25  Bruno Haible  <bruno@clisp.org>
19845
19846         Fix more C++ link errors on Solaris 8.
19847         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
19848         $(LIB_EACCESS).
19849         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
19850         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
19851         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
19852         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
19853         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
19854
19855 2010-12-25  Bruno Haible  <bruno@clisp.org>
19856
19857         printf-posix: Fix link error when a non-GCC compiler is used.
19858         * lib/stdio.in.h (printf): When not using GCC, override printf
19859         correctly.
19860         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19861
19862 2010-12-25  Bruno Haible  <bruno@clisp.org>
19863
19864         strerror_r-posix: Update doc.
19865         * doc/posix-functions/strerror_r.texi: Update doc about the return
19866         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
19867
19868 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
19869
19870         utimens: simplify the logic of the previous change
19871         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
19872         This should not affect whether the test succeeds or fails.
19873
19874         utimens: configure better on hosts with NFS clock skew
19875         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
19876         uses the clock of the local host.  It might use the clock of the
19877         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
19878         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19879
19880 2010-12-25  Bruno Haible  <bruno@clisp.org>
19881
19882         ptsname test: Avoid failure on Solaris.
19883         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
19884         open a pseudo-terminal; don't use BSD-style ptys.
19885         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
19886
19887 2010-12-25  Bruno Haible  <bruno@clisp.org>
19888
19889         ptsname: Avoid ERANGE failure on some systems.
19890         * lib/ptsname.c (buffer): Increase size.
19891
19892 2010-12-25  Bruno Haible  <bruno@clisp.org>
19893
19894         rename, renameat: Avoid test failures at NFS mounted locations.
19895         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
19896         so that subsequent mkdir calls succeed.
19897
19898 2010-12-25  Bruno Haible  <bruno@clisp.org>
19899
19900         iswblank: Fix C++ link error on Solaris 8.
19901         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
19902         _GL_FUNCDECL_SYS.
19903
19904 2010-12-25  Bruno Haible  <bruno@clisp.org>
19905
19906         unistd: Fix C++ link error on Solaris 8.
19907         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
19908
19909 2010-12-25  Bruno Haible  <bruno@clisp.org>
19910
19911         readlink doc: Mention an old glibc bug.
19912         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
19913
19914 2010-12-25  Bruno Haible  <bruno@clisp.org>
19915
19916         fcntl-h: Fix for use of C++ on glibc systems.
19917         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
19918         also on glibc systems in C++ mode.
19919         Reported by Gary V. Vaughan <gary@gnu.org>.
19920
19921 2010-12-25  Bruno Haible  <bruno@clisp.org>
19922
19923         roundl-ieee: Make it work on OSF/1 5.1 with cc.
19924         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
19925
19926 2010-12-25  Bruno Haible  <bruno@clisp.org>
19927
19928         truncl-ieee: Make it work on OSF/1 5.1 with cc.
19929         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
19930         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
19931         test whether truncl works according to ISO C 99 with IEC 60559.
19932         * m4/truncl-ieee.m4: New file.
19933         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
19934         m4/signbit.m4.
19935         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
19936
19937 2010-12-25  Bruno Haible  <bruno@clisp.org>
19938
19939         ceill-ieee: Make it work on OSF/1 5.1 with cc.
19940         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
19941         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
19942         test whether ceill works according to ISO C 99 with IEC 60559.
19943         * m4/ceill-ieee.m4: New file.
19944         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
19945         m4/signbit.m4.
19946         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
19947
19948 2010-12-25  Bruno Haible  <bruno@clisp.org>
19949
19950         Ensure all prerequisites of <wchar.h> are included.
19951         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
19952         before <wchar.h>.
19953         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
19954         gl_MBRLEN_NUL_RETVAL): Likewise.
19955         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
19956         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
19957         AC_FUNC_MBRTOWC): Likewise.
19958         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
19959         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
19960         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
19961         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
19962         Likewise.
19963         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
19964         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
19965         (gl_WCHAR_H): Improve comments.
19966         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19967
19968 2010-12-25  Bruno Haible  <bruno@clisp.org>
19969
19970         strtok_r: Fix C syntax error in autoconf macro.
19971         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
19972         characters in test program.
19973
19974 2010-12-24  Bruno Haible  <bruno@clisp.org>
19975
19976         ceil, trunc, round: Fix gcc warnings.
19977         * lib/ceil.c (MIN): Undefine before redefining.
19978         * lib/trunc.c (MIN): Likewise.
19979         * lib/round.c (MIN): Likewise.
19980         Include <math.h> first.
19981
19982 2010-12-24  Bruno Haible  <bruno@clisp.org>
19983
19984         select tests: Avoid failures on OSF/1 5.1.
19985         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
19986         failure of closing the last socket; it may fail with ECONNRESET.
19987
19988 2010-12-24  Eric Blake  <eblake@redhat.com>
19989
19990         stdint: avoid HP-UX 10.20 preprocessor bug
19991         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
19992         than #if.
19993         * tests/test-floor2.c (main): Likewise.
19994         Reported by Peter O'Gorman.
19995
19996         pipe: make obsoletion transition easier
19997         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
19998         * modules/pipe (Files): Include revived file.
19999         (Include): Drop reference, to mirror getdate's behavior.
20000
20001 2010-12-24  Bruno Haible  <bruno@clisp.org>
20002
20003         sys_socket: Hide mismatch of declarations on NonStop Kernel.
20004         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
20005         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
20006         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20007
20008 2010-12-24  Bruno Haible  <bruno@clisp.org>
20009
20010         gethostname: Ensure declaration on NonStop Kernel.
20011         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
20012         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20013
20014 2010-12-24  Bruno Haible  <bruno@clisp.org>
20015
20016         sys_select: Ensure all necessary types on NonStop Kernel.
20017         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
20018         include <sys/time.h>.
20019         * doc/posix-headers/sys_select.texi: Mention that it's missing on
20020         NonStop Kernel.
20021         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20022
20023 2010-12-24  Bruno Haible  <bruno@clisp.org>
20024
20025         sys_select: Remove unneeded include.
20026         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
20027         have <sys/select.h>.
20028
20029 2010-12-24  Bruno Haible  <bruno@clisp.org>
20030
20031         gethostname: Provide a fallback for HOST_NAME_MAX.
20032         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
20033         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
20034         instead.
20035         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20036
20037 2010-12-24  Bruno Haible  <bruno@clisp.org>
20038
20039         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
20040         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
20041         (SA_RESTART): Likewise.
20042         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20043
20044 2010-12-24  Bruno Haible  <bruno@clisp.org>
20045
20046         signal: Define NSIG.
20047         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
20048         * tests/test-signal.c (nsig): New variable.
20049         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20050
20051 2010-12-24  Bruno Haible  <bruno@clisp.org>
20052
20053         rename, renameat: Avoid test failures on OSF/1 5.1.
20054         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
20055         alternative error codes.
20056         * tests/test-renameat.c (main): Likewise.
20057
20058 2010-12-24  Bruno Haible  <bruno@clisp.org>
20059
20060         *printf: Detect large precisions bug on Solaris 10/SPARC.
20061         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
20062         by Paul Eggert.
20063         * tests/test-snprintf-posix.h (test_function): Add this test code here
20064         too.
20065         * tests/test-sprintf-posix.h (test_function): Likewise.
20066         * tests/test-vasnprintf-posix.c (test_function): Likewise.
20067         * tests/test-vasprintf-posix.c (test_function): Likewise.
20068         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
20069         around by gnulib.
20070         * doc/posix-functions/printf.texi: Likewise.
20071         * doc/posix-functions/snprintf.texi: Likewise.
20072         * doc/posix-functions/sprintf.texi: Likewise.
20073         * doc/posix-functions/vfprintf.texi: Likewise.
20074         * doc/posix-functions/vprintf.texi: Likewise.
20075         * doc/posix-functions/vsnprintf.texi: Likewise.
20076         * doc/posix-functions/vsprintf.texi: Likewise.
20077         * doc/posix-functions/dprintf.texi: Undo last commit.
20078         * doc/posix-functions/vdprintf.texi: Likewise.
20079
20080 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
20081
20082         tests: port test-fdutimensat.c to Solaris 8
20083         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
20084         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
20085         On Solaris 8, it fails with errno == ENOSYS, because there is no
20086         futimens (so it can't use the fd), and there is no lutimens (so it
20087         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
20088
20089         vsnprintf: make more consistent with snprintf; doc fixes
20090
20091         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
20092         the byte count return problem was promoted from the snprintf-posix
20093         to the snprintf module.
20094         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
20095         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
20096         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
20097         * tests/test-snprintf.c (main): Check the byte count returned.
20098         * tests/test-vsnprintf.c (main): Likewise.
20099
20100 2010-12-23  Eric Blake  <eblake@redhat.com>
20101
20102         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
20103         * modules/sigpipe (License): Relax license.
20104
20105 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
20106
20107         doc: document Solaris printf bug with large float precisions
20108         * doc/posix-functions/dprintf.texi (dprintf):
20109         * doc/posix-functions/fprintf.texi (fprintf):
20110         * doc/posix-functions/printf.texi (printf):
20111         * doc/posix-functions/snprintf.texi (snprintf):
20112         * doc/posix-functions/sprintf.texi (sprintf):
20113         * doc/posix-functions/vdprintf.texi (vdprintf):
20114         * doc/posix-functions/vfprintf.texi (vfprintf):
20115         * doc/posix-functions/vprintf.texi (vprintf):
20116         * doc/posix-functions/vsnprintf.texi (vsnprintf):
20117         * doc/posix-functions/vsprintf.texi (vsprintf):
20118         Mention that these functions mishandle large floating point
20119         precisions on Solaris 10.  The same bug is also present in Solaris
20120         8, and I assume earlier.  This causes "cd gnulib-tests; make
20121         check" to fail on Solaris 8 (and I assume, later) when building
20122         the latest coreutils, in test-vasprintf-posix's call to
20123         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
20124         the wide flavors (e.g., wprintf) so this patch just updates the
20125         documentation for the narrow ones.
20126
20127         test-posixtm.c: add two tests
20128         * tests/test-posixtm.c: Add two tests, to highlight the
20129         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
20130         around this bug; this is merely to document it.
20131
20132 2010-12-22  Bruno Haible  <bruno@clisp.org>
20133
20134         getlogin_r: Work around portability problem on OSF/1.
20135         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
20136         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
20137         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
20138         test for a truncated result.
20139         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
20140         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
20141         * modules/getlogin_r (Depends-on): Add memchr.
20142         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
20143
20144 2010-12-22  Bruno Haible  <bruno@clisp.org>
20145
20146         ptsname: Avoid test failure on OSF/1 5.1.
20147         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
20148         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
20149         (same_slave): New function.
20150         (main): Use it to compare ptsname's result with the expected file name.
20151
20152 2010-12-22  Bruno Haible  <bruno@clisp.org>
20153
20154         Port extended stdio modules to HP NonStop Kernel.
20155         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
20156         macros.
20157         * lib/fbufmode.c: Update comments.
20158         * lib/fflush.c: Likewise.
20159         * lib/fpurge.c: Likewise.
20160         * lib/freadable.c: Likewise.
20161         * lib/freadahead.c: Likewise.
20162         * lib/freading.c: Likewise.
20163         * lib/freadptr.c: Likewise.
20164         * lib/freadseek.c: Likewise.
20165         * lib/fseeko.c: Likewise.
20166         * lib/fseterr.c: Likewise.
20167         * lib/fwritable.c: Likewise.
20168         * lib/fwriting.c: Likewise.
20169         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20170
20171 2010-12-22  Bruno Haible  <bruno@clisp.org>
20172
20173         ttyname_r: Work around bug on OSF/1 5.1.
20174         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
20175         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
20176         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
20177         present.
20178         * lib/ttyname_r.c (ttyname_r): Update comments.
20179
20180 2010-12-22  Bruno Haible  <bruno@clisp.org>
20181
20182         round: Implement result sign according to IEEE 754.
20183         * lib/round.c (MIN, MINUS_ZERO): New macros.
20184         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
20185         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
20186         * tests/test-round-ieee.c (main): Likewise.
20187         * tests/test-roundl-ieee.c (main): Likewise.
20188
20189         trunc: Implement result sign according to IEEE 754.
20190         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
20191         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
20192         * tests/test-trunc2.c: Include minus-zero.h.
20193         (MINUS_ZERO): New macro.
20194         (trunc_reference): Keep in sync with lib/trunc.c.
20195         * tests/test-truncf2.c: Include minus-zero.h.
20196         (MINUS_ZERO): New macro.
20197         (truncf_reference): Keep in sync with lib/trunc.c.
20198         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
20199         * tests/test-trunc-ieee.c (main): Likewise.
20200         * tests/test-truncl-ieee.c (main): Likewise.
20201
20202         ceil: Implement result sign according to IEEE 754.
20203         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
20204         (FUNC): Return -0.0 for -1 < x < 0.
20205         * tests/test-ceil2.c: Include minus-zero.h.
20206         (MINUS_ZERO): New macro.
20207         (ceil_reference): Keep in sync with lib/ceil.c.
20208         * tests/test-ceilf2.c: Include minus-zero.h.
20209         (MINUS_ZERO): New macro.
20210         (ceilf_reference): Keep in sync with lib/ceil.c.
20211         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
20212         * tests/test-ceil-ieee.c (main): Likewise.
20213         * tests/test-ceill-ieee.c (main): Likewise.
20214
20215         floor: Implement result sign according to IEEE 754.
20216         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
20217         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
20218         * tests/test-floorf2.c (floorf_reference): Likewise.
20219         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
20220         * tests/test-floor-ieee.c (main): Likewise.
20221         * tests/test-floorl-ieee.c (main): Likewise.
20222
20223 2010-12-22  Bruno Haible  <bruno@clisp.org>
20224
20225         getaddrinfo: Update doc.
20226         * doc/posix-functions/gai_strerror.texi: Return type is also different
20227         on AIX and HP-UX.
20228
20229 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
20230
20231         getaddrinfo, inet_ntop: Update doc for Solaris.
20232         * doc/posix-functions/gai_strerror.texi: Return type is also an
20233         issue on Solaris 9 and earlier.
20234         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
20235         on Solaris 10 and earlier.
20236
20237 2010-12-21  Bruno Haible  <bruno@clisp.org>
20238
20239         New module 'roundl-ieee'.
20240         * modules/roundl-ieee: New file.
20241         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
20242         test whether roundl works according to ISO C 99 with IEC 60559.
20243         * m4/roundl-ieee.m4: New file.
20244         * modules/roundl-ieee-tests: New file.
20245         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
20246         * tests/test-roundl.c (main): Remove signbit tests.
20247         * modules/roundl-tests (Depends-on): Remove signbit.
20248         * doc/posix-functions/roundl.texi: Mention the new module.
20249
20250 2010-12-21  Bruno Haible  <bruno@clisp.org>
20251
20252         New module 'truncl-ieee'.
20253         * modules/truncl-ieee: New file.
20254         * modules/truncl-ieee-tests: New file.
20255         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
20256         * tests/test-truncl.c (main): Remove signbit tests.
20257         * modules/truncl-tests (Depends-on): Remove signbit.
20258         * doc/posix-functions/truncl.texi: Mention the new module.
20259
20260 2010-12-21  Bruno Haible  <bruno@clisp.org>
20261
20262         New module 'ceill-ieee'.
20263         * modules/ceill-ieee: New file.
20264         * modules/ceill-ieee-tests: New file.
20265         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
20266         * tests/test-ceill.c (main): Remove signbit tests.
20267         * modules/ceill-tests (Depends-on): Remove signbit.
20268         * doc/posix-functions/ceill.texi: Mention the new module.
20269
20270 2010-12-21  Bruno Haible  <bruno@clisp.org>
20271
20272         New module 'floorl-ieee'.
20273         * modules/floorl-ieee: New file.
20274         * modules/floorl-ieee-tests: New file.
20275         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
20276         * tests/test-floorl.c (main): Remove signbit tests.
20277         * modules/floorl-tests (Depends-on): Remove signbit.
20278         * doc/posix-functions/floorl.texi: Mention the new module.
20279
20280 2010-12-21  Bruno Haible  <bruno@clisp.org>
20281
20282         New module 'round-ieee'.
20283         * modules/round-ieee: New file.
20284         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
20285         whether round works according to ISO C 99 with IEC 60559.
20286         * m4/round-ieee.m4: New file.
20287         * modules/round-ieee-tests: New file.
20288         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
20289         * tests/test-round1.c (main): Remove signbit tests.
20290         * modules/round-tests (Depends-on): Remove 'signbit'.
20291         * doc/posix-functions/round.texi: Mention the new module.
20292
20293 2010-12-21  Bruno Haible  <bruno@clisp.org>
20294
20295         New module 'trunc-ieee'.
20296         * modules/trunc-ieee: New file.
20297         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
20298         whether trunc works according to ISO C 99 with IEC 60559.
20299         * m4/trunc-ieee.m4: New file.
20300         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
20301         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
20302         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
20303         * modules/trunc-ieee-tests: New file.
20304         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
20305         * tests/test-trunc1.c (main): Remove signbit tests.
20306         * modules/trunc-tests (Depends-on): Remove 'signbit'.
20307         * doc/posix-functions/trunc.texi: Mention the new module.
20308
20309 2010-12-21  Bruno Haible  <bruno@clisp.org>
20310
20311         New module 'ceil-ieee'.
20312         * modules/ceil-ieee: New file.
20313         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
20314         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
20315         ISO C 99 with IEC 60559.
20316         * m4/ceil-ieee.m4: New file.
20317         * modules/ceil (Files): Add lib/ceil.c.
20318         (Depends-on): Add 'float'.
20319         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20320         * lib/math.in.h (ceil): New declaration.
20321         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
20322         REPLACE_CEIL.
20323         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
20324         * modules/ceil-ieee-tests: New file.
20325         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
20326         * tests/test-math-c++.cc: Check the signature of 'ceil'.
20327         * doc/posix-functions/ceil.texi: Mention the new module.
20328
20329 2010-12-21  Bruno Haible  <bruno@clisp.org>
20330
20331         New module 'floor-ieee'.
20332         * modules/floor-ieee: New file.
20333         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
20334         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
20335         ISO C 99 with IEC 60559.
20336         * m4/floor-ieee.m4: New file.
20337         * modules/floor (Files): Add lib/floor.c.
20338         (Depends-on): Add 'float'.
20339         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20340         * lib/math.in.h (floor): New declaration.
20341         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
20342         REPLACE_FLOOR.
20343         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
20344         * modules/floor-ieee-tests: New file.
20345         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
20346         * tests/test-math-c++.cc: Check the signature of 'floor'.
20347         * doc/posix-functions/floor.texi: Mention the new module.
20348
20349 2010-12-21  Bruno Haible  <bruno@clisp.org>
20350
20351         New module 'roundf-ieee'.
20352         * modules/roundf-ieee: New file.
20353         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
20354         test whether roundf works according to ISO C 99 with IEC 60559.
20355         * m4/roundf-ieee.m4: New file.
20356         * modules/roundf-ieee-tests: New file.
20357         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
20358         * tests/test-roundf1.c (main): Remove signbit tests.
20359         * modules/roundf-tests (Depends-on): Remove 'signbit'.
20360         * doc/posix-functions/roundf.texi: Mention the new module.
20361
20362 2010-12-21  Bruno Haible  <bruno@clisp.org>
20363
20364         New module 'truncf-ieee'.
20365         * modules/truncf-ieee: New file.
20366         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
20367         test whether truncf works according to ISO C 99 with IEC 60559.
20368         * m4/truncf-ieee.m4: New file.
20369         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
20370         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
20371         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
20372         * modules/truncf-ieee-tests: New file.
20373         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
20374         * tests/test-truncf1.c (main): Remove signbit tests.
20375         * modules/truncf-tests (Depends-on): Remove 'signbit'.
20376         * doc/posix-functions/truncf.texi: Mention the new module.
20377
20378 2010-12-21  Bruno Haible  <bruno@clisp.org>
20379
20380         New module 'ceilf-ieee'.
20381         * modules/ceilf-ieee: New file.
20382         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
20383         test whether ceilf works according to ISO C 99 with IEC 60559.
20384         * m4/ceilf-ieee.m4: New file.
20385         * modules/ceilf-ieee-tests: New file.
20386         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
20387         * tests/test-ceilf1.c (main): Remove signbit tests.
20388         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
20389         * doc/posix-functions/ceilf.texi: Mention the new module.
20390
20391 2010-12-21  Bruno Haible  <bruno@clisp.org>
20392
20393         New module 'floorf-ieee'.
20394         * modules/floorf-ieee: New file.
20395         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
20396         test whether floorf works according to ISO C 99 with IEC 60559.
20397         * m4/floorf-ieee.m4: New file.
20398         * modules/floorf-ieee-tests: New file.
20399         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
20400         * tests/test-floorf1.c (main): Remove signbit tests.
20401         * modules/floorf-tests (Depends-on): Remove 'signbit'.
20402         * doc/posix-functions/floorf.texi: Mention the new module.
20403
20404 2010-12-21  Bruno Haible  <bruno@clisp.org>
20405
20406         Support for minus zero in autoconf macros.
20407         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
20408         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
20409         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
20410         * tests/minus-zero.h: Update comments.
20411
20412 2010-12-21  Bruno Haible  <bruno@clisp.org>
20413
20414         Tests for module 'ceil'.
20415         * modules/ceil-tests: New file.
20416         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
20417         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
20418
20419 2010-12-21  Bruno Haible  <bruno@clisp.org>
20420
20421         Tests for module 'floor'.
20422         * modules/floor-tests: New file.
20423         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
20424         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
20425
20426 2010-12-21  Bruno Haible  <bruno@clisp.org>
20427
20428         math: Fix indentation.
20429         * lib/math.in.h (floorf): Fix indentation.
20430
20431 2010-12-21  Bruno Haible  <bruno@clisp.org>
20432
20433         Fix cross-compilation guesses on Solaris.
20434         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
20435         not match "solaris2.10".
20436         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20437         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
20438         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
20439
20440 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
20441
20442         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
20443         This fixes a problem observed with the latest coreutils snapshot
20444         that caused a test to fail on Solaris 8.  src/csplit.c's call
20445         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
20446         earlier, instead of returning the number of bytes that would have
20447         been generated; this causes csplit to incorrectly report memory
20448         exhaustion.
20449         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
20450         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
20451         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
20452         comments to match.
20453         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
20454         Fix typo in matching older versions of Solaris: "solaris2.10"
20455         is matched by the shell pattern "solaris2.[0-9]*".  This matters
20456         only for guessing while cross-compiling.
20457         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
20458
20459 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
20460
20461         ftoastr: fix comment again
20462         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
20463         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
20464         Also, simplify example a bit by using flags = 0.
20465
20466 2010-12-20  Bruno Haible  <bruno@clisp.org>
20467
20468         round*, trunc*: Update documentation regarding glibc.
20469         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
20470         * doc/posix-functions/round.texi: Likewise.
20471         * doc/posix-functions/roundl.texi: Likewise.
20472         * doc/posix-functions/truncf.texi: Likewise.
20473         * doc/posix-functions/trunc.texi: Likewise.
20474         * doc/posix-functions/truncl.texi: Likewise.
20475
20476 2010-12-20  Bruno Haible  <bruno@clisp.org>
20477
20478         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
20479         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
20480         * doc/posix-functions/round.texi: Likewise.
20481         * doc/posix-functions/roundl.texi: Likewise.
20482
20483 2010-12-20  Bruno Haible  <bruno@clisp.org>
20484
20485         ttyname_r: Add missing declaration on HP-UX 11.
20486         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
20487         HAVE_TTYNAME_R.
20488         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
20489         declared. Set HAVE_TTYNAME_R always.
20490         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20491         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
20492         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
20493         HAVE_TTYNAME_R.
20494         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
20495
20496 2010-12-20  Bruno Haible  <bruno@clisp.org>
20497
20498         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
20499         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
20500         * doc/posix-functions/getlogin_r.texi: Likewise.
20501         * tests/test-getlogin.c: Include <errno.h>.
20502         (main): Avoid test failure on HP-UX 11.11.
20503         * tests/test-getlogin_r.c (main): Likewise.
20504
20505 2010-12-20  Bruno Haible  <bruno@clisp.org>
20506
20507         getlogin_r: Add missing declaration on HP-UX 11.
20508         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
20509         declared also when it exists as a function.
20510         * doc/posix-functions/getlogin_r.texi: Document this workaround.
20511
20512 2010-12-20  Bruno Haible  <bruno@clisp.org>
20513
20514         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
20515         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
20516         through wcrtomb.
20517
20518 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20519
20520         ftoastr: fix comment
20521         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
20522         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
20523
20524 2010-12-19  Bruno Haible  <bruno@clisp.org>
20525
20526         isnan: Ensure it is a macro.
20527         * lib/math.in.h (isnan): Define as a macro if not already a macro.
20528         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
20529         Solaris.
20530
20531 2010-12-19  Bruno Haible  <bruno@clisp.org>
20532
20533         ldexpl test: Fix link error on OSF/1 5.1.
20534         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
20535
20536 2010-12-19  Bruno Haible  <bruno@clisp.org>
20537
20538         wctype: Make it work in C++ mode on OSF/1 5.1.
20539         * lib/wctype.in.h (iswblank): Declare but not define here.
20540         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
20541         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
20542         * modules/wctype (Files): Add lib/iswblank.c.
20543
20544 2010-12-19  Bruno Haible  <bruno@clisp.org>
20545
20546         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
20547         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
20548         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
20549
20550 2010-12-19  Bruno Haible  <bruno@clisp.org>
20551
20552         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
20553         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
20554         _POSIX_PII_SOCKET.
20555         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
20556         * doc/posix-functions/recvfrom.texi: Likewise.
20557         * doc/posix-functions/send.texi: Likewise.
20558         * doc/posix-functions/sendto.texi: Likewise.
20559
20560 2010-12-19  Bruno Haible  <bruno@clisp.org>
20561
20562         tcgetsid: Add missing declaration on OSF/1 5.1.
20563         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
20564         HAVE_TCGETSID.
20565         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
20566         Don't set HAVE_TCGETSID.
20567         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
20568         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
20569         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
20570         HAVE_TCGETSID.
20571         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
20572
20573 2010-12-19  Bruno Haible  <bruno@clisp.org>
20574
20575         stdio: Fix problem with popen() declaration on OSF/1 5.1.
20576         * lib/stdio.in.h: During the include_next statement, let recursive
20577         includes of this file include only the system header file.
20578
20579 2010-12-19  Bruno Haible  <bruno@clisp.org>
20580
20581         iconv_open: Fix regression from 2010-12-04.
20582         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
20583         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
20584
20585 2010-12-19  Bruno Haible  <bruno@clisp.org>
20586
20587         stdbool test: Avoid a gcc warning.
20588         * tests/test-stdbool.c (main): Fail if e1 is false.
20589         Reported by Jim Meyering.
20590
20591 2010-12-19  Jim Meyering  <meyering@redhat.com>
20592
20593         setenv: restore to working order
20594         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
20595         mistakenly removed.
20596         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
20597         HAVE_SETENV.
20598         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
20599         HAVE_SETENV.
20600
20601 2010-12-19  Bruno Haible  <bruno@clisp.org>
20602
20603         Document some different function declarations on OSF/1 5.1.
20604         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
20605         * doc/posix-functions/inet_ntop.texi: Likewise.
20606         * doc/posix-functions/gethostname.texi: Likewise.
20607         * lib/unistd.in.h (gethostname): Update comment.
20608
20609 2010-12-19  Bruno Haible  <bruno@clisp.org>
20610
20611         doc: Mention vasprintf-posix module.
20612         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
20613         the 'vasprintf-posix' module.
20614         * doc/glibc-functions/vasprintf.texi: Likewise.
20615
20616 2010-12-19  Bruno Haible  <bruno@clisp.org>
20617
20618         unsetenv: Add missing declaration on OSF/1 5.1.
20619         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
20620         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
20621         Don't set HAVE_UNSETENV. In the test program, set _BSD.
20622         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
20623         not HAVE_UNSETENV.
20624         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
20625         HAVE_UNSETENV.
20626         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
20627
20628 2010-12-19  Bruno Haible  <bruno@clisp.org>
20629
20630         setenv: Add missing declaration on OSF/1 5.1.
20631         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
20632         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
20633         declared. Don't set HAVE_SETENV.
20634         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
20635         not HAVE_SETENV.
20636         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
20637         HAVE_SETENV.
20638         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
20639
20640 2010-12-19  Bruno Haible  <bruno@clisp.org>
20641
20642         nl_langinfo tests: Avoid gcc warning.
20643         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
20644
20645 2010-12-19  Bruno Haible  <bruno@clisp.org>
20646
20647         mknod: Avoid error in C++ mode on OSF/1 with GCC.
20648         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
20649         _GL_CXXALIAS_SYS.
20650
20651 2010-12-19  Bruno Haible  <bruno@clisp.org>
20652
20653         stdbool: Relax test.
20654         * tests/test-stdbool.c (e): Don't require that casts from a variable's
20655         address to 'bool' work in static initializer, for compilers other than
20656         GCC.
20657
20658 2010-12-19  Bruno Haible  <bruno@clisp.org>
20659
20660         ftello: Add missing declaration on OSF/1 5.1.
20661         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
20662         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
20663         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
20664         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
20665         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
20666
20667 2010-12-19  Bruno Haible  <bruno@clisp.org>
20668
20669         fseeko: Add missing declaration on OSF/1 5.1.
20670         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
20671         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
20672         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
20673         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
20674         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
20675
20676 2010-12-19  Bruno Haible  <bruno@clisp.org>
20677
20678         fchdir: Add missing declaration on OSF/1 5.1.
20679         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
20680         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
20681         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
20682         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
20683         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
20684
20685 2010-12-19  Bruno Haible  <bruno@clisp.org>
20686
20687         relocatable-prog-wrapper: Separate from relocatable-prog.
20688         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
20689         uninstall-relocwrapper rule here.
20690         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
20691         Reported by Ian Beckwith <ianb@erislabs.net>.
20692
20693 2010-12-19  Bruno Haible  <bruno@clisp.org>
20694
20695         unistr/u8-mbsnlen: Add missing dependency.
20696         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
20697         Reported by Ian Beckwith <ianb@erislabs.net>.
20698
20699 2010-12-19  Bruno Haible  <bruno@clisp.org>
20700
20701         iconv: Make it possible again to use this module without 'iconv-h'.
20702         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
20703         if it is not defined.
20704         Reported by Ian Beckwith <ianb@erislabs.net>.
20705
20706 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
20707
20708         acl: port to Solaris 8 when copying from tmpfs to ufs
20709         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
20710         error number.  Problem observed on Solaris 8 with latest
20711         coreutils, with "mv A B", where A is on a tmpfs file system and B
20712         is on a ufs file system.  This caused coreutils' mv/part-symlink
20713         test to fail.
20714
20715         tests: set fail=0 at start
20716         * tests/init.sh (setup_): Move fail=0 initialization here ...
20717         (mktempd_): ... from here, so that tests can rely on fail being
20718         set to 0 initially.  This fixes a problem in coreutils; see:
20719         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
20720
20721 2010-12-18  Bruno Haible  <bruno@clisp.org>
20722
20723         memmem-simple: Stylistic changes.
20724         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
20725         Fix preprocessor directive indentation.
20726
20727 2010-12-15  Pádraig Brady <P@draigBrady.com>
20728
20729         memmem, memmem-simple: reorganize and expand empty needle check
20730         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
20731         functional checks to memmem-simple so that one has a fully functional
20732         memmem by using just this module.
20733         Restrict the performance only check to the memmem module.
20734         Also expand the empty needle check to ensure the correct
20735         pointer is returned, not just a non NULL pointer.
20736         * doc/glibc-functions/memmem.texi: Rearrange the portability
20737         documentation to correlate with the rearranged checks.
20738         Clarify exactly how the memmem and memmem-simple modules
20739         relate to each other.
20740
20741 2010-12-15  Pádraig Brady <P@draigBrady.com>
20742             Bruno Haible  <bruno@clisp.org>
20743
20744         Improve cross-compilation guesses for uClibc.
20745         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
20746         that uClibc does not have the glibc bug.
20747         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
20748         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
20749
20750 2010-12-14  Eric Blake  <eblake@redhat.com>
20751
20752         configmake: provide fallbacks for oldest supported autotools
20753         * m4/configmake.m4: New file.
20754         * modules/configmake (Files): Ship it.
20755         (configure.ac): Use it to guarantee fallbacks.
20756
20757 2010-12-13  Pádraig Brady <P@draigBrady.com>
20758
20759         read-file: Improve handling of large files
20760         * lib/read-file.c (fread_file): Minimize realloc()s
20761         for regular files, and better manage sizes around SIZE_MAX.
20762
20763 2010-12-13  Eric Blake  <eblake@redhat.com>
20764
20765         cloexec, fcntl: relax license
20766         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
20767         consent from all contributors.
20768         * modules/fcntl (License): Likewise.
20769
20770 2010-12-10  Bruno Haible  <bruno@clisp.org>
20771
20772         Tests for module 'pipe-posix'.
20773         * modules/pipe-posix-tests: New file.
20774         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
20775
20776 2010-12-10  Bruno Haible  <bruno@clisp.org>
20777
20778         pipe-posix: Make it work in C++ mode.
20779         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
20780         (pipe): Use common idiom, not a macro definition.
20781         * lib/pipe.c: New file.
20782         * m4/pipe.m4: New file.
20783         * modules/pipe-posix (Description): Enhance.
20784         (Files): Add lib/pipe.c, m4/pipe.m4.
20785         (configure.ac): Invoke gl_FUNC_PIPE.
20786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
20787         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
20788         * tests/test-unistd-c++.cc: Check the signature of pipe.
20789
20790 2010-12-10  Bruno Haible  <bruno@clisp.org>
20791
20792         Rename module 'pipe' to 'spawn-pipe'.
20793         * modules/spawn-pipe: New file, renamed from modules/pipe.
20794         (Files, configure.ac, Makefile.am): Update.
20795         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
20796         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
20797         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
20798         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
20799         "spawn-pipe.h" instead of "pipe.h".
20800         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
20801         to gl_SPAWN_PIPE.
20802         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
20803         (Files, Makefile.am): Update.
20804         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
20805         Update.
20806         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
20807         Include "spawn-pipe.h" instead of "pipe.h".
20808         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
20809         * lib/javacomp.c: Likewise.
20810         * lib/javaversion.c: Likewise.
20811         * lib/pipe-filter-gi.c: Likewise.
20812         * lib/pipe-filter-ii.c: Likewise.
20813         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
20814         * modules/javacomp (Depends-on): Likewise.
20815         * modules/javaversion (Depends-on): Likewise.
20816         * modules/pipe-filter-gi (Depends-on): Likewise.
20817         * modules/pipe-filter-ii (Depends-on): Likewise.
20818         * MODULES.html.sh (Executing programs): Update.
20819         * NEWS: Mention the change.
20820
20821 2010-12-10  Eric Blake  <eblake@redhat.com>
20822
20823         pipe-posix: new module
20824         * modules/pipe-posix: New file.
20825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
20826         (gl_UNISTD_H): Check for declaration.
20827         * modules/unistd (Makefile.am): Substitute it.
20828         * lib/unistd.in.h (pipe): Provide it for mingw.
20829         * doc/posix-functions/pipe.texi (pipe): Update documentation.
20830         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
20831
20832 2010-12-07  Bruno Haible  <bruno@clisp.org>
20833
20834         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
20835         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
20836         u8_strcmp_gnu.
20837         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
20838
20839 2010-12-06  Bruno Haible  <bruno@clisp.org>
20840
20841         Update internal documentation.
20842         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
20843
20844 2010-12-04  Bruno Haible  <bruno@clisp.org>
20845
20846         Put more information about failed tests into the test return codes.
20847         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
20848         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
20849         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
20850         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
20851         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20852         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20853         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20854         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20855         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
20856         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20857         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
20858         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
20859         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
20860         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20861         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
20862         returns a bit mask.
20863         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
20864         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
20865         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
20866         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
20867         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
20868         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20869         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20870         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
20871         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20872         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20873         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20874         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20875         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20876         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20877         * m4/link.m4 (gl_FUNC_LINK): Likewise.
20878         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20879         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
20880         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
20881         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20882         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
20883         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20884         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20885         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
20886         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20887         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20888         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
20889         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
20890         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20891         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20892         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
20893         gl_PRINTF_PRECISION): Likewise.
20894         * m4/regex.m4 (gl_REGEX): Likewise.
20895         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20896         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20897         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
20898         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20899         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20900         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20901         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20902         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
20903         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20904         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20905         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20906         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
20907         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20908         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
20909         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20910         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20911         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
20912         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20913         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20914         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
20915         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
20916         enumerated value.
20917         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
20918
20919 2010-12-04  Bruno Haible  <bruno@clisp.org>
20920
20921         Update for Solaris 11 2010-11.
20922         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
20923         Express, released in November 2010.
20924
20925 2010-12-04  Bruno Haible  <bruno@clisp.org>
20926
20927         nproc: Relax license.
20928         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
20929         and Paul Eggert.
20930         Requested by Ludovic Courtès <ludo@gnu.org>.
20931
20932 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
20933
20934         utimecmp: fine-grained src to nearby coarse-grained dest
20935
20936         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
20937         and the source is on a file system with higher-resolution time
20938         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
20939         not work, and the time stamps are close together, the algorithm to
20940         determine the exact resolution from the read-back mtime was buggy:
20941         it had a "!=" where it should have had an "==".  This bug has been
20942         in the code ever since it was introduced to gnulib.
20943         Problem reported by Dan Jacobson in
20944         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
20945
20946 2010-11-30  Bruno Haible  <bruno@clisp.org>
20947
20948         strerror_r-posix: Fix autoconf test.
20949         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
20950
20951 2010-11-28  Bruno Haible  <bruno@clisp.org>
20952             Paul Eggert  <eggert@cs.ucla.edu>
20953
20954         Tests for module 'getdomainname'.
20955         * modules/getdomainname-tests: New file.
20956         * tests/test-getdomainname.c: New file, based on
20957         tests/test-gethostname.c.
20958
20959 2010-11-28  Bruno Haible  <bruno@clisp.org>
20960             Paul Eggert  <eggert@cs.ucla.edu>
20961
20962         getdomainname: Use the system function when possible.
20963         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
20964         (getdomainname): Replace if needed. Provide the declaration if it is
20965         missing. Don't use _GL_CXXALIAS_SYS_CAST.
20966         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
20967         (getdomainname): When the system has getdomainname, call the system
20968         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
20969         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
20970         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
20971         found in libnsl. Look for the declaration also in <netdb.h>. Replace
20972         the function if its second argument is of type 'int' or if it is found
20973         in libnsl.
20974         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
20975         <sys/systeminfo.h> and sysinfo().
20976         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
20977         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20978         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
20979         HAVE_GETDOMAINNAME.
20980         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
20981         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
20982         * doc/glibc-functions/getdomainname.texi: Document the problems with
20983         the getdomainname declaration.
20984
20985 2010-11-28  Bruno Haible  <bruno@clisp.org>
20986
20987         sys_socket: Ensure ss_family field on AIX.
20988         * lib/sys_socket.in.h (ss_family): New macro definition.
20989         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
20990         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
20991         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
20992         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20993         * modules/sys_socket (Makefile.am): Substitute
20994         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20995         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
20996
20997 2010-11-27  Bruno Haible  <bruno@clisp.org>
20998
20999         readline: Improve configure output.
21000         * m4/readline.m4 (gl_FUNC_READLINE): Make the
21001         "checking for readline..." result understandable.
21002
21003 2010-11-27  Bruno Haible  <bruno@clisp.org>
21004
21005         *printf-posix: Detect a bug on Solaris 10/x86.
21006         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
21007         for floating-point output.
21008         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
21009         directive.
21010         * tests/test-snprintf-posix.h (test_function): Likewise.
21011         * tests/test-sprintf-posix.h (test_function): Likewise.
21012         * tests/test-vasprintf-posix.c (test_function): Likewise.
21013         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
21014         * doc/posix-functions/printf.texi: Likewise.
21015         * doc/posix-functions/snprintf.texi: Likewise.
21016         * doc/posix-functions/sprintf.texi: Likewise.
21017         * doc/posix-functions/vfprintf.texi: Likewise.
21018         * doc/posix-functions/vprintf.texi: Likewise.
21019         * doc/posix-functions/vsnprintf.texi: Likewise.
21020         * doc/posix-functions/vsprintf.texi: Likewise.
21021         * doc/glibc-functions/obstack_printf.texi: Likewise.
21022         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
21023
21024 2010-11-27  Bruno Haible  <bruno@clisp.org>
21025
21026         Fix link error when module libunistring-optional is in use.
21027         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
21028         * modules/striconveha-tests (Makefile.am): Likewise.
21029
21030 2010-11-27  Bruno Haible  <bruno@clisp.org>
21031
21032         regex: Mention link dependencies.
21033         * modules/regex (Link): New section.
21034         * modules/rpmatch (Link): Likewise.
21035         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
21036
21037 2010-11-27  Bruno Haible  <bruno@clisp.org>
21038
21039         ftoastr: Fix compilation error on Solaris.
21040         * lib/ftoastr.c: Include <config.h>.
21041
21042 2010-11-27  Bruno Haible  <bruno@clisp.org>
21043
21044         getloadavg: Update documentation.
21045         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
21046
21047 2010-11-27  Bruno Haible  <bruno@clisp.org>
21048
21049         sys_socket: Fix test whether the functions are declared.
21050         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
21051         not <sys/select.h>.
21052
21053 2010-11-27  Bruno Haible  <bruno@clisp.org>
21054
21055         getpass: Make sure to get system declaration on some platforms.
21056         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
21057         gl_USE_SYSTEM_EXTENSIONS.
21058         * modules/getpass (Depends-on): Add extensions.
21059
21060 2010-11-26  Bruno Haible  <bruno@clisp.org>
21061
21062         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
21063         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
21064         'iconv' module is present.
21065         (ICONV_CONST): New macro.
21066         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
21067         ICONV_CONST.
21068         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
21069         set ICONV_CONST.
21070         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
21071         here.
21072         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
21073         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
21074         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
21075         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
21076         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
21077         present.
21078
21079 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
21080
21081         ftoastr: comment fix
21082         * lib/ftoastr.c: "little" -> "little or no" in comment
21083
21084 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
21085
21086         stdint: port to GCC 4.3 + OSX + Octave
21087         On this platform, stdint.h is buggy and defines int64_t to long
21088         long int.  The replacement defined it to long int, causing
21089         problems with C++ style name mangling.  Instead, trust the system
21090         definition if INT64_MAX is defined, and likewise for the unsigned
21091         variant.   Problem reported by Jarno Rajahalme in
21092         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
21093         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
21094         and don't mess with int64_t and INT64_MAX in this case.
21095         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
21096
21097 2010-11-24  Bruno Haible  <bruno@clisp.org>
21098
21099         doc: Corrections regarding MacOS X 10.4 and 10.5.
21100         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
21101         MacOS X.
21102         Reported by Simon Josefsson.
21103
21104 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
21105
21106         Uninstall ".bin" files installed by relocwrapper.
21107         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
21108         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
21109         unless it is already there.
21110
21111 2010-11-21  Bruno Haible  <bruno@clisp.org>
21112
21113         Update for NetBSD 5.0.
21114         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21115         NetBSD; the test fails on NetBSD 5.0.
21116         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21117         about NetBSD.
21118
21119 2010-11-21  Bruno Haible  <bruno@clisp.org>
21120
21121         Update for HP-UX 11.23 and HP-UX 11.31.
21122         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
21123         HP-UX.
21124
21125 2010-11-21  Bruno Haible  <bruno@clisp.org>
21126
21127         Update for MacOS X 10.5.
21128         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21129         MacOS X; the test fails on MacOS X 10.5.8.
21130         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21131         about MacOS X.
21132
21133 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
21134
21135         bootstrap: add bootstrap_sync option.
21136         See discussion at
21137         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
21138         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
21139         * build-aux/bootstrap: Accept --bootstrap-sync to update
21140         bootstrap if it is not identical to the local gnulib's
21141         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
21142         enable this by default.  Accept --no-bootstrap-sync to disable
21143         it.
21144
21145 2010-11-20  Bruno Haible  <bruno@clisp.org>
21146
21147         Ensure that <features.h> is included before __GLIBC__ is tested.
21148         * lib/printf-parse.h: Include <features.h>.
21149         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
21150         Reported by Mike Frysinger <vapier@gentoo.org>.
21151
21152         Ensure that <features.h> is included before __GLIBC__ is tested.
21153         * lib/wchar.in.h: Include <features.h>.
21154         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
21155         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
21156         Reported by Mike Frysinger <vapier@gentoo.org>.
21157
21158         Ensure that <features.h> is included before __GLIBC__ is tested.
21159         * lib/arpa_inet.in.h: Include <features.h>.
21160         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
21161         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
21162         Reported by Mike Frysinger <vapier@gentoo.org>.
21163
21164         Ensure that <features.h> is included before __GLIBC__ is tested.
21165         * build-aux/link-warning.h: Include <features.h>.
21166         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
21167         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
21168         Reported by Mike Frysinger <vapier@gentoo.org>.
21169
21170         Ensure that <features.h> is included before __GLIBC__ is tested.
21171         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
21172         Reported by Mike Frysinger <vapier@gentoo.org>.
21173
21174 2010-11-20  Bruno Haible  <bruno@clisp.org>
21175
21176         memmem: Fix autoconf test.
21177         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
21178
21179 2010-11-20  Bruno Haible  <bruno@clisp.org>
21180
21181         Port to uClibc.
21182         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
21183         * lib/fcntl.in.h: Likewise.
21184         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
21185         * lib/mbrtowc.c (mbrtowc): Likewise.
21186         * lib/relocatable.c (find_shared_library_fullname): Likewise.
21187         * lib/strerror_r.c: Likewise.
21188         * lib/unistr/u8-strnlen.c: Likewise.
21189         * lib/vasnprintf.c (decimal_point_char): Likewise.
21190         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21191         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
21192         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
21193         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
21194         * tests/test-sigaction.c (handler, main): Likewise.
21195         * lib/freading.h: Treat uClibc like a non-glibc platform.
21196         * lib/freading.c: Likewise.
21197         * lib/gettext.h: Likewise.
21198         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
21199         Likewise.
21200         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
21201         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
21202         * lib/propername.c (proper_name_utf8): Likewise.
21203         * lib/spawn.in.h: Likewise.
21204         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
21205         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
21206         mem_cd_iconveh_internal): Likewise.
21207         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
21208         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
21209         strstr, strcasestr): Likewise.
21210         * lib/unicodeio.c (unicode_to_mb): Likewise.
21211         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
21212         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
21213         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
21214         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
21215         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
21216         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
21217         * lib/unistr/u8-stpncpy.c: Likewise.
21218         * lib/vasnprintf.c (VASNPRINTF): Likewise.
21219         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
21220         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
21221         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21222         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
21223         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
21224         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
21225         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
21226         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
21227         Likewise.
21228         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21229         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21230         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
21231         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21232         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
21233         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21234         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21235         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21236         * tests/test-getopt.h (OPTIND_MIN): Likewise.
21237         * tests/test-striconveha.c (main): Likewise.
21238         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21239         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
21240         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
21241         * doc/posix-functions/getline.texi: Likewise.
21242         Reported by Mike Frysinger <vapier@gentoo.org>.
21243
21244 2010-11-20  Bruno Haible  <bruno@clisp.org>
21245
21246         nproc: Fix condition.
21247         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
21248         HAVE_PTHREAD_AFFINITY_NP.
21249
21250 2010-11-20  Bruno Haible  <bruno@clisp.org>
21251
21252         Fix a comment.
21253         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
21254
21255 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
21256
21257         ftoastr: don't assume snprintf
21258         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
21259         Implement a subset of snprintf here, by using sprintf safely.
21260         * modules/ftoastr (Depends-on): Remove snprintf.
21261
21262 2010-11-19  Jim Meyering  <meyering@redhat.com>
21263
21264         test-rename.h: fix compilation failure
21265         * tests/test-rename.h (test_rename): Add omitted "}".
21266
21267 2010-11-17  Jim Meyering  <meyering@redhat.com>
21268
21269         maint.mk: add a URL discussing the no-@acronym policy
21270         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
21271
21272 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
21273
21274         ftoastr: depend on snprintf, improve comments
21275         * lib/ftoastr.c: Also mention Loitsch's draft.
21276         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
21277         needed in the current implementation, but it might simplify
21278         speeding up the code later.
21279         * modules/ftoastr: Depend on snprintf; this improves portability.
21280         Suggested by Bruno Haible in the same email.
21281
21282         ftoastr: port to hosts lacking strtof and strtold
21283         Problem reported by Bruno Haible in
21284         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
21285         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
21286         environment and strtold (and presumably strtof) are not available.
21287         * modules/ftoastr (Files): Add m4/c-strtod.m4.
21288         (configure.ac): Require gl_C99_STRTOLD.
21289
21290 2010-11-18  Bruno Haible  <bruno@clisp.org>
21291
21292         c-strtold: Avoid link error on AIX 7.
21293         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
21294         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
21295         (gl_C_STRTOLD): Test whether strtold_l exists.
21296         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21297
21298 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
21299
21300         intprops: new macro INT_BITS_STRLEN_BOUND
21301         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
21302         ftoastr.h.  This exposes an internal of intprops.h that was formerly
21303         not exposed.  Also, it uses a slightly tighter bound than before;
21304         though this makes no practical difference, we might as well be as
21305         tight as we easily can.
21306
21307         ftoastr: new module, for lossless conversion of floats to short strings
21308         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
21309         * modules/ftoastr: New files.
21310
21311 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
21312
21313         bootstrap: port to Solaris sed
21314         * build-aux/bootstrap (get_version): Port to Solaris sed.
21315         See Ralf Wildenhues's note in
21316         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
21317
21318 2010-11-14  Jim Meyering  <meyering@redhat.com>
21319
21320         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
21321         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
21322         and move definition closer to sole use.
21323
21324 2010-11-13  Jim Meyering  <meyering@redhat.com>
21325
21326         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
21327         Now we require at least autoconf-2.59, which means the work-around
21328         is no longer needed.
21329         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
21330         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21331         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
21332         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
21333         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21334
21335 2010-11-13  Bruno Haible  <bruno@clisp.org>
21336
21337         rename, renameat: Avoid test failures at NFS mounted locations.
21338         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
21339         functions.
21340         (test_rename): Use assert_nonexistent.
21341         * tests/test-rename.c: Include <dirent.h>.
21342         * tests/test-renameat.c: Likewise.
21343         Reported by Gary V. Vaughan <gary@gnu.org>.
21344
21345         rename, renameat: Document Linux bug with NFS
21346         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
21347         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
21348         * doc/posix-functions/renameat.texi: Likewise.
21349         Suggested by Eric Blake.
21350
21351 2010-11-13  Bruno Haible  <bruno@clisp.org>
21352
21353         rename test: Add comments.
21354         * tests/test-rename.h (test_rename): Add structure and comments.
21355
21356 2010-11-13  Eric Blake  <eblake@redhat.com>
21357
21358         maintainer-makefile: cover a few more files
21359         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
21360         scripts generated within C files, for libvirt.
21361
21362 2010-11-13  Bruno Haible  <bruno@clisp.org>
21363
21364         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
21365         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
21366         character, return the number of bytes that belong together, not always
21367         1.
21368         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
21369         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
21370         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
21371         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
21372         number of bytes of an invalid character.
21373         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
21374         (main): Invoke it.
21375         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
21376         results.
21377         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
21378         malformed byte sequences.
21379         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
21380         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
21381         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
21382         Reported by Ben Pfaff and Paolo Bonzini.
21383
21384 2010-11-13  Bruno Haible  <bruno@clisp.org>
21385
21386         openat: Work around glibc bug with fchownat() and empty file names.
21387         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
21388         (gl_FUNC_FCHOWNAT): Invoke it.
21389         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
21390         * doc/posix-functions/fchownat.texi: Document the glibc bug.
21391         Reported by Gary V. Vaughan <gary@gnu.org>.
21392
21393 2010-11-13  Bruno Haible  <bruno@clisp.org>
21394
21395         openat: Ensure autoconf macro ordering.
21396         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
21397         gl_USE_SYSTEM_EXTENSIONS.
21398         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
21399
21400 2010-11-13  Bruno Haible  <bruno@clisp.org>
21401
21402         Update comments.
21403         * lib/unistr/u8-check.c: Update file name in comments.
21404         * lib/unistr/u8-mblen.c: Likewise.
21405         * lib/unistr/u8-prev.c: Likewise.
21406         * lib/unistr/u8-strmblen.c: Likewise.
21407         * lib/unistr/u8-strmbtouc.c: Likewise.
21408
21409 2010-11-13  Jim Meyering  <meyering@redhat.com>
21410
21411         tests: avoid test failure on Solaris 10 due to lack of PATH export
21412         * tests/test-update-copyright.sh: Don't forget to export PATH.
21413
21414         init.sh: ensure that IFS is defined, just in case...
21415         * tests/init.sh (setup_): Ensure that IFS is defined,
21416         so that saving and restoring it works as expected.  This
21417         appears to be useful at least for an old version of dash
21418         from a long time ago (RH 6).  See here for details:
21419         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
21420
21421         maint.mk: tighten "test a == b" check
21422         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
21423         test to files that contain something like #!/bin/sh.
21424         Without this, coreutils would get two false positives in
21425         the comments of C source files.
21426
21427 2010-11-12  Eric Blake  <eblake@redhat.com>
21428
21429         bootstrap: fix typo in previous attempt
21430         * build-aux/bootstrap (buildreq): Correct the grouping.
21431         Reported by Paul Eggert.
21432
21433         maintainer-makefile: prohibit test x == x
21434         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
21435         Based on a report by Matthias Bolte.
21436
21437         bootstrap: allow FreeBSD gzip
21438         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
21439         which has no '.' and goes to stderr.
21440         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
21441         Reported by Matthias Bolte.
21442
21443         maintainer-makefile: check for i18n setup
21444         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
21445         will likely work.
21446
21447 2010-11-12  Bruno Haible  <bruno@clisp.org>
21448
21449         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
21450         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
21451         * lib/nanosleep.c (nanosleep): Likewise.
21452
21453 2010-11-11  Bruno Haible  <bruno@clisp.org>
21454
21455         fcntl-h: Fix for use of C++ on glibc systems.
21456         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21457         also on glibc systems in C++ mode.
21458         Reported by Gary V. Vaughan <gary@gnu.org>.
21459
21460 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21461
21462         mknod: avoid false failure with dash
21463         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
21464
21465 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21466
21467         unlink: Fix "is it should" typo in diagnostic.
21468         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
21469         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
21470
21471 2010-11-11  Bruno Haible  <bruno@clisp.org>
21472
21473         Tests for module 'strerror_r-posix'.
21474         * modules/strerror_r-posix-tests: New file.
21475         * tests/test-strerror_r.c: New file.
21476         * tests/test-string-c++.cc: Check the signature of strerror_r.
21477
21478         New module 'strerror_r-posix'.
21479         * lib/string.in.h (strerror_r): New declaration.
21480         * lib/strerror_r.c: New file.
21481         * m4/strerror_r.m4: New file.
21482         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
21483         of strerror_r.
21484         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
21485         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
21486         * modules/strerror_r-posix: New file.
21487         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
21488         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
21489         * doc/posix-functions/strerror_r.texi: Mention the new module and the
21490         portability problems.
21491
21492 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
21493
21494         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
21495         line is also considered for output. Quoted function name in shell
21496         command, so temporary files for functions like MyClass::operator()
21497         are removed correctly without errors.
21498
21499 2010-11-09  Bruno Haible  <bruno@clisp.org>
21500
21501         * doc/posix-functions/strerror.texi: List more failing platforms.
21502
21503         * doc/posix-functions/strerror.texi: Add a comment.
21504
21505 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
21506
21507         fdopendir: fix bug on MacOS X when low on file descriptors
21508
21509         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
21510         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
21511         All callers changed.
21512         (fdopendir): Invoke save_cwd at the top level, not after using
21513         multiple dup() calls to use up file descriptors.  Then retry
21514         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
21515         less than the maximum number of open file descriptors, because
21516         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
21517         on Mac OS X 10.6.4 for tar 1.24
21518         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
21519         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
21520         and for tar 1.25
21521         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
21522
21523 2010-11-07  Bruno Haible  <bruno@clisp.org>
21524
21525         vasnprintf: Support I flag on glibc systems.
21526         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
21527         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
21528         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
21529         snprintf function.
21530         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
21531         glibc systems.
21532         * tests/test-vasnprintf-posix3.c: New file.
21533         * modules/vasnprintf-posix-tests (Files): Add it.
21534         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
21535
21536 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21537
21538         [html] Fix copy/paste bug: Use unique name for compiler warnings.
21539         * MODULES.html.sh: For compiler warnings, use name
21540         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
21541
21542 2010-11-05  Eric Blake  <eblake@redhat.com>
21543
21544         ceil, floor: avoid spurious failure with icc
21545         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
21546         [denormals-as-zero] when optimizing without -mieee-fp option.
21547         * tests/test-floorf2.c (floorf_reference): Likewise.
21548         * tests/test-ceilf1.c (dummy): New function.
21549         (main): Use it to outsmart icc's optimization.
21550         * tests/test-floorf1.c (dummy, main): Likewise.
21551
21552         tests: require working signbit
21553         * modules/ceilf-tests (Depends-on): Add signbit.
21554         * modules/ceill-tests (Depends-on): Likewise.
21555         * modules/floorf-tests (Depends-on): Likewise.
21556         * modules/floorl-tests (Depends-on): Likewise.
21557         * modules/round-tests (Depends-on): Likewise.
21558         * modules/roundf-tests (Depends-on): Likewise.
21559         * modules/roundl-tests (Depends-on): Likewise.
21560         * modules/trunc-tests (Depends-on): Likewise.
21561         * modules/truncf-tests (Depends-on): Likewise.
21562         * modules/truncl-tests (Depends-on): Likewise.
21563
21564         strtod: work around icc bug
21565         * lib/strtod.c (minus_zero): Define to working value.
21566         (strtod): Use it to avoid icc bug.
21567
21568         copysign: enhance tests
21569         * modules/copysign-tests (Files): Add minus-zero.h.
21570         * tests/test-copysign.c (main): Also test zeros.
21571
21572 2010-11-04  Eric Blake  <eblake@redhat.com>
21573
21574         ceil, floor, round, trunc: enhance tests of -0
21575         * tests/test-ceilf1.c (main): Ensure correct sign of result.
21576         * tests/test-ceill.c (main): Likewise.
21577         * tests/test-floorf1.c (main): Likewise.
21578         * tests/test-floorl.c (main): Likewise.
21579         * tests/test-round1.c (main): Likewise.
21580         * tests/test-roundf1.c (main): Likewise.
21581         * tests/test-roundl.c (main): Likewise.
21582         * tests/test-trunc1.c (main): Likewise.
21583         * tests/test-truncf1.c (main): Likewise.
21584         * tests/test-truncl.c (main): Likewise.
21585
21586 2010-11-04  Eric Blake  <eblake@redhat.com>
21587
21588         frexp, tests: work around ICC bug with -zero
21589         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
21590         works with more compilers.
21591         * tests/minus-zero.h: New file.
21592         * modules/ceilf-tests (Files): Include it.
21593         * modules/ceill-tests (Files): Likewise.
21594         * modules/floorf-tests (Files): Likewise.
21595         * modules/floorl-tests (Files): Likewise.
21596         * modules/frexp-nolibm-tests (Files): Likewise.
21597         * modules/frexp-tests (Files): Likewise.
21598         * modules/frexpl-nolibm-tests (Files): Likewise.
21599         * modules/frexpl-tests (Files): Likewise.
21600         * modules/isnan-tests (Files): Likewise.
21601         * modules/isnand-nolibm-tests (Files): Likewise.
21602         * modules/isnand-tests (Files): Likewise.
21603         * modules/isnanf-nolibm-tests (Files): Likewise.
21604         * modules/isnanf-tests (Files): Likewise.
21605         * modules/isnanl-nolibm-tests (Files): Likewise.
21606         * modules/isnanl-tests (Files): Likewise.
21607         * modules/round-tests (Files): Likewise.
21608         * modules/roundf-tests (Files): Likewise.
21609         * modules/roundl-tests (Files): Likewise.
21610         * modules/ldexpl-tests (Files): Likewise.
21611         * modules/signbit-tests (Files): Likewise.
21612         * modules/snprintf-posix-tests (Files): Likewise.
21613         * modules/sprintf-posix-tests (Files): Likewise.
21614         * modules/strtod-tests (Files): Likewise.
21615         * modules/trunc-tests (Files): Likewise.
21616         * modules/truncf-tests (Files): Likewise.
21617         * modules/truncl-tests (Files): Likewise.
21618         * modules/vsnprintf-posix-tests (Files): Likewise.
21619         * modules/vsprintf-posix-tests (Files): Likewise.
21620         * modules/vasnprintf-posix-tests (Files): Likewise.
21621         * modules/vasprintf-posix-tests (Files): Likewise.
21622         * tests/test-ceilf1.c (main): Use it.
21623         * tests/test-ceill.c (main): Likewise.
21624         * tests/test-floorf1.c (main): Likewise.
21625         * tests/test-floorl.c (main): Likewise.
21626         * tests/test-frexp.c (main): Likewise.
21627         * tests/test-frexpl.c (main): Likewise.
21628         * tests/test-isnan.c (main): Likewise.
21629         * tests/test-isnand.h (main): Likewise.
21630         * tests/test-isnanf.h (main): Likewise.
21631         * tests/test-isnanl.h (main): Likewise.
21632         * tests/test-ldexpl.c (main): Likewise.
21633         * tests/test-round.c (main): Likewise.
21634         * tests/test-roundf.c (main): Likewise.
21635         * tests/test-roundl.c (main): Likewise.
21636         * tests/test-signbit.c (test_signbitf, test_signbitd)
21637         (test_signbitl): Likewise.
21638         * tests/test-snprintf-posix.h (test_function): Likewise.
21639         * tests/test-sprintf-posix.h (test_function): Likewise.
21640         * tests/test-strtod.c (main): Likewise.
21641         * tests/test-trunc1.c (main): Likewise.
21642         * tests/test-truncf1.c (main): Likewise.
21643         * tests/test-truncl.c (main): Likewise.
21644
21645         isnanl: work around icc bug
21646         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
21647
21648 2010-11-03  Eric Blake  <eblake@redhat.com>
21649
21650         tests: fix compiler warnings
21651         * tests/test-getopt.h (test_getopt): Fix condition.
21652         * tests/test-getopt_long.h (test_getopt_long): Likewise.
21653         * tests/test-pipe2.c (main): Likewise.
21654         * tests/test-quotearg-simple.c (main): Avoid icc warning.
21655
21656         utimens: fix broken m4 test
21657         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
21658
21659 2010-10-28  Bruno Haible  <bruno@clisp.org>
21660
21661         posix_spawn*, getdtablesize: Relax license.
21662         * modules/posix_spawn (License): Change to LGPLv2+.
21663         * modules/posix_spawnp (License): Likewise.
21664         * modules/posix_spawn-internal (License): Likewise.
21665         * modules/posix_spawnattr_init (License): Likewise.
21666         * modules/posix_spawnattr_getflags (License): Likewise.
21667         * modules/posix_spawnattr_setflags (License): Likewise.
21668         * modules/posix_spawnattr_getpgroup (License): Likewise.
21669         * modules/posix_spawnattr_setpgroup (License): Likewise.
21670         * modules/posix_spawnattr_getschedparam (License): Likewise.
21671         * modules/posix_spawnattr_setschedparam (License): Likewise.
21672         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
21673         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
21674         * modules/posix_spawnattr_getsigdefault (License): Likewise.
21675         * modules/posix_spawnattr_setsigdefault (License): Likewise.
21676         * modules/posix_spawnattr_getsigmask (License): Likewise.
21677         * modules/posix_spawnattr_setsigmask (License): Likewise.
21678         * modules/posix_spawnattr_destroy (License): Likewise.
21679         * modules/posix_spawn_file_actions_init (License): Likewise.
21680         * modules/posix_spawn_file_actions_addclose (License): Likewise.
21681         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
21682         * modules/posix_spawn_file_actions_addopen (License): Likewise.
21683         * modules/posix_spawn_file_actions_destroy (License): Likewise.
21684         * modules/getdtablesize (License): Likewise.
21685         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
21686
21687 2010-10-26  Bruno Haible  <bruno@clisp.org>
21688
21689         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
21690         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
21691         Cygwin and mingw.
21692         Suggested by Eric Blake.
21693
21694 2010-10-26  Bruno Haible  <bruno@clisp.org>
21695
21696         stdio: Work around compilation error due to renameat() on Solaris 10.
21697         * lib/stdio.in.h: Include <unistd.h> on Solaris.
21698         * lib/renameat.c: Don't include <unistd.h> here.
21699         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
21700         Reported by Paul Eggert and Eric Blake.
21701
21702 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
21703
21704         renameat: port to Solaris 10, which declares renameat in unistd.h
21705
21706         * lib/renameat.c: Include unistd.h before stdio.h, because
21707         Solaris 10 declares renameat in unistd.h.  Problem encountered
21708         when building GNU tar 1.24 on Solaris 10.
21709
21710 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21711
21712         fdopendir: fix C89 compilation
21713         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
21714         compilers.
21715
21716 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
21717
21718         inttostr: simplify by removing unnecessary redundancy
21719         * lib/anytostr.c: Don't include verify.h.
21720         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
21721         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
21722         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
21723         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
21724         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
21725         Likewise.
21726         * modules/inttostr (Depends-on): Remove 'verify'.
21727
21728 2010-10-23  Bruno Haible  <bruno@clisp.org>
21729
21730         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
21731         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
21732         Reported by Eric Blake.
21733
21734 2010-10-23  Bruno Haible  <bruno@clisp.org>
21735
21736         Tests: Fix LOCALE_JA on MirBSD 10.
21737         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
21738         to an UTF-8 locale.
21739         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
21740         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21741         Reported by Eric Blake.
21742
21743 2010-10-21  Bruno Haible  <bruno@clisp.org>
21744
21745         nl_langinfo test: Avoid test failure on NetBSD 5.
21746         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
21747         Reported by Eric Blake.
21748
21749 2010-10-21  Eric Blake  <eblake@redhat.com>
21750
21751         c-stack: work around libsigsegv 2.8 bug
21752         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
21753         overflow on at least PowerPC64.
21754
21755 2010-10-17  Bruno Haible  <bruno@clisp.org>
21756
21757         userspec: Drop redundant file.
21758         * modules/userspec (Files): Remove lib/inttostr.h.
21759
21760 2010-10-17  Bruno Haible  <bruno@clisp.org>
21761
21762         nl_langinfo tests: Silence some warnings.
21763         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
21764         Reported by Jim Meyering.
21765
21766 2010-10-17  Bruno Haible  <bruno@clisp.org>
21767
21768         Make use of GCC's attribute __alloc_size__.
21769         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
21770         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
21771         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
21772         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
21773         __alloc_size__.
21774         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
21775         Suggested by Jim Meyering.
21776
21777 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
21778
21779         bootstrap: anchor .gitignore entries.
21780         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
21781         with...
21782         (insert_vc_ignore): ... this new function, which prepends `/' to
21783         all .gitignore entries before passing them to
21784         insert_sorted_if_absent.
21785
21786 2010-10-16  Bruno Haible  <bruno@clisp.org>
21787
21788         nextafter: Fix configure check.
21789         * modules/nextafter (configure.ac): Correct expected prototype.
21790
21791 2010-10-16  Bruno Haible  <bruno@clisp.org>
21792
21793         termios: Update documentation.
21794         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
21795
21796 2010-10-16  Bruno Haible  <bruno@clisp.org>
21797
21798         tests: Make them compile with TinyCC.
21799         * tests/test-strstr.c (main): Remove parentheses around array
21800         initializer.
21801
21802 2010-10-15  Eric Blake  <eblake@redhat.com>
21803
21804         ignore-value: make header idempotent
21805         * lib/ignore-value.h: Add double-inclusion guards.
21806         Reported by Stefan Berger.
21807
21808 2010-10-15  Jim Meyering  <meyering@redhat.com>
21809
21810         GNUmakefile: handle "stable" target, not "major"
21811         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
21812         lists in maint.mk and announce-gen.  Without this, "make stable"
21813         would fail to ensure that $(VERSION) is up to date.
21814
21815 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
21816
21817         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
21818         & co.
21819
21820 2010-10-14  Bruno Haible  <bruno@clisp.org>
21821
21822         vasnprintf: Don't set errno to 0.
21823         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
21824         block that sets it to 0.
21825         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
21826
21827 2010-10-14  Bruno Haible  <bruno@clisp.org>
21828
21829         socketlib: Fix.
21830         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
21831         gl_PREREQ_SYS_H_WINSOCK2.
21832         Reported by Ian Beckwith <ianb@erislabs.net>.
21833
21834 2010-10-13  Jim Meyering  <meyering@redhat.com>
21835
21836         test-select-stdin.c: avoid warn_unused_result warnings
21837         * tests/test-select-stdin.c: Include "macros.h".
21838         ASSERT that read and fflush succeed.
21839
21840 2010-10-13  Jim Meyering  <meyering@redhat.com>
21841
21842         git-version-gen: do require git-VC'd files in cwd
21843         * build-aux/git-version-gen: Reject a git version string
21844         if there are no commits associated with the current directory.
21845         This avoids an unlikely false-positive (unrelated dir whose parent
21846         repository also contains a tag matching v*), as pointed out
21847         by Giuseppe Scrivano in
21848         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
21849
21850 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
21851
21852         argv-iter: omit nonconforming declaration
21853         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
21854         enum arg_iter_err declaration, which doesn't conform to C99.
21855         Solaris 10 cc warns about this.
21856
21857 2010-10-13  Eric Blake  <eblake@redhat.com>
21858
21859         termios: fix compilation on mingw
21860         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
21861         (gl_TERMIOS_H): Adjust it on mingw.
21862         * modules/termios (Makefile.am): Substitute new key.
21863         * lib/termios.in.h (includes): Make include_next conditional.
21864         * doc/posix-headers/termios.texi (termios.h): Update
21865         documentation.
21866         Reported by Daniel P. Berrange.
21867
21868 2010-10-13  Jim Meyering  <meyering@redhat.com>
21869
21870         git-version-gen: don't require that .git/ be in the current dir
21871         * build-aux/git-version-gen: Adjust this script so that it works
21872         when run from any working directory beneath the top-level .git/-
21873         containing directory.  Inspired by a patch from Giuseppe Scrivano,
21874         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
21875
21876         test-select: avoid warn_unused_result warnings
21877         * tests/test-select.c: Include "macros.h".
21878         ASSERT that each call to read, write, and pipe succeeds.
21879         While not technically required, also check each "close".
21880         * modules/select-tests (Files): Add tests/macros.h.
21881
21882         test-symlinkat: remove declaration of unused local
21883         * tests/test-symlinkat.c (main): Remove unused local, "buf".
21884
21885         test-inttostr: avoid shadowing warnings
21886         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
21887         and use malloc rather than the stack for the same reason as
21888         mentioned in the comment justifying the other allocation.
21889
21890 2010-10-11  Bruno Haible  <bruno@clisp.org>
21891
21892         stdlib: Allow multiple gnulib generated replacements to coexist.
21893         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
21894         Reported by Sam Steingold <sds@gnu.org>.
21895
21896 2010-10-11  Jim Meyering  <meyering@redhat.com>
21897
21898         fix a documentation typo
21899         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
21900
21901 2010-10-11  Eric Blake  <eblake@redhat.com>
21902
21903         futimens: work around Solaris 11 bug
21904         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
21905         * tests/test-futimens.h (test_futimens): Enhance, rather than
21906         weaken test.
21907         * doc/posix-functions/futimens.texi (futimens): Document the bug.
21908
21909 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
21910
21911         Indentation.
21912         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
21913         higher-level operators more to the left.
21914
21915 2010-10-11  Jim Meyering  <meyering@redhat.com>
21916
21917         test-futimens: avoid unwarranted test failure on Solaris 5.11
21918         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
21919         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
21920         because it tries to dereference the NULL name argument.
21921
21922 2010-10-11  Bruno Haible  <bruno@clisp.org>
21923
21924         Indentation.
21925         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
21926         indentation.
21927
21928 2010-10-11  Jim Meyering  <meyering@redhat.com>
21929
21930         spawn.in.h: make indentation consistent with parentheses
21931         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
21932         Make indentation consistent with parentheses.
21933
21934 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
21935
21936         Fix mismatched parens in previous commit
21937         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
21938         parens.
21939
21940 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21941
21942         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
21943
21944         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
21945         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
21946         * lib/malloca.c: Include "verify.h".
21947         (verify1): Remove, replacing with a verify call.
21948         * lib/relocwrapper.c (verify1): Likewise.
21949         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
21950         Likewise.
21951         * modules/malloca (Depends-on): Add 'verify'.
21952         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
21953         * modules/vasnprintf (Depends-on): Add 'verify'.
21954         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21955         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21956         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21957         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21958         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21959         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21960         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21961
21962         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
21963
21964         Formerly the style was sometimes 2*X - 1, because the C standard
21965         was wrongly thought to disallow ?: in integral constant expressions.
21966         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
21967         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
21968         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21969         * lib/stdint.in.h (_verify_intmax_size): Likewise.
21970         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
21971         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
21972         verify that time_t cannot be floating.
21973
21974 2010-10-08  Eric Blake  <eblake@redhat.com>
21975
21976         time: enforce recent POSIX ruling that time_t is integral
21977         * lib/time.in.h (__time_t_must_be_integral): Detect any
21978         problematic systems, allowing the rest of gnulib to assume POSIX.
21979
21980 2010-10-08  Jim Meyering  <meyering@redhat.com>
21981
21982         fdopendir: fix a bug on systems lacking openat and /proc support
21983         OpenBSD 4.7 is one such system.  The most noticeable effect was
21984         failure of any application making nontrivial use of fts: rm, du,
21985         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
21986           ./rm: traversal failed: `a': Bad file descriptor
21987         Debugging that, you see that even though FD 6 was closed just
21988         prior to the opendir call in fd_clone_opendir, its resulting
21989         dir->dd_fd was 8, rather than the expected value of 6:
21990
21991         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
21992         93                close (fd);
21993         (gdb) n
21994         94                dir = fd_clone_opendir (dupfd);
21995         (gdb) n
21996         95                saved_errno = errno;
21997         (gdb) p dir->dd_fd
21998         $11 = 8
21999
22000         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
22001         The problem is that on OpenBSD, fd_clone_opendir has to resort
22002         to using the old-style save/restore CWD mechanism, due to its
22003         lack of openat/proc support, and *that* would steal the FD (6)
22004         that opendir was supposed to use.
22005
22006         The fix is to squirrel away the desired FD so that save_cwd uses a
22007         different one, and then free the dest FD right before calling opendir.
22008         That guarantees opendir will use the required file descriptor.
22009
22010         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
22011
22012 2010-10-08  Bruno Haible  <bruno@clisp.org>
22013
22014         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
22015         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
22016
22017 2010-10-08  Bruno Haible  <bruno@clisp.org>
22018
22019         nanosleep: Make replacement POSIX compliant.
22020         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
22021         is out of range.
22022         Reported by Jim Meyering.
22023
22024 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
22025
22026         bootstrap: add hook for altering gnulib.mk, for Bison
22027         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
22028         the Bison bootstrapping process can rewrite file names and variables
22029         in this file before later parts of 'bootstrap' use the file.
22030         Bison wants to include lib/gnulib.mk from the top-level makefile,
22031         so it needs the file names in this file to be relative to the top
22032         level, not relative to lib; plus it needs variable names to be
22033         rewritten.
22034         (slurp): Use the new function.
22035
22036         bootstrap: reformat for readability
22037         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
22038
22039 2010-10-08  Eric Blake  <eblake@redhat.com>
22040
22041         docs: update cygwin progress
22042         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
22043         1.7.7.
22044         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
22045         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
22046         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
22047         * doc/posix-functions/carg.texi (carg): Likewise.
22048         * doc/posix-functions/cargf.texi (cargf): Likewise.
22049         * doc/posix-functions/casin.texi (casin): Likewise.
22050         * doc/posix-functions/casinf.texi (casinf): Likewise.
22051         * doc/posix-functions/casinh.texi (casinh): Likewise.
22052         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
22053         * doc/posix-functions/catan.texi (catan): Likewise.
22054         * doc/posix-functions/catanf.texi (catanf): Likewise.
22055         * doc/posix-functions/catanh.texi (catanh): Likewise.
22056         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
22057         * doc/posix-functions/ccos.texi (ccos): Likewise.
22058         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
22059         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
22060         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
22061         * doc/posix-functions/cexp.texi (cexp): Likewise.
22062         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
22063         * doc/posix-functions/cimag.texi (cimag): Likewise.
22064         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
22065         * doc/posix-functions/clog.texi (clog): Likewise.
22066         * doc/posix-functions/clogf.texi (clogf): Likewise.
22067         * doc/posix-functions/conj.texi (conj): Likewise.
22068         * doc/posix-functions/conjf.texi (conjf): Likewise.
22069         * doc/posix-functions/cpow.texi (cpow): Likewise.
22070         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
22071         * doc/posix-functions/cproj.texi (cproj): Likewise.
22072         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
22073         * doc/posix-functions/creal.texi (creal): Likewise.
22074         * doc/posix-functions/crealf.texi (crealf): Likewise.
22075         * doc/posix-functions/csin.texi (csin): Likewise.
22076         * doc/posix-functions/csinf.texi (csinf): Likewise.
22077         * doc/posix-functions/csinh.texi (csinh): Likewise.
22078         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
22079         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
22080         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
22081         * doc/posix-functions/ctan.texi (ctan): Likewise.
22082         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
22083         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
22084         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
22085         * doc/posix-headers/complex.texi (complex.h): Likewise.
22086
22087 2010-10-07  Jim Meyering  <meyering@redhat.com>
22088
22089         parse-datetime: avoid compilation failure on OpenBSD 4.7
22090         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
22091         This works around a compilation failure on OpenBSD 4.7:
22092         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
22093
22094 2010-10-07  Eric Blake  <eblake@redhat.com>
22095
22096         docs: update cygwin progress
22097         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
22098         1.7.6.
22099         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
22100         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
22101         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
22102         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
22103         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
22104         Likewise.
22105         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
22106         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
22107         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
22108         Likewise.
22109         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
22110         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
22111         Likewise.
22112         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
22113         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
22114         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
22115         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
22116         Likewise.
22117         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
22118         Likewise.
22119         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
22120
22121         docs: update parse-datetime history
22122         * doc/parse-datetime.texi (Authors of parse_datetime): Better
22123         documentation of this function's history and alternatives.
22124
22125         cygwin: use more robust version check
22126         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
22127         exclude an eventual cygwin 1.9.1.
22128         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22129         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22130         (gl_FUNC_STRCASESTR): Likewise.
22131         Reported by Bruno Haible.
22132
22133 2010-10-06  Bruno Haible  <bruno@clisp.org>
22134
22135         string, sys_select: Avoid #including large headers unless necessary.
22136         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
22137         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
22138         OSF/1, BeOS, Haiku.
22139         Reported by Jim Meyering.
22140
22141 2010-10-05  Eric Blake  <eblake@redhat.com>
22142
22143         memmem, strstr, strcasestr: fix bug with long periodic needle
22144         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
22145         periodic needle having false positive.
22146         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
22147         and cygwin 1.7.7.
22148         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
22149         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22150         (gl_FUNC_STRCASESTR): Likewise.
22151         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22152         * tests/test-memmem.c (main): Expose the bug.
22153         * tests/test-strcasestr.c (main): Likewise.
22154         * tests/test-strstr.c (main): Likewise.
22155         * tests/test-c-strcasestr.c (main): Likewise.
22156         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
22157         * doc/posix-functions/strstr.texi (strstr): Likewise.
22158         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
22159         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
22160
22161 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22162
22163         parse-datetime: do some more renaming
22164         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
22165         parse_datetime, not get_date.  Mention the renaming.
22166         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
22167         in comments.
22168         * m4/bison.m4: Likewise.
22169
22170 2010-10-05  Eric Blake  <eblake@redhat.com>
22171
22172         parse-datetime: better name than get_date
22173         * NEWS: Reword the deprecation notice.
22174         * modules/get_date: Rename to modules/parse-datetime.
22175         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
22176         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
22177         * lib/get_date.y: Rename to lib/parse-datetime.y.
22178         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
22179         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
22180         * doc/getdate.texi: Provide fallback wrapper.
22181         * lib/getdate.h: Move guts, and wrap...
22182         * lib/parse-datetime.h: ...new file.
22183         * lib/parse-datetime.y (get_date): Rename...
22184         (parse_datetime): ...to this.
22185         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
22186         (gl_PARSE_DATETIME): ...to this.
22187         * doc/posix-functions/getdate.texi (get_date): Provide fallback
22188         documentation.
22189         * modules/getdate (Files): Provide fallback docs and header.
22190         (Notice, Depends-on): Update references.
22191         * tests/test-parse-datetime.c: Likewise.
22192         * DEPENDENCIES: Likewise.
22193         * MODULES.html.sh (Date and time <time.h>): Likewise.
22194         * doc/parse-datetime.texi (Date input formats)
22195         (Authors of parse_datetime): Likewise.
22196         * modules/parse-datetime (Files, configure.ac, Makefile.am)
22197         (Include): Likewise.
22198         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
22199         * gnulib-tool: Likewise.
22200         * m4/bison.m4 (gl_BISON): Likewise.
22201         Suggested by Bruno Haible.
22202
22203 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22204
22205         more ports to Solaris tr, which needs [] around ranges
22206         * gnulib-tool: Solaris tr needs [] around ranges.
22207         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22208         * tests/test-pipe-filter-gi1.c (main): Likewise.
22209         * tests/test-pipe-filter-ii1.c (main): Likewise.
22210
22211 2010-10-05  Eric Blake  <eblake@redhat.com>
22212
22213         bootstrap: fix Solaris regression
22214         * build-aux/bootstrap (check_versions): Solaris tr still needs []
22215         around ranges.
22216         Reported by Pádraig Brady.
22217
22218         bootstrap: work with pkg-config
22219         * build-aux/bootstrap (check_versions): Also transliterate - in
22220         prerequisite name.
22221         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
22222         prerequisites that were already found, to avoid confusion.
22223         Reported by Justin Clift.
22224
22225         faccessat: remove unused wrappers
22226         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
22227         presence of these wrappers dragged in -lgen on Solaris.
22228         Reported by Clemens Brogi; fix suggested by Paul Eggert.
22229
22230 2010-10-05  Jim Meyering  <meyering@redhat.com>
22231
22232         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
22233         * Makefile (sc_pragma_columns): New syntax-check rule.
22234
22235 2010-10-04  Bruno Haible  <bruno@clisp.org>
22236
22237         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
22238         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
22239         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
22240         Reported by Bruce Korb and Eric Blake.
22241
22242 2010-10-04  Bruno Haible  <bruno@clisp.org>
22243
22244         threadlib: Make option --with-libpth-prefix work.
22245         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
22246         use $LIBPTH, not just -lpth.
22247
22248 2010-10-04  Bruno Haible  <bruno@clisp.org>
22249
22250         Avoid line length limitation from HP NonStop system header files.
22251         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
22252         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
22253         * lib/ctype.in.h: Likewise.
22254         * lib/dirent.in.h: Likewise.
22255         * lib/errno.in.h: Likewise.
22256         * lib/fcntl.in.h: Likewise.
22257         * lib/float.in.h: Likewise.
22258         * lib/getopt.in.h: Likewise.
22259         * lib/iconv.in.h: Likewise.
22260         * lib/inttypes.in.h: Likewise.
22261         * lib/langinfo.in.h: Likewise.
22262         * lib/locale.in.h: Likewise.
22263         * lib/math.in.h: Likewise.
22264         * lib/netdb.in.h: Likewise.
22265         * lib/netinet_in.in.h: Likewise.
22266         * lib/poll.in.h: Likewise.
22267         * lib/pthread.in.h: Likewise.
22268         * lib/pty.in.h: Likewise.
22269         * lib/sched.in.h: Likewise.
22270         * lib/se-selinux.in.h: Likewise.
22271         * lib/search.in.h: Likewise.
22272         * lib/signal.in.h: Likewise.
22273         * lib/spawn.in.h: Likewise.
22274         * lib/stdarg.in.h: Likewise.
22275         * lib/stddef.in.h: Likewise.
22276         * lib/stdint.in.h: Likewise.
22277         * lib/stdio.in.h: Likewise.
22278         * lib/stdlib.in.h: Likewise.
22279         * lib/string.in.h: Likewise.
22280         * lib/strings.in.h: Likewise.
22281         * lib/sys_file.in.h: Likewise.
22282         * lib/sys_ioctl.in.h: Likewise.
22283         * lib/sys_select.in.h: Likewise.
22284         * lib/sys_socket.in.h: Likewise.
22285         * lib/sys_stat.in.h: Likewise.
22286         * lib/sys_time.in.h: Likewise.
22287         * lib/sys_times.in.h: Likewise.
22288         * lib/sys_utsname.in.h: Likewise.
22289         * lib/sys_wait.in.h: Likewise.
22290         * lib/sysexits.in.h: Likewise.
22291         * lib/termios.in.h: Likewise.
22292         * lib/time.in.h: Likewise.
22293         * lib/unistd.in.h: Likewise.
22294         * lib/wchar.in.h: Likewise.
22295         * lib/wctype.in.h: Likewise.
22296         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
22297         * modules/ctype (Makefile.am): Likewise.
22298         * modules/dirent (Makefile.am): Likewise.
22299         * modules/errno (Makefile.am): Likewise.
22300         * modules/fcntl-h (Makefile.am): Likewise.
22301         * modules/float (Makefile.am): Likewise.
22302         * modules/getopt-posix (Makefile.am): Likewise.
22303         * modules/iconv-h (Makefile.am): Likewise.
22304         * modules/inttypes (Makefile.am): Likewise.
22305         * modules/langinfo (Makefile.am): Likewise.
22306         * modules/locale (Makefile.am): Likewise.
22307         * modules/math (Makefile.am): Likewise.
22308         * modules/netdb (Makefile.am): Likewise.
22309         * modules/netinet_in (Makefile.am): Likewise.
22310         * modules/poll-h (Makefile.am): Likewise.
22311         * modules/pthread (Makefile.am): Likewise.
22312         * modules/pty (Makefile.am): Likewise.
22313         * modules/sched (Makefile.am): Likewise.
22314         * modules/search (Makefile.am): Likewise.
22315         * modules/selinux-h (Makefile.am): Likewise.
22316         * modules/signal (Makefile.am): Likewise.
22317         * modules/spawn (Makefile.am): Likewise.
22318         * modules/stdarg (Makefile.am): Likewise.
22319         * modules/stddef (Makefile.am): Likewise.
22320         * modules/stdint (Makefile.am): Likewise.
22321         * modules/stdio (Makefile.am): Likewise.
22322         * modules/stdlib (Makefile.am): Likewise.
22323         * modules/string (Makefile.am): Likewise.
22324         * modules/strings (Makefile.am): Likewise.
22325         * modules/sys_file (Makefile.am): Likewise.
22326         * modules/sys_ioctl (Makefile.am): Likewise.
22327         * modules/sys_select (Makefile.am): Likewise.
22328         * modules/sys_socket (Makefile.am): Likewise.
22329         * modules/sys_stat (Makefile.am): Likewise.
22330         * modules/sys_time (Makefile.am): Likewise.
22331         * modules/sys_times (Makefile.am): Likewise.
22332         * modules/sys_utsname (Makefile.am): Likewise.
22333         * modules/sys_wait (Makefile.am): Likewise.
22334         * modules/sysexits (Makefile.am): Likewise.
22335         * modules/termios (Makefile.am): Likewise.
22336         * modules/time (Makefile.am): Likewise.
22337         * modules/unistd (Makefile.am): Likewise.
22338         * modules/wchar (Makefile.am): Likewise.
22339         * modules/wctype (Makefile.am): Likewise.
22340
22341 2010-10-04  Bruno Haible  <bruno@clisp.org>
22342
22343         read-file tests: Avoid a test failure on NonStop Kernel.
22344         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
22345         a regular file.
22346         Reported by Joachim Schmitz <schmitz@hp.com>.
22347
22348 2010-10-03  Bruno Haible  <bruno@clisp.org>
22349
22350         gnulib-tool: Fixes for --create-testdir with --libtool.
22351         * gnulib-tool (func_get_automake_snippet): Don't augment
22352         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
22353         an executable.
22354         (func_create_testdir): Handle module 'alloca' like func_import.
22355         Reported by Bruce Korb <bruce.korb@gmail.com>.
22356
22357 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
22358
22359         Avoid some lines longer than 80 characters.
22360         * lib/stdint.in.h: Break long comment lines.
22361         * lib/math.in.h: Likewise.
22362         (_GL_NUM_UINT_WORDS): New macro, for readability.
22363         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
22364         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
22365         * lib/stdlib.in.h: Likewise.
22366         * lib/spawn.in.h: Likewise.
22367         * lib/sys_socket.in.h: Update an URL.
22368         * lib/sys_stat.in.h: Break long line.
22369
22370 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
22371
22372         Improve pmccabe2html.
22373         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
22374         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
22375         when the sources change. Remove the line in the HTML about "Used
22376         ranges" (which implied that there might be other unused ranges),
22377         rename "Resume" to "Summary" (easier to understand for more users).
22378         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
22379         styles, and some unnecessary blank lines.
22380
22381 2010-10-03  Bruno Haible  <bruno@clisp.org>
22382             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
22383
22384         acl: Add support for ACLs on NonStop Kernel.
22385         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
22386         Check whether the function aclsort() exists.
22387         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
22388         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
22389         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22390         (acl_nontrivial [HAVE_ACLSORT]: New function.
22391         (file_has_acl): Implement for NonStop Kernel.
22392         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22393         (qset_acl): Implement for NonStop Kernel.
22394         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
22395         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22396         (main): Implement for NonStop Kernel.
22397         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
22398         Kernel. Handle this flavor.
22399         * tests/test-set-mode-acl.sh: Likewise.
22400         * tests/test-copy-acl.sh: Likewise.
22401         * tests/test-copy-file.sh: Likewise.
22402
22403 2010-10-03  Bruno Haible  <bruno@clisp.org>
22404
22405         Info about ACLs on NonStop Kernel.
22406         * doc/acl-resources.txt: Add info about NonStop Kernel.
22407         References by Joachim Schmitz <schmitz@hp.com>.
22408
22409 2010-10-02  Bruno Haible  <bruno@clisp.org>
22410
22411         Define missing EDQUOT on NonStop Kernel.
22412         * lib/errno.in.h (EDQUOT): Assign a value if missing.
22413         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
22414         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
22415         missing.
22416         * doc/posix-headers/errno.texi: Mention the NSK bug.
22417         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
22418         Reported by Joachim Schmitz <schmitz@hp.com>.
22419
22420 2010-10-02  Bruno Haible  <bruno@clisp.org>
22421
22422         Update doc for POSIX:2008.
22423         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
22424         Update URL of POSIX specification.
22425
22426 2010-10-02  Bruno Haible  <bruno@clisp.org>
22427
22428         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
22429         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
22430         from gnulib, not from Automake.
22431
22432 2010-10-02  Bruno Haible  <bruno@clisp.org>
22433
22434         New module 'system-posix'.
22435         * modules/system-posix: New file.
22436         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
22437         module is present.
22438         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
22439         GNULIB_SYSTEM_POSIX.
22440         * modules/stdlib (Depends-on): Remove sys_wait.
22441         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
22442         * doc/posix-functions/system.texi: Mention the new module.
22443         * doc/posix-headers/stdlib.texi: Likewise.
22444         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
22445         define test_sys_wait_macros to a no-op.
22446         Reported by Sam Steingold <sds@gnu.org>.
22447
22448 2010-09-30  Bruno Haible  <bruno@clisp.org>
22449
22450         More renaming from 'getdate' to 'get_date'.
22451         * doc/get_date.texi: Renamed from doc/getdate.texi.
22452         * modules/get_date (Files): Update.
22453         * MODULES.html.sh (Date and time <time.h>): Update.
22454         * DEPENDENCIES: Update.
22455         * gnulib-tool: Update comment.
22456         * m4/bison.m4 (gl_BISON): Likewise.
22457         * m4/get_date.m4 (gl_GET_DATE): Likewise.
22458
22459 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
22460
22461         bootstrap: support ACLOCAL_FLAGS during aclocal
22462         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
22463         can add additional -I dir for third-party .m4 files.
22464
22465 2010-09-30  Eric Blake  <eblake@redhat.com>
22466
22467         bootstrap: use glibtoolize on MacOS
22468         * build-aux/bootstrap (check_versions): Convert libtool into
22469         libtoolize.
22470         (tool search): Move libtool check earlier, and look for
22471         glibtoolize for MacOS.
22472         (gnulib_tool_options): Auto-add --libtool when appropriate.
22473         Reported by Justin Clift.
22474
22475         poll: fix typo that broke test on MacOS
22476         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
22477         Reported by Justin Clift.
22478
22479         getdate: rename to get_date
22480         Note: getdate.h is not renamed, to minimize client impact.
22481         * modules/getdate: Mark obsolete.  Move old contents...
22482         * modules/get_date: ...to new module name.
22483         * modules/getdate-tests: Move...
22484         * modules/get_date-tests: ...here.
22485         * m4/getdate.m4: Move...
22486         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
22487         * lib/getdate.y: Move...
22488         * lib/get_date.y: ...here.
22489         * tests/test-getdate.c: Move...
22490         * tests/test-get_date.c: ...here.
22491         * doc/posix-functions/getdate.texi (getdate): Update name.
22492         * NEWS: Mention the change.
22493
22494 2010-09-29  Bruno Haible  <bruno@clisp.org>
22495
22496         Separate the module 'waitpid' from the module 'sys_wait'.
22497         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
22498         present.
22499         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
22500         gl_MODULE_INDICATOR_FOR_TESTS.
22501         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
22502         * modules/sys_wait (Depends-on): Remove waitpid.
22503         (Makefile.am): Substitute GNULIB_WAITPID.
22504         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
22505         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
22506         signature only if the 'waitpid' module is present.
22507         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
22508         * NEWS: Mention the change.
22509         * modules/grantpt (Depends-on): Add waitpid.
22510         * modules/wait-process (Depends-on): Likewise.
22511
22512 2010-09-29  Bruno Haible  <bruno@clisp.org>
22513
22514         More tests for module 'sys_wait'.
22515         * modules/sys_wait-c++-tests: New file.
22516         * tests/test-sys_wait-c++.cc: New file.
22517         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
22518         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
22519
22520 2010-09-29  Bruno Haible  <bruno@clisp.org>
22521
22522         New module 'waitpid'.
22523         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
22524         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
22525         Don't include <process.h>.
22526         (waitpid): Declare only, using modern idiom.
22527         * m4/waitpid.m4: New file.
22528         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
22529         * modules/waitpid: New file.
22530         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
22531         (Makefile.am): Update.
22532         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
22533
22534 2010-09-28  Bruno Haible  <bruno@clisp.org>
22535
22536         poll: Assume ANSI C.
22537         * lib/poll.c (poll): Use an ANSI C declaration.
22538
22539 2010-09-28  Bruno Haible  <bruno@clisp.org>
22540
22541         poll-h: Create poll.h on all platforms.
22542         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
22543         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
22544         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
22545         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
22546         (gl_REPLACE_POLL_H): Don't set POLL_H.
22547         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
22548         * modules/poll-h (Depends-on): Add include_next.
22549         (Makefile.am): Create poll.h unconditionally. Substitute also
22550         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
22551
22552 2010-09-28  Bruno Haible  <bruno@clisp.org>
22553
22554         Tests for module 'poll-h'.
22555         * modules/poll-h-c++-tests: New file.
22556         * tests/test-poll-h-c++.cc: New file.
22557
22558         Tests for module 'poll-h'.
22559         * modules/poll-h-tests: New file.
22560         * tests/test-poll-h.c: New file.
22561
22562 2010-09-28  Bruno Haible  <bruno@clisp.org>
22563
22564         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
22565         * modules/poll-h (Depends-on): Add 'extensions'.
22566
22567 2010-09-28  Bruno Haible  <bruno@clisp.org>
22568
22569         New module 'poll-h'.
22570         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
22571         (poll): Use modern idiom.
22572         * modules/poll-h: New file.
22573         * modules/poll (Files): Remove lib/poll.in.h.
22574         (Depends-on): Add poll-h.
22575         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
22576         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
22577         * m4/poll_h.m4: New file.
22578         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
22579         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
22580         and invoke gl_REPLACE_POLL_H.
22581         * lib/poll.c: Use common idiom.
22582         * tests/test-poll.c: Likewise.
22583         * doc/posix-headers/poll.texi: Mention the poll-h module.
22584         Suggested by Eric Blake.
22585
22586 2010-09-26  Bruno Haible  <bruno@clisp.org>
22587
22588         sys_wait: Implement WSTOPSIG.
22589         * lib/sys_wait.in.h (WSTOPSIG): New macro.
22590         Reported by Simon Josefsson.
22591
22592 2010-09-26  Simon Josefsson  <simon@josefsson.org>
22593
22594         stdlib, sys_wait: Avoid compilation error on mingw.
22595         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
22596
22597 2010-09-26  Bruno Haible  <bruno@clisp.org>
22598
22599         stdlib tests: Avoid code duplication.
22600         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
22601         * modules/sys_wait-tests (Files): Likewise.
22602         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
22603         * tests/test-stdlib.c: Include test-sys_wait.h.
22604         (main): Invoke test_sys_wait_macros.
22605         * tests/test-sys_wait.c: Include test-sys_wait.h.
22606         (main): Invoke test_sys_wait_macros.
22607
22608 2010-09-25  Simon Josefsson  <simon@josefsson.org>
22609
22610         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
22611         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
22612         sure Windows sockets are working before calling getaddrinfo.
22613         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
22614         * doc/gnulib.texi (Windows sockets): Fix typo.
22615
22616 2010-09-25  Bruno Haible  <bruno@clisp.org>
22617
22618         Tests for module 'regex-quote'.
22619         * modules/regex-quote-tests: New file.
22620         * tests/test-regex-quote.c: New file.
22621
22622         New module 'regex-quote'.
22623         * lib/regex-quote.h: New file.
22624         * lib/regex-quote.c: New file.
22625         * modules/regex-quote: New file.
22626         Suggested by Reuben Thomas <rrt@sc3d.org>.
22627
22628 2010-09-24  Bruno Haible  <bruno@clisp.org>
22629
22630         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
22631         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
22632
22633 2010-09-23  Bruno Haible  <bruno@clisp.org>
22634
22635         setenv: Relax license.
22636         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
22637         Blake.
22638         Requested by Eric Blake.
22639
22640 2010-09-22  Bruno Haible  <bruno@clisp.org>
22641
22642         termios: Relax license.
22643         * modules/termios (License): Change to LGPLv2+.
22644         Requested by Eric Blake.
22645
22646 2010-09-22  Bruno Haible  <bruno@clisp.org>
22647
22648         threadlib: Allow the package to change the default to 'no'.
22649         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
22650         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
22651         Reported by Paul Eggert.
22652
22653 2010-09-22  Pádraig Brady  <P@draigbrady.com>
22654             Bruno Haible  <bruno@clisp.org>
22655
22656         Fix endless loop in mbmemcasecoll.
22657         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
22658         byte.
22659         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
22660
22661 2010-09-22  Bruno Haible  <bruno@clisp.org>
22662
22663         Tests for module 'memcoll'.
22664         * modules/memcoll-tests: New file.
22665         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
22666
22667         memcoll, xmemcoll: Clarify size vs. length.
22668         * modules/memcoll.c (memcoll0): Clarify specification.
22669         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
22670         passed to collate_error.
22671
22672 2010-09-22  Bruno Haible  <bruno@clisp.org>
22673
22674         Tests for module 'memcasecmp'.
22675         * modules/memcasecmp-tests: New file.
22676         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
22677
22678 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
22679
22680         * lib/pthread.in.h: Add split double-inclusion guard, and include
22681         system <pthread.h> if there is one.  Use @@-style as in other
22682         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
22683         pthread.h doesn't.
22684         (pthread_mutexattr_destroy, pthread_mutexattr_init):
22685         (pthread_mutexattr_settype, pthread_mutex_trylock):
22686         New static inline functions, if there's no system <pthread.h>.
22687         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
22688         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
22689         Approximate with mutexes if the system lacks spinlocks, as in
22690         MacOS.
22691         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
22692         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
22693         @@-style.  Check for spinlocks separately.
22694         (gl_PTHREAD_DEFAULTS): New macro.
22695         * modules/pthread: Redo to use a more typical style for in.h files.
22696
22697 2010-09-21  Eric Blake  <eblake@redhat.com>
22698
22699         net_if: enhance tests
22700         * tests/test-net_if.c (main): Move signature checks earlier.
22701         Print failures to stderr.
22702         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
22703         Document the bug that we do not yet fix.
22704
22705 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22706
22707         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
22708         about gnulib, not GSS.
22709
22710 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22711
22712         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
22713         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
22714         for Emacs.
22715         * build-aux/pmccabe2html: Make Makefile.am example code more
22716         cut-and-paste friendly.
22717
22718 2010-09-21  Simon Josefsson  <simon@josefsson.org>
22719
22720         * tests/test-net_if.c: New file.
22721         * modules/net_if-tests: New file.
22722
22723 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
22724
22725         pthread: add pthread_spin_destroy
22726         * lib/pthread.in.h (pthread_spin_destroy): New function.
22727
22728 2010-09-19  Bruno Haible  <bruno@clisp.org>
22729
22730         gnulib-tool: Fix --help output.
22731         * gnulib-tool (func_usage): Fix help message.
22732         Reported by Reuben Thomas <rrt@sc3d.org>.
22733
22734 2010-09-18  Jim Meyering  <meyering@redhat.com>
22735
22736         maint.mk: avoid unexpanded \n in two diagnostics
22737         * top/maint.mk (sc_prohibit_always_true_header_tests):
22738         Don't use a literal \n in a halt=... assignment.  It would not be
22739         expanded, and the two \n bytes would appear in the diagnostic output
22740         rather than the desired newline.  Use halt=$$(printf ... instead.
22741         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
22742
22743 2010-09-18  Bruno Haible  <bruno@clisp.org>
22744
22745         netinet_in: Doc tweak.
22746         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
22747         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22748
22749 2010-09-18  Jim Meyering  <meyering@redhat.com>
22750
22751         init.sh: correct an outdated comment
22752         * tests/init.sh (create_exe_shims_):  s/function/alias/
22753
22754         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
22755         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
22756         a file named "*.exe" is removed between the glob expansion and the
22757         processing of that oddly named file.
22758
22759 2010-09-17  Eric Blake  <eblake@redhat.com>
22760
22761         mirbsd: add some more support
22762         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
22763         in BSD family.
22764         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
22765         devices as OpenBSD.
22766         * m4/host-os.m4 (mirbsd): Add MirBSD.
22767
22768         tests: fix unportable assumption on sys/wait.h
22769         * tests/test-sys_wait.c (main): Relax test.
22770         * tests/test-stdlib.c (main): Likewise.
22771
22772         init.sh: accomodate directory with no .exes
22773         * tests/init.sh: Accomodate directory containing only scripts.
22774
22775         tests: avoid compiler warning
22776         * tests/test-stdlib.c (main): Use the variable.
22777
22778         fdutimens, fdutimensat: update signature, again
22779         * lib/utimens.h (gl_futimens): Delete, and move signature...
22780         (fdutimens): ...here.
22781         (fdutimensat): Rearrange signature.
22782         (lutimensat): Rename variable for clarity.
22783         * lib/fdutimensat.c (fdutimensat): Update signature.
22784         * lib/utimens.c (fdutimens): Likewise.
22785         (gl_futimens): Delete.
22786         (utimens, lutimens): Update callers.
22787         * lib/futimens.c (futimens): Likewise.
22788         * tests/test-fdutimensat.c: Likewise.
22789         * tests/test-utimens.c: Likewise.
22790         * tests/test-futimens.h: Update comment.
22791         * NEWS: Mention this.
22792         Suggested by Paul Eggert.
22793
22794 2010-09-17  Bruno Haible  <bruno@clisp.org>
22795
22796         Take over the maintenance of some older macros from Autoconf.
22797         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
22798         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
22799         GNU Autoconf.
22800         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
22801         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
22802
22803 2010-09-17  Eric Blake  <eblake@redhat.com>
22804
22805         fdutimensat: drop atflag validation
22806         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
22807         with valid fd, to close a race scenario where futimens is
22808         unsupported and FILE was replaced by a symlink.
22809         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
22810         accordingly.
22811         Suggested by Paul Eggert.
22812
22813 2010-09-16  Bruno Haible  <bruno@clisp.org>
22814
22815         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
22816         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
22817
22818 2010-09-16  Bruno Haible  <bruno@clisp.org>
22819
22820         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
22821         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
22822         login_tty exists.
22823         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22824
22825 2010-09-16  Bruno Haible  <bruno@clisp.org>
22826
22827         login_tty: Make the replacement code work on BSD systems.
22828         * lib/login_tty.c: Include <sys/ioctl.h>.
22829         (login_tty): Use ioctl TIOCSCTTY when available.
22830         * modules/login_tty (Depends-on): Add sys_ioctl.
22831         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22832
22833 2010-09-16  Bruno Haible  <bruno@clisp.org>
22834
22835         login_tty: Stricter unit test.
22836         * modules/login_tty-tests (Depends-on): Add tcgetsid.
22837         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
22838         and tcgetsid() after login_tty.
22839         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22840
22841 2010-09-16  Bruno Haible  <bruno@clisp.org>
22842
22843         New module 'tcgetsid'.
22844         * lib/tcgetsid.c: New file.
22845         * m4/tcgetsid.m4: New file.
22846         * modules/tcgetsid: New file.
22847         * modules/termios (Depends-on): Add c++defs, warn-on-use.
22848         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
22849         GNULIB_TCGETSID, HAVE_TCGETSID.
22850         * lib/termios.in.h: Include <sys/types.h>.
22851         (tcgetsid): New declaration.
22852         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
22853         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
22854         * doc/posix-functions/tcgetsid.texi: Mention the new module.
22855         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
22856
22857 2010-09-16  Bruno Haible  <bruno@clisp.org>
22858
22859         Tests for module 'termios'.
22860         * modules/termios-c++-tests: New file.
22861         * modules/termios-tests: New file.
22862         * tests/test-termios-c++.cc: New file.
22863         * tests/test-termios.c: New file.
22864
22865         New module 'termios'.
22866         * modules/termios: New file.
22867         * lib/termios.in.h: New file.
22868         * m4/termios_h.m4: New file.
22869         * doc/posix-headers/termios.texi: Mention the new module.
22870
22871 2010-09-16  Eric Blake  <eblake@redhat.com>
22872
22873         fdutimensat: add an atflag parameter
22874         * lib/fdutimensat.c (fdutimensat): Add new parameter.
22875         * lib/utimens.h (fdutimensat): Update prototype.
22876         * tests/test-fdutimensat.c: Adjust test to match.
22877         * NEWS: Document the change.
22878         Suggested by Paul Eggert.
22879
22880 2010-09-16  Bruno Haible  <bruno@clisp.org>
22881
22882         Fix typos in comments.
22883         * lib/striconveh.h: Fix typo in comment.
22884         * lib/login_tty.c (login_tty): Likewise.
22885
22886 2010-09-15  Bruno Haible  <bruno@clisp.org>
22887
22888         stdlib: clarify MirBSD WEXITSTATUS bug
22889         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
22890         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22891
22892 2010-09-15  Eric Blake  <eblake@redhat.com>
22893
22894         stdlib: work around MirBSD WEXITSTATUS bug
22895         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
22896         * modules/stdlib (Depends-on): Add sys_wait.
22897         * tests/test-sys_wait.c (main): Enhance test.
22898         * tests/test-stdlib.c (main): Likewise.
22899         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
22900
22901         docs: mention MacOS issue with WEXITSTATUS(constant)
22902         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
22903         issue.
22904         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22905
22906         strnlen: add tests
22907         * modules/strnlen-tests: New file.
22908         * tests/test-strnlen.c: Likewise.
22909
22910 2010-09-14  Bruno Haible  <bruno@clisp.org>
22911
22912         unistr/base: Avoid link errors when module 'libunistring' is also used.
22913         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
22914         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
22915         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
22916         Declare also when HAVE_LIBUNISTRING is set.
22917         Reported by Pádraig Brady <P@draigbrady.com>.
22918
22919 2010-09-14  Eric Blake  <eblake@redhat.com>
22920
22921         test-rawmemchr: make more robust
22922         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
22923         (Depends-on, configure.ac): Add needed prerequisites to use it.
22924         * modules/memchr-tests (Files, Depends-on, configure.ac):
22925         Likewise, to avoid implicit reliance on memchr module prereqs.
22926         * tests/test-memchr.c (main): Ensure proper masking.
22927         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
22928         reads.
22929
22930         memchr: detect glibc Alpha bug
22931         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
22932         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
22933         Alpha.
22934         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
22935         * tests/test-memchr.c (main): Enhance test.
22936         Reported by Nelson H. F. Beebe.
22937
22938 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22939
22940         fts, getcwd, glob: audit for dirfd returning -1
22941         * lib/fts.c (opendir): Remove #define; no longer used.
22942         (opendirat): New arg PDIR_FD.  All callers changed.
22943         (fts_build, _opendir2): Use new opendirat to avoid the need for
22944         dirfd, or for checking whether dirfd returns a negative value.
22945         Don't use opendir; always use openat followed by fdopendir.
22946         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
22947         it.
22948         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
22949         returns -1 here.
22950         * modules/fts (Depends-on): Remove dirfd.
22951         * modules/getcwd (Depends-on): Likewise.
22952
22953 2010-09-13  Eric Blake  <eblake@redhat.com>
22954
22955         float: fix broken MirBSD header
22956         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
22957         * doc/posix-headers/float.texi (float.h): Document it.
22958
22959 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22960
22961         fts: use O_NOFOLLOW to avoid race condition when opening a directory
22962         * lib/fts.c (opendirat): New arg extra_flags.
22963         (__opendir2): Use it to avoid following symlinks when opening
22964         a directory, if symlinks are not supposed to be followed.  See
22965         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
22966
22967         fdopendir: preserve argument fd before returning
22968         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
22969         (fdopendir_with_dup, fd_clone_opendir): New static functions.
22970         (fdopendir): Use them, arranging for FD to be open to the same
22971         directory that it was when it started.  (It might be temporarily
22972         closed while fdopendir is running, so this not thread- or
22973         signal-safe.)  Be careful to do the right thing even when file
22974         descriptors are scarce and dup fails with errno == EMFILE.  See
22975         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
22976
22977 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
22978
22979         regex: Pass the system regex if its only problem is 32-bit regoff_t.
22980         * NEWS: Document change.
22981         * m4/regex.m4: Disable test for regoff_t size.
22982
22983 2010-09-13  Jim Meyering  <meyering@redhat.com>
22984
22985         fts: don't operate on an invalid file descriptor after failed dup
22986         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
22987         negative file descriptor.
22988
22989 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22990
22991         savedir: add streamsavedir, deprecate fdsavedir
22992         * NEWS: Mention deprecation of fdsavedir.
22993         * lib/savedir.c (streamsavedir): New extern function, whose name
22994         ends in "savedir" to be consistent with the others.  This differs
22995         from savedirstream in that it doesn't close its argument.  The
22996         next version of GNU tar will use this instead of fdsavedir, to
22997         avoid some race conditions and conserve file descriptors.
22998         (savedirstream): Reimplement as a wrapper around streamsavedir.
22999         (fdsavedir): Add a comment deprecating this function.  As far as
23000         I know, only GNU tar used it, and GNU tar doesn't need it any more.
23001         * lib/savedir.h (streamsavedir): New decl.
23002         (fdsavedir): Add a comment deprecating this.
23003
23004 2010-09-10  Bruno Haible  <bruno@clisp.org>
23005
23006         langinfo: Fix last commit.
23007         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
23008         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
23009         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23010
23011 2010-09-10  Bruno Haible  <bruno@clisp.org>
23012
23013         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
23014         * lib/progreloc.c (O_EXEC): Define fallback.
23015
23016 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
23017
23018         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
23019         * NEWS: Document recent changes to fcntl-h.
23020         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
23021         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
23022         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
23023         Similarly for O_SEARCH; this last was already true, but not documented.
23024         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
23025         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
23026         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
23027         Likewise.
23028         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
23029         is zero, not whether it is defined.
23030         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
23031         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
23032         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
23033
23034 2010-09-10  Bruno Haible  <bruno@clisp.org>
23035
23036         langinfo, nl_langinfo: Fix for IRIX 5.3.
23037         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
23038         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
23039         HAVE_LANGINFO_YESEXPR.
23040         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
23041         HAVE_LANGINFO_YESEXPR.
23042         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
23043         HAVE_LANGINFO_T_FMT_AMPM is 0.
23044         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
23045         HAVE_LANGINFO_YESEXPR is 0.
23046         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
23047         NOEXPR.
23048         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
23049         * doc/posix-functions/nl_langinfo.texi: Likewise.
23050         Reported by Eric Blake.
23051
23052 2010-09-10  Bruno Haible  <bruno@clisp.org>
23053
23054         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
23055         * doc/glibc-functions/login_tty.texi: Mention the include file problem
23056         on FreeBSD 8.0 and OpenBSD 4.6.
23057         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
23058         * m4/pty_h.m4 (gl_PTY_H): Likewise.
23059         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
23060         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
23061         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
23062         ac_includes_default.
23063         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23064
23065 2010-09-09  Eric Blake  <eblake@redhat.com>
23066
23067         strsignal: work around NetBSD bug
23068         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
23069         * lib/string.in.h (includes): Likewise.
23070         * doc/posix-functions/strsignal.texi (strsignal): Document the
23071         bug.
23072         Reported by Nelson H. F. Beebe.
23073
23074         gnulib-tool: work with NetBSD /bin/sh
23075         * gnulib-tool (func_cache_var, func_cache_lookup_module)
23076         (func_get_description, func_get_comment, func_get_status)
23077         (func_get_notice, func_get_applicability, func_get_filelist)
23078         (func_get_dependencies, func_get_autoconf_early_snippet)
23079         (func_get_autoconf_snippet, func_get_automake_snippet)
23080         (func_get_include_directive, func_get_link_directive)
23081         (func_get_license, func_get_maintainer, func_import): Avoid
23082         shell syntax errors from parsing syntax extensions.
23083
23084 2010-09-09  Bruno Haible  <bruno@clisp.org>
23085
23086         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
23087         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
23088         a reliable way to determine whether the 'alias' command works.
23089
23090 2010-09-08  Jim Meyering  <meyering@redhat.com>
23091
23092         init.sh: penalize a set-x-impaired shell; don't disqualify it
23093         * tests/init.sh: Too many shells corrupt application stderr when
23094         you set -x, so we can't afford to disqualify them, since at least
23095         on Irix-6.5, that would disqualify all bourne shells.
23096         Instead, use a two-pass approach.
23097         On the first pass, try to find a shell that meets the stricter
23098         condition that set -x does not corrupt stderr.
23099         If no shell meets the stricter condition, retest each candidate
23100         shell, but without that extra condition.  Finally, when
23101         VERBOSE=yes is requested and set -x might cause trouble, simply
23102         issue a warning and refrain from enabling debug output.
23103
23104 2010-09-08  Eric Blake  <eblake@redhat.com>
23105
23106         unsetenv: fix OpenBSD bug
23107         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
23108         * doc/posix-functions/unsetenv.texi (unsetenv): Update
23109         documentation.
23110         Reported by Jim Meyering.
23111
23112         strtod: work around IRIX 6.5 bug
23113         * lib/strtod.c (strtod): Reparse number on shorter string if
23114         exponent parse was invalid.
23115         * tests/test-strtod.c (main): Add check for "0x1p 2".
23116         Reported by Tom G. Christensen.
23117
23118         getopt: optimize previous patch
23119         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
23120         empty variable.  Speed up awk script.
23121         Reported by Paolo Bonzini.
23122
23123 2010-09-08  Jim Meyering  <meyering@redhat.com>
23124
23125         test.sh: disqualify shells for which set -x corrupts stderr
23126         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
23127         and OpenBSD 4.7.  They make it so with "set -x", environment settings
23128         appear in stderr output.  For example, this command:
23129             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
23130         prints "P=1" on those two systems:
23131
23132 2010-09-08  Bruno Haible  <bruno@clisp.org>
23133
23134         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
23135         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
23136         commands, because some shells ignore redirections when there is an
23137         error in the command lookup.
23138         Reported by Eric Blake.
23139
23140 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
23141
23142         * lib/regex.h: Fix a mention of `regex_compile' (should be
23143         `re_compile_pattern').
23144         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
23145         (re_set_registers): Correct name of parameter in comment.
23146
23147         * doc/regex.texi: Add documentation for missing syntax flags.
23148         Remove commented-out documentation of defunct syntax option
23149         RE_NO_EMPTY_ALTS.
23150         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
23151         Add documentation of re_set_registers.
23152         Document trick to re-use a pattern buffer by setting fastmap manually.
23153         Update documentation of struct re_pattern_buffer per public members.
23154         Uncomment documentation of equivalence class operators and
23155         collating symbol operators, since they are now implemented,
23156         Explain leftmost-longest matching in relation to alternatives.
23157         Tidy documentation of substring matching.
23158         Remove POSIX documentation, which is done better in
23159         glibc, and refer the reader there. Keep BSD API documentation, as
23160         that is not readily available elsewhere.
23161
23162 2010-09-07  Eric Blake  <eblake@redhat.com>
23163
23164         getopt: handle POSIXLY_CORRECT set but not exported
23165         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
23166         export state of POSIXLY_CORRECT, due to bash set -o posix.
23167         Reported by Dustin J. Mitchell.
23168
23169 2010-09-05  Bruno Haible  <bruno@clisp.org>
23170
23171         gnulib-tool: Highlight the changed options.
23172         * gnulib-tool (func_usage): Display the --import, --add-import,
23173         --remove-import explanations in bold font.
23174
23175 2010-09-06  Karl Berry  <karl@gnu.org>
23176
23177         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
23178
23179 2010-09-05  Bruno Haible  <bruno@clisp.org>
23180
23181         uniwidth/width: Update comment.
23182         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
23183         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
23184
23185 2010-09-05  Bruno Haible  <bruno@clisp.org>
23186
23187         isinf, isnan: Relax license.
23188         * modules/isinf (License): Change from GPL to LGPL, with consent from
23189         Ben Pfaff.
23190         * modules/isnan (License): Likewise.
23191         Requested by Ludovic Courtès.
23192
23193 2010-09-04  Bruno Haible  <bruno@clisp.org>
23194
23195         gnulib-tool: Help migration from --import to --add-import or --update.
23196         * gnulib-tool: Emit a verbose error message when --import is used
23197         without any module name.
23198
23199 2010-09-04  Bruno Haible  <bruno@clisp.org>
23200
23201         Update doc about gnulib-tool.
23202         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
23203         'gnulib-tool --update' in more detail.
23204         Reported by Eric Blake.
23205
23206 2010-09-04  Bruno Haible  <bruno@clisp.org>
23207
23208         gnulib-tool: Change --import. New options --add/remove-import.
23209         * gnulib-tool: New options --add-import, --remove-import.
23210         (func_usage): Document them.
23211         (have_associative): Define always.
23212         (func_import): In import mode, don't merge the specified settings with
23213         the cached settings. Implement remove-import mode.
23214         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
23215         Explain when to use them versus --import.
23216         (Simple update): Use --add-import instead of --import.
23217         * NEWS: Mention the change.
23218
23219 2010-09-04  Bruno Haible  <bruno@clisp.org>
23220
23221         * doc/gnulib-tool.texi (Initial import): Update paragraph about
23222         separate gnulib.mk.
23223
23224 2010-09-04  Bruno Haible  <bruno@clisp.org>
23225
23226         gnulib-tool: Don't talk about CVS any more.
23227         * gnulib-tool (func_usage, func_import): Write "version control"
23228         instead of CVS.
23229
23230 2010-09-04  Jim Meyering  <meyering@redhat.com>
23231
23232         maint.mk: avoid obscure sc_copyright_check failure in coreutils
23233         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
23234         false positives (whose names may be ill-chosen) when searching
23235         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
23236         would cause a false-positive.
23237
23238         avoid coreutils "make distcheck" failure
23239         Coreutils tests with an absolute build directory name that contains
23240         a space.  Not quoting this directory name caused a failure.
23241         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
23242         * tests/test-vc-list-files-cvs.sh: Likewise.
23243
23244 2010-09-04  Bruno Haible  <bruno@clisp.org>
23245
23246         gnulib-tool: Avoid error when run in a package without Makefile.am.
23247         * gnulib-tool: When collecting the m4dirs in a package that does not
23248         have a Makefile.am, eliminate those directories that contain no
23249         gnulib-cache.m4. Fix expression that counts these directories.
23250
23251 2010-09-04  Bruno Haible  <bruno@clisp.org>
23252
23253         update-copyright test: Improve output when perl is missing or too old.
23254         * tests/test-update-copyright.sh: Move test of Perl version down after
23255         the test whether Perl exists. Provide an explanation relating Perl's
23256         error message to Automake's SKIP: message.
23257
23258 2010-09-04  Bruno Haible  <bruno@clisp.org>
23259
23260         Don't augment PATH in TESTS_ENVIRONMENT.
23261         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
23262         set abs_aux_dir instead of augmenting PATH.
23263         * modules/vc-list-files-tests (Makefile.am): Likewise.
23264         * tests/test-update-copyright.sh: Augment PATH here.
23265         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
23266         path_prepend_.
23267         * tests/test-vc-list-files-git.sh: Likewise.
23268
23269 2010-09-04  Jim Meyering  <meyering@redhat.com>
23270
23271         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
23272         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
23273
23274 2010-09-04  Bruno Haible  <bruno@clisp.org>
23275
23276         strdup: Fix compilation error in C++ mode.
23277         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
23278         the macro.
23279
23280 2010-09-04  Bruno Haible  <bruno@clisp.org>
23281
23282         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
23283         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
23284         macro into a function.
23285         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23286
23287 2010-09-04  Bruno Haible  <bruno@clisp.org>
23288
23289         Set PATH_SEPARATOR the same way autoconf does.
23290         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
23291         the value of PATH_SEPARATOR the same way autoconf-generated configure
23292         scripts do.
23293         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
23294         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
23295
23296 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23297
23298         Set PATH_SEPARATOR the same way autoconf does.
23299         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
23300         the same way autoconf-generated configure scripts do.
23301         * posix-modules: Likewise.
23302
23303 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
23304
23305         hash: fix safe_hasher const typo
23306         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
23307         const; otherwise, there is a type error later.
23308
23309 2010-09-02  Jim Meyering  <meyering@redhat.com>
23310
23311         test-update-copyright.sh: require perl 5.8.0
23312         * tests/test-update-copyright.sh: Require 5.8.0,
23313         which Tom G. Christensen has confirmed is adequate,
23314         while 5.6.1 is not.
23315
23316 2010-09-02  Eric Blake  <eblake@redhat.com>
23317
23318         tests: init.sh improvements for re-exec'ing with zsh
23319         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
23320         -vx through shell re-exec.
23321         Reported by Tom G. Christensen.
23322
23323         wctype: fix typo in previous commit
23324         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
23325         Reported by Ludovic Courtès.
23326
23327 2010-09-02  Jim Meyering  <meyering@redhat.com>
23328
23329         test-update-copyright.sh: skip test if Perl is too old
23330         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
23331         Reported by Tom G. Christensen.
23332
23333 2010-09-02  Bruno Haible  <bruno@clisp.org>
23334
23335         wctype: Avoid compilation error on IRIX 6.5.30.
23336         * lib/wctype.in.h (iswblank): Declare with a replacement if
23337         REPLACE_ISWBLANK is set.
23338         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
23339         declared. Set REPLACE_ISWBLANK.
23340         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
23341         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
23342         * doc/posix-headers/wctype.texi: Likewise.
23343         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23344
23345 2010-09-01  Bruno Haible  <bruno@clisp.org>
23346
23347         New module 'socketlib'.
23348         * modules/socketlib: New file.
23349         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
23350         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
23351         * modules/sockets (Depends-on): Add socketlib.
23352         Suggested by Sam Steingold <sds@gnu.org>.
23353
23354 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
23355
23356         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
23357
23358         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
23359         when one needs search access to a directory but not read access.
23360         On systems where it is available, it works in some cases where
23361         O_RDONLY does not, namely on directories that are searchable but
23362         not readable, and which need only to be searchable.  If O_SEARCH
23363         is not available, fall back to the traditional method of using
23364         O_RDONLY.
23365
23366         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
23367         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
23368         when opening a directory that needs only to be searchable.
23369         * lib/chdir-safer.c (chdir_no_follow): Likewise.
23370         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
23371         * lib/openat-proc.c (openat_proc_name): Likewise.
23372         * lib/openat.c (openat_needs_fchdir): Likewise.
23373         * lib/save-cwd.c (save_cwd): Likewise.
23374         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
23375
23376 2010-08-28  Bruno Haible  <bruno@clisp.org>
23377
23378         New module 'host-cpu-c-abi'.
23379         * modules/host-cpu-c-abi: New file.
23380         * m4/host-cpu-c-abi.m4: New file, based on part of
23381         clisp/src/m4/general.m4.
23382         Requested by Sam Steingold <sds@gnu.org>.
23383
23384 2010-08-31  Eric Blake  <eblake@redhat.com>
23385         and Jim Meyering  <meyering@redhat.com>
23386
23387         hash: factor, and guard against misbehaving hasher function
23388         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
23389         of table->hasher's return value.  Also protect against a hash value
23390         so large that adding it to table->bucket results in a NULL pointer.
23391         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
23392         Use it in place of open-coded check-and-abort.
23393
23394 2010-08-30  Bruno Haible  <bruno@clisp.org>
23395
23396         hash: silence spurious clang warning
23397         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
23398         Reported by Eric Blake.
23399
23400 2010-08-30  Eric Blake  <eblake@redhat.com>
23401
23402         strstr, memmem, strcasestr: avoid leaked shell message
23403         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
23404         FreeBSD.
23405         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23406         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23407
23408         tests: silence clang warning
23409         * tests/test-malloca.c (do_allocation): Avoid dead store.
23410
23411 2010-08-29  Bruno Haible  <bruno@clisp.org>
23412
23413         gettext: Fix recent mistake.
23414         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
23415
23416 2010-08-29  Bruno Haible  <bruno@clisp.org>
23417
23418         selinux-h: Offer a --without-selinux option.
23419         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
23420         --without-selinux was specified, skip all tests and define
23421         HAVE_SELINUX_SELINUX_H to 0.
23422         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
23423         set LIB_SELINUX to empty.
23424         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
23425         gl_LIBSELINUX. If --without-selinux was specified, replace
23426         selinux/context.h.
23427         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
23428
23429 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23430             Bruno Haible  <bruno@clisp.org>
23431
23432         Make the module 'realloc-gnu' work again on AIX and OSF/1.
23433         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
23434         of HAVE_REALLOC.
23435         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
23436         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
23437         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
23438         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
23439
23440 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23441             Bruno Haible  <bruno@clisp.org>
23442
23443         Make the module 'calloc-gnu' work again on AIX and OSF/1.
23444         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
23445         HAVE_CALLOC.
23446         * lib/xmalloc.c: Update accordingly.
23447         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
23448         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
23449         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
23450
23451 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23452             Bruno Haible  <bruno@clisp.org>
23453
23454         Make the module 'malloc-gnu' work again on AIX and OSF/1.
23455         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
23456         HAVE_MALLOC.
23457         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
23458         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
23459         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
23460
23461 2010-08-29  Bruno Haible  <bruno@clisp.org>
23462
23463         Update modules list.
23464         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
23465         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
23466         (String handling <string.h>): Add astrxfrm.
23467         (File system functions): Add readlinkat.
23468
23469 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23470
23471         Tests for module 'realloc-gnu'.
23472         * modules/realloc-gnu-tests: New file.
23473         * tests/test-realloc-gnu.c: New file.
23474
23475         Tests for module 'calloc-gnu'.
23476         * modules/calloc-gnu-tests: New file.
23477         * tests/test-calloc-gnu.c: New file.
23478
23479         Tests for module 'malloc-gnu'.
23480         * modules/malloc-gnu-tests: New file.
23481         * tests/test-malloc-gnu.c: New file.
23482
23483 2010-08-28  Bruno Haible  <bruno@clisp.org>
23484
23485         Rename module 'realloc' -> 'realloc-gnu'.
23486         * modules/realloc-gnu: New file, copied from modules/realloc.
23487         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
23488         obsolete.
23489         * modules/mgetgroups (Depends-on): Update.
23490         * doc/posix-functions/realloc.texi: Update.
23491         * NEWS: Mention the change.
23492
23493         Rename module 'calloc' -> 'calloc-gnu'.
23494         * modules/calloc-gnu: New file, copied from modules/calloc.
23495         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
23496         obsolete.
23497         * doc/posix-functions/calloc.texi: Update.
23498         * NEWS: Mention the change.
23499
23500         Rename module 'malloc' -> 'malloc-gnu'.
23501         * modules/malloc-gnu: New file, copied from modules/malloc.
23502         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
23503         obsolete.
23504         * modules/argp (Depends-on): Update.
23505         * modules/regex (Depends-on): Update.
23506         * doc/posix-functions/malloc.texi: Update.
23507         * NEWS: Mention the change.
23508
23509 2010-08-28  Eric Blake  <eblake@redhat.com>
23510
23511         pread, pwrite: add missing dependency
23512         * modules/pread (Depends-on): Add extensions.
23513         * modules/pwrite (Depends-on): Likewise.
23514
23515 2010-08-28  Bruno Haible  <bruno@clisp.org>
23516
23517         unistr/u*-strchr: Fix tests dependencies.
23518         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
23519         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
23520         Reported by Ian Beckwith <ianb@erislabs.net>.
23521
23522 2010-08-28  Bruno Haible  <bruno@clisp.org>
23523
23524         read-file: Don't occupy too much unused memory.
23525         * lib/read-file.c (fread_file): Shrink the buffer at the end.
23526
23527 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
23528             Eric Blake  <eblake@redhat.com>
23529             Bruno Haible  <bruno@clisp.org>
23530
23531         read-file: Avoid memory reallocations with regular files.
23532         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
23533         (fread_file): With regular files, use the remaining length as the
23534         initial buffer size.  Check against overflow.
23535         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
23536         sys_stat.
23537
23538 2010-08-28  Bruno Haible  <bruno@clisp.org>
23539
23540         ftello: Relax license.
23541         * modules/ftello (License): Relax to LGPLv2+.
23542         Reported by Eric Blake.
23543
23544 2010-08-28  Bruno Haible  <bruno@clisp.org>
23545
23546         Avoid relocwrapper link errors due to gnulib replacement functions.
23547         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
23548         function.
23549         Reported by Ben Pfaff <blp@cs.stanford.edu>.
23550
23551 2010-08-28  Bruno Haible  <bruno@clisp.org>
23552
23553         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
23554         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
23555         defined.
23556         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
23557         Suggested by Eric Blake.
23558
23559 2010-08-28  Bruno Haible  <bruno@clisp.org>
23560
23561         sys_socket, netdb: Ensure socklen_t gets defined.
23562         * modules/sys_socket (Depends-on): Add socklen.
23563         * modules/netdb (Depends-on): Likewise.
23564         * modules/getaddrinfo (Depends-on): Remove socklen.
23565         * modules/getsockopt (Depends-on): Likewise.
23566         * modules/setsockopt (Depends-on): Likewise.
23567         * tests/test-sys_socket.c: Check that socklen_t is defined.
23568         * tests/test-netdb.c: Likewise.
23569         * m4/socklen.m4: Update comments.
23570         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23571
23572 2010-08-27  Eric Blake  <eblake@redhat.com>
23573
23574         login_tty: add missing dependency
23575         * modules/login_tty (Depends-on): Add pty.
23576
23577 2010-08-26  Eric Blake  <eblake@redhat.com>
23578
23579         lib-symbol-versions: fix m4 quoting
23580         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
23581         format for AC_LINK_IFELSE.
23582
23583         glob: fix compile test
23584         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
23585
23586         btowc: fix missing file
23587         * modules/btowc (Files): Also ship locale-fr.m4.
23588
23589         lseek: fix link test
23590         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
23591         AC_LINK_IFELSE.
23592
23593         include_next: silence autoconf 2.68 warning
23594         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
23595         AC_COMPILE_IFELSE as special.
23596         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
23597         autoconf < 2.68.
23598
23599         acl: fix compilation test
23600         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
23601         AC_COMPILE_IFELSE.
23602
23603 2010-08-26  Bruno Haible  <bruno@clisp.org>
23604
23605         Modernize AC_TRY_RUN invocations.
23606         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
23607         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
23608         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
23609         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
23610         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
23611         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
23612         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23613         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23614         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23615         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23616         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23617         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23618         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23619         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23620         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23621         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
23622         gl_MBRLEN_NUL_RETVAL): Likewise.
23623         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
23624         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
23625         Likewise.
23626         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23627         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23628         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23629         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23630         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
23631         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
23632         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
23633         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
23634         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
23635         Likewise.
23636         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
23637         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
23638         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23639         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23640         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23641         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23642         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23643         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
23644         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23645         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23646
23647 2010-08-26  Bruno Haible  <bruno@clisp.org>
23648
23649         Modernize AC_TRY_LINK invocations.
23650         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
23651         AC_TRY_LINK.
23652         * m4/argp.m4 (gl_ARGP): Likewise.
23653         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
23654         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
23655         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
23656         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
23657         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
23658         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
23659         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
23660         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23661         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
23662         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
23663         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
23664         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
23665         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
23666         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23667         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23668         * m4/hostent.m4 (gl_HOSTENT): Likewise.
23669         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23670         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
23671         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
23672         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
23673         Likewise.
23674         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
23675         Likewise.
23676         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
23677         Likewise.
23678         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
23679         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
23680         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
23681         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
23682         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
23683         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
23684         * m4/servent.m4 (gl_SERVENT): Likewise.
23685         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
23686         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
23687         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
23688         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
23689         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23690         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
23691         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23692         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23693         * modules/tsearch-tests (configure.ac): Likewise.
23694
23695 2010-08-26  Bruno Haible  <bruno@clisp.org>
23696
23697         Modernize AC_TRY_COMPILE invocations.
23698         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
23699         AC_TRY_COMPILE.
23700         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
23701         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
23702         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
23703         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
23704         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
23705         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
23706         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
23707         * m4/lock.m4 (gl_LOCK): Likewise.
23708         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
23709         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
23710         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
23711         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
23712         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
23713         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
23714         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
23715         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
23716         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
23717         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
23718         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
23719         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
23720         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
23721         extraneous semicolon.
23722
23723 2010-08-26  Jim Meyering  <meyering@redhat.com>
23724
23725         stat-time: relax license LGPL
23726         * modules/stat-time (License): Change from GPL to LGPL,
23727         with consent from all contributors, for use in libguile.
23728         Requested by Ludovic Courtès.
23729
23730 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
23731
23732         poll: return immediately on POLLHUP.
23733         * lib/poll.c (poll): Always set timeout before wait_timeout is
23734         computed.
23735
23736 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23737
23738         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
23739         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
23740         rmdir ("dir/.//"), unlinkat.
23741
23742 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23743
23744         stdbool: avoid spurious failure with modern xlc
23745         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23746
23747 2010-08-24  Bruno Haible  <bruno@clisp.org>
23748
23749         getloadavg: simplify code
23750         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
23751         gl_have_func. Update comments.
23752
23753 2010-08-24  Eric Blake  <eblake@redhat.com>
23754
23755         getloadavg: don't define SVR4 on cygwin
23756         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
23757         only define SVR4 when -lkvm is required.
23758         Reported by Yaakov Selkowitz.
23759
23760 2010-08-24  Bruno Haible  <bruno@clisp.org>
23761
23762         priv-set: fix comment
23763         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
23764
23765 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23766
23767         priv-set: fix comments
23768         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
23769         to match code, as suggested by David Bartley in:
23770         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
23771
23772 2010-08-23  Eric Blake  <eblake@redhat.com>
23773
23774         stdbool: avoid rejecting clang
23775         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23776         * tests/test-stdbool.c: Enable more tests if using the system
23777         <stdbool.h> instead of the gnulib replacement.
23778         (main): Move xlc bug test to a runtime test for all compilers.
23779         Reported by Anders Kaseorg.
23780
23781         argz: fix shell quoting issue
23782         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
23783         Reported by Charles Wilson.
23784
23785 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
23786             Erik Faye-Lund <kusmabite@gmail.com>
23787
23788         poll, select: handle ERROR_BROKEN_PIPE.
23789         * lib/poll.c (win32_compute_revents): Return POLLHUP when
23790         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23791         * lib/select.c (win32_compute_revents): Do not mark a pipe
23792         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23793
23794 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
23795
23796         fts: allow compilation with C++
23797         * lib/fts_.h: Specify extern "C" linkage with C++.
23798
23799 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23800
23801         Fix gnulib-tool sed script de-commentation for AIX sed.
23802         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
23803         sed.
23804
23805 2010-08-17  Eric Blake  <eblake@redhat.com>
23806
23807         test-stddef: test for (some) offsetof bugs
23808         * tests/test-stddef.c: Enhance test to ensure correct type of
23809         offsetof.
23810         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
23811         that we are not fixing at this time.
23812
23813 2010-08-15  Bruno Haible  <bruno@clisp.org>
23814
23815         stpncpy: Allow stpncpy to be defined as a macro.
23816         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
23817         if it's already correctly declared.
23818         * lib/string.in.h (stpncpy): Undefine before redefining.
23819         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
23820
23821 2010-08-14  Bruno Haible  <bruno@clisp.org>
23822
23823         Rename module 'memxfrm' to 'amemxfrm'.
23824         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
23825         (amemxfrm): Renamed from memxfrm.
23826         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
23827         (amemxfrm): Renamed from memxfrm.
23828         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
23829         * NEWS: Mention the change.
23830         * MODULES.html.sh (String handling <string.h>): Update.
23831         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
23832         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
23833         * lib/unicase/u16-casexfrm.c: Likewise.
23834         * lib/unicase/u32-casexfrm.c: Likewise.
23835         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
23836         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
23837         * lib/uninorm/u16-normxfrm.c: Likewise.
23838         * lib/uninorm/u32-normxfrm.c: Likewise.
23839         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
23840         memxfrm.
23841         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
23842         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
23843         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
23844         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
23845         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
23846         Suggested by Paul Eggert.
23847
23848 2010-08-14  Bruno Haible  <bruno@clisp.org>
23849
23850         Tests for module 'astrxfrm'.
23851         * modules/astrxfrm-tests: New file.
23852         * tests/test-astrxfrm.c: New file.
23853
23854         New module 'astrxfrm'.
23855         * lib/astrxfrm.h: New file.
23856         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
23857         * modules/astrxfrm: New file.
23858
23859 2010-08-14  Reuben Thomas <rrt@sc3d.org>
23860
23861         regex: Tweak doc.
23862         * doc/regex.texi (Overview): Don't mention regex.c.
23863         (GNU Regular Expression Compiling): Likewise.
23864         (Match-end-of-line Operator): Mention 'not_eol'.
23865
23866 2010-08-14  Brian Gough  <bjg@gnu.org>
23867             Bruno Haible  <bruno@clisp.org>
23868
23869         git-merge-changelog: add doc relating to use with bzr and hg.
23870         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
23871
23872 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
23873
23874         pthread: fix pthread.h creation for srcdir != builddir
23875         * modules/pthread (Makefile.am): Fix the rule to work also in a
23876         non-srcdir build.
23877
23878 2010-08-13  Karl Berry  <karl@gnu.org>
23879
23880         * doc/regex.texi (Predefined Syntaxes): @smallexample.
23881         * doc/posix-*/*: force line break before @url of POSIX
23882         specifications.
23883         Suggested by Werner Lemberg.
23884
23885 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
23886
23887         strtod: fix const diagnostic
23888         * lib/strtod.c (strtod): Don't assign const char * to char *,
23889         as this elicits a warning from GCC when warnings are enabled.
23890
23891 2010-08-10  Pádraig Brady <P@draigbrady.com>
23892         and Eric Blake  <eblake@redhat.com>
23893
23894         copy-acl: ignore ENOTSUP on HP-UX
23895         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
23896         so that it is available for HP-UX.
23897         * lib/copy-acl.c (qcopy_acl): Use it.
23898         Reported by Patrick M. Callahan.
23899
23900 2010-08-10  Eric Blake  <eblake@redhat.com>
23901
23902         open, chown: relax license
23903         * modules/open (License): Change to LGPLv2+, with consent by all
23904         authors, for use in augeas.
23905         * modules/chown (License): Likewise.
23906         * modules/lchown (Likewise): Likewise.
23907         Requested by Adam Stokes.
23908
23909 2010-08-09  Karl Berry  <karl@gnu.org>
23910
23911         * build-aux/ar-lib: new file, import from Automake.
23912         * config/srclist.txt: autocheck for updates.
23913
23914 2010-08-09  Eric Blake  <eblake@redhat.com>
23915
23916         readlinkat: adjust client modules
23917         * modules/areadlinkat (Depends-on): Use readlinkat, not
23918         symlinkat.
23919         * modules/areadlinkat-with-size (Depends-on): Likewise.
23920
23921         mknod: be more vocal about danger of running tests as root
23922         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
23923         root, since that is just asking for problems.
23924         Suggested by Bruno Haible, based on a report by Rainer Tammer.
23925
23926         readlinkat: split into its own module
23927         * modules/symlinkat: Split readlinkat...
23928         * modules/readlinkat: ...into separate module.
23929         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
23930         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
23931         * lib/symlinkat.c (readlinkat): Move...
23932         * lib/readlinkat.c: ...into new file.
23933         * modules/symlinkat-tests: Split readlinkat test...
23934         * modules/readlinkat-tests: ...into separate module.
23935         * tests/test-symlinkat.c: Split...
23936         * tests/test-readlinkat.c: ...into new file.
23937         * NEWS: Document the split.
23938         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23939         * lib/unistd.in.h (readlinkat): Likewise.
23940         Suggested by Bruno Haible.
23941
23942 2010-08-08  Bruno Haible  <bruno@clisp.org>
23943
23944         memxfrm: Speed up.
23945         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
23946         that usually only one call to strxfrm is necessary for each string
23947         part.
23948         Reported by Paul Eggert <eggert@cs.ucla.edu>.
23949
23950 2010-08-07  Karl Berry  <karl@gnu.org>
23951
23952         * doc/posix-headers/limits.texi,
23953         * doc/posix-functions/malloc.texi,
23954         * doc/posix-functions/strsignal.texi: missing @item.
23955         * doc/ld-version-script.texi: spurious leading i.
23956         * doc/regex.texi (Interval Operators): no commas inside @var.
23957
23958 2010-08-01  Bruno Haible  <bruno@clisp.org>
23959
23960         Integrate the regex documentation.
23961         * doc/gnulib.texi: Define 'cn' index.
23962         (Regular expressions): New a chapter that includes regex.texi and
23963         regexprops-generic.texi.
23964         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
23965         syntax.
23966
23967         Whitespace cleanup.
23968         * doc/regex.texi: Remove trailing spaces.
23969
23970         Add regex documentation.
23971         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
23972         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
23973         Written by Kathy A. Hargreaves and Karl Berry.
23974
23975 2010-08-01  Bruno Haible  <bruno@clisp.org>
23976
23977         link: Update documentation.
23978         * doc/posix-functions/link.texi: Update regarding Solaris.
23979
23980 2010-07-31  Bruno Haible  <bruno@clisp.org>
23981
23982         Update modules list.
23983         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
23984         (String handling <string.h>): Add memcmp2, memxfrm.
23985         (Container data structures): Add xlist, xsublist, xoset.
23986         (Core language properties): Add alignof, unused-parameter.
23987         (Process control, Numeric conversion functions <stdlib.h>): Renamed
23988         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
23989         (Unibyte characters <ctype.h>): New section.
23990         (String handling <string.h>): New section.
23991         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
23992         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
23993         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
23994         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
23995         tan, tanh, tanl, y0, y1, yn.
23996         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
23997         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
23998         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
23999         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
24000         unlockpt, vdprintf, vdprintf-posix.
24001         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
24002         (File system functions): Add concat-filename, sys_file, sys_ioctl,
24003         xconcat-filename.
24004         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
24005         getdtablesize, pipe2, pipe2-safer.
24006         (Security): New section.
24007         (Networking functions): Add accept4.
24008         (Signal handling): Add sigpipe.
24009         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
24010         mbmemcasecoll.
24011         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
24012         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
24013         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
24014         pipe-filter-ii.
24015         (Misc): Add argp-version-etc, login_tty, parse-duration.
24016
24017 2010-07-31  Bruno Haible  <bruno@clisp.org>
24018
24019         Improve doc in MODULES.html.
24020         * modules/linkat (Description): Add the word "function".
24021         * modules/mkfifo (Description): Likewise.
24022         * modules/mknod (Description): Likewise.
24023         * modules/remove (Description): Likewise.
24024         * modules/renameat (Description): Likewise.
24025         * modules/stat (Description): Likewise.
24026         * modules/symlink (Description): Likewise.
24027         * modules/unlink (Description): Likewise.
24028
24029 2010-07-31  Bruno Haible  <bruno@clisp.org>
24030
24031         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
24032         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
24033         option --enable/disable-c++ instead of --enable/disable-cxx.
24034         * NEWS: Mention the change.
24035
24036 2010-07-31  Bruno Haible  <bruno@clisp.org>
24037
24038         readlink, areadlink: Relax test a bit.
24039         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
24040         alternative to ENOTDIR.
24041         * tests/test-areadlink.h (test_areadlink): Likewise.
24042         Reported by Rainer Tammer.
24043
24044 2010-07-31  Bruno Haible  <bruno@clisp.org>
24045
24046         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
24047         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
24048         character, perform the search using U_STRCHR.
24049         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
24050         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
24051         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
24052         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
24053         Suggested by Paolo Bonzini.
24054
24055 2010-07-31  Bruno Haible  <bruno@clisp.org>
24056
24057         unistr/u*-strstr: Fix dependencies.
24058         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
24059         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
24060         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
24061
24062 2010-07-31  Bruno Haible  <bruno@clisp.org>
24063
24064         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
24065         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
24066         the beginning of the loop.
24067         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
24068         cases in 'switch' statement.
24069
24070         unistr/u8-strchr: Fix several bugs.
24071         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
24072         the string. When not found, return NULL, not a pointer near the end.
24073
24074         More tests for unistr/u8-strchr.
24075         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
24076         that the function does not read past the first occurrence of the byte
24077         being searched.
24078         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
24079         * tests/unistr/test-u16-strchr.c (main): New function.
24080         * tests/unistr/test-u32-strchr.c (main): New function.
24081
24082 2010-07-31  Bruno Haible  <bruno@clisp.org>
24083
24084         posix-modules: Ignore backup files of documentation files.
24085         * posix-modules: grep only through files named *.texi.
24086
24087 2010-07-31  Bruno Haible  <bruno@clisp.org>
24088
24089         symlinkat: Fix documentation.
24090         * doc/posix-functions/readlinkat.texi: Fix module name.
24091
24092 2010-07-31  Bruno Haible  <bruno@clisp.org>
24093
24094         fchownat: Replace also when chown has the trailing slash bug.
24095         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
24096         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
24097         introduced on 2010-04-10.
24098         Reported by Rainer Tammer.
24099
24100 2010-07-31  Bruno Haible  <bruno@clisp.org>
24101
24102         linkat: Work around AIX 7.1 bug.
24103         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
24104         whether linkat handles trailing slash correctly. If not, replace linkat
24105         and define LINKAT_TRAILING_SLASH_BUG.
24106         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
24107         check whether (fd1,file1) points to a directory if file1 or file2 ends
24108         in a slash. Code taken from lib/link.c.
24109         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
24110         Reported by Rainer Tammer.
24111
24112 2010-07-31  Bruno Haible  <bruno@clisp.org>
24113
24114         Correctly determine whether pow is available in libc on AIX 7 with xlc.
24115         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
24116         This disables an xlc optimization that was causing wrong test results.
24117         Reported by Rainer Tammer.
24118
24119 2010-07-31  Bruno Haible  <bruno@clisp.org>
24120
24121         iconv: Work around AIX 6.1..7.1 bug.
24122         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
24123         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
24124         cross-compiling, guess no on all versions of AIX.
24125         Reported by Rainer Tammer.
24126
24127 2010-07-31  Bruno Haible  <bruno@clisp.org>
24128
24129         readlink: Relax test a bit.
24130         * tests/test-readlink.h (test_readlink): Allow different errno value
24131         when readlink is called with a file name that ends in / and refers to
24132         a file.
24133         Suggested by Eric Blake.
24134         Reported by Rainer Tammer.
24135
24136 2010-07-31  Bruno Haible  <bruno@clisp.org>
24137
24138         copysign: Does not require -lm on glibc systems.
24139         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
24140         gl_COMMON_DOUBLE_MATHFUNC.
24141         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
24142
24143 2010-07-31  Bruno Haible  <bruno@clisp.org>
24144
24145         duplocale: Work around AIX 7.1 bug.
24146         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
24147         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
24148         * lib/duplocale.c (rpl_duplocale): Update comment.
24149         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
24150         Reported by Rainer Tammer.
24151
24152 2010-07-30  Bruno Haible  <bruno@clisp.org>
24153
24154         dirfd: Avoid link error on AIX 7.1.
24155         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
24156         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
24157         exist, set REPLACE_DIRFD.
24158         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
24159         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
24160         * doc/posix-functions/dirfd.texi: Update.
24161         Reported by Rainer Tammer.
24162
24163 2010-07-30  Eric Blake  <eblake@redhat.com>
24164
24165         strtod: next round of AIX fixes
24166         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
24167         exponent.
24168         * tests/test-strtod.c (main): Enhance tests.
24169         * doc/posix-functions/strtod.texi (strtod): Document next bug.
24170         Reported by Rainer Tammer.
24171
24172         futimens: fix configure check
24173         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
24174         Reported by Bruno Haible.
24175
24176 2010-07-30  Bruno Haible  <bruno@clisp.org>
24177
24178         getline: Update regarding AIX.
24179         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
24180         Reported by Rainer Tammer.
24181
24182 2010-07-30  Bruno Haible  <bruno@clisp.org>
24183
24184         wcwidth: Drop replacement on AIX 7.
24185         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
24186         AIX 7.
24187         Reported by Rainer Tammer.
24188
24189 2010-07-30  Bruno Haible  <bruno@clisp.org>
24190
24191         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
24192         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
24193         a 'char *'.
24194         Reported by Rainer Tammer.
24195
24196 2010-07-30  Bruno Haible  <bruno@clisp.org>
24197
24198         unlink: Update regarding AIX.
24199         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
24200         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
24201         Reported by Rainer Tammer.
24202
24203 2010-07-30  Bruno Haible  <bruno@clisp.org>
24204
24205         symlink: Update regarding AIX.
24206         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
24207         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
24208         Reported by Rainer Tammer.
24209
24210 2010-07-30  Bruno Haible  <bruno@clisp.org>
24211
24212         strndup: Update regarding AIX.
24213         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
24214         AIX 7.
24215         Reported by Rainer Tammer.
24216
24217 2010-07-30  Bruno Haible  <bruno@clisp.org>
24218
24219         stat: Update regarding AIX.
24220         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
24221         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
24222         Reported by Rainer Tammer.
24223
24224 2010-07-30  Bruno Haible  <bruno@clisp.org>
24225
24226         truncl: Fix autoconf test.
24227         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
24228         whether truncl works.
24229         Reported by Rainer Tammer.
24230
24231 2010-07-30  Bruno Haible  <bruno@clisp.org>
24232
24233         round: Update regarding AIX.
24234         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
24235         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
24236         Reported by Rainer Tammer.
24237
24238 2010-07-30  Bruno Haible  <bruno@clisp.org>
24239
24240         rename: Update regarding AIX.
24241         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
24242         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
24243         Reported by Rainer Tammer.
24244
24245 2010-07-30  Bruno Haible  <bruno@clisp.org>
24246
24247         printf.m4: Update regarding AIX.
24248         * m4/printf.m4: Update comments regarding AIX.
24249         Reported by Rainer Tammer.
24250
24251 2010-07-30  Bruno Haible  <bruno@clisp.org>
24252
24253         iconv: Update regarding AIX.
24254         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
24255         AIX 7.
24256         Reported by Rainer Tammer.
24257
24258 2010-07-30  Bruno Haible  <bruno@clisp.org>
24259
24260         getopt: Update regarding AIX.
24261         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
24262         no on AIX.
24263         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
24264         Reported by Rainer Tammer.
24265
24266 2010-07-30  Bruno Haible  <bruno@clisp.org>
24267
24268         ldexpl; Update regarding AIX.
24269         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
24270         on AIX 7.
24271         Reported by Rainer Tammer.
24272
24273 2010-07-30  Bruno Haible  <bruno@clisp.org>
24274
24275         frexpl: Update regarding AIX.
24276         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
24277         on AIX 7.
24278         Reported by Rainer Tammer.
24279
24280 2010-07-30  Bruno Haible  <bruno@clisp.org>
24281
24282         open, fopen: Update regarding AIX.
24283         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
24284         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24285         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
24286         * doc/posix-functions/fopen.texi: Likewise.
24287         Reported by Rainer Tammer.
24288
24289 2010-07-30  Bruno Haible  <bruno@clisp.org>
24290
24291         chown: Update doc regarding AIX.
24292         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
24293         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
24294         Reported by Rainer Tammer.
24295
24296 2010-07-30  Eric Blake  <eblake@redhat.com>
24297
24298         strtod: fix bug in replacement function on AIX
24299         * lib/strtod.c (strtod): Special case broken "0x" parse in
24300         underlying strtod.
24301         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
24302         * doc/posix-functions/strtod.texi (strtod): Likewise.
24303         Reported by Rainer Tammer.
24304
24305 2010-07-30  Bruno Haible  <bruno@clisp.org>
24306
24307         mbrlen: Fix cross-compilation guess for AIX.
24308         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
24309         guess. Leftover from 2008-12-22.
24310
24311 2010-07-30  Bruno Haible  <bruno@clisp.org>
24312
24313         mbrtowc: Fix cross-compilation guess for AIX.
24314         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
24315         guess. Leftover from 2008-12-21.
24316
24317 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
24318
24319         init.sh: work around trap limitation of some shells
24320         * tests/init.sh (setup_): Move exit trap outside of shell function.
24321
24322 2010-07-29  Eric Blake  <eblake@redhat.com>
24323
24324         strtod: aid debugging
24325         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
24326         understanding why strtod is rejected.
24327
24328 2010-07-28  Bruno Haible  <bruno@clisp.org>
24329
24330         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
24331         * lib/unistr/u8-chr.c: Include <string.h>.
24332         * tests/unistr/test-u8-chr.c: Likewise.
24333         * tests/unistr/test-u16-chr.c: Likewise.
24334         * tests/unistr/test-u32-chr.c: Likewise.
24335         * tests/unistr/test-u8-strchr.c: Likewise.
24336         * tests/unistr/test-u16-strchr.c: Likewise.
24337         * tests/unistr/test-u32-strchr.c: Likewise.
24338         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
24339         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
24340         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
24341         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
24342
24343 2010-07-28  Bruno Haible  <bruno@clisp.org>
24344
24345         Use spaces for indentation, not tabs.
24346         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
24347
24348 2010-07-27  Bruno Haible  <bruno@clisp.org>
24349
24350         mbspcasecmp: Fix function specification.
24351         * lib/string.in.h (mbspcasecmp): Fix specification comment.
24352         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
24353         Reported by Eric Blake <eblake@redhat.com>.
24354
24355 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
24356
24357         timespec: use cast and not conditional, as truncation isn't possible
24358         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
24359         instead of a conditional.  Comment about the situation in more detail.
24360         This undoes most of the 2009-10-29 patch.
24361
24362 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
24363
24364         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
24365         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
24366         * lib/unistr/u8-strchr.c: Likewise.
24367         * modules/unistr/u8-chr: Depend on memchr.
24368
24369         unistr/u*-strchr: add tests
24370         * modules/unistr/u8-strchr-tests: New file.
24371         * modules/unistr/u16-strchr-tests: New file.
24372         * modules/unistr/u32-strchr-tests: New file.
24373         * tests/unistr/test-strchr.h: New file.
24374         * tests/unistr/test-u8-strchr.c: New file.
24375         * tests/unistr/test-u16-strchr.c: New file.
24376         * tests/unistr/test-u32-strchr.c: New file.
24377
24378         unistr/u*-chr: test multibyte sequences more
24379         * tests/unistr/test-chr.h: Do complete testing of the characters in the
24380         test vector.
24381         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
24382         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
24383         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
24384
24385         unistr/u*-chr: test multibyte sequences
24386         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
24387
24388         unistr/u*-chr: prepare for multibyte tests
24389         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
24390         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
24391         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
24392         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
24393         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
24394         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
24395
24396 2010-07-18  Bruno Haible  <bruno@clisp.org>
24397
24398         unistr/u8-strchr: Optimize non-ASCII argument case.
24399         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
24400         because the first byte often matches anyway.
24401         Reported by Pádraig Brady <P@draigbrady.com>.
24402
24403 2010-07-15  Karl Berry  <karl@gnu.org>
24404
24405         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
24406
24407 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
24408
24409         getcwd: on Solaris, work better if ancestors are inaccessible
24410         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
24411         buffer and size, try again with a large buffer.  This works better
24412         on Solaris, since its getcwd succeeds even if the path to the root
24413         is inaccessible, and this is helpful in common cases such as .zfs
24414         hidden directories.  Problem reported by J Chapman Flack in
24415         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
24416         Use system getcwd if it's declared, not merely if it's partly
24417         working; use the partly-working test only to avoid needless effort
24418         if the system getcwd fails.
24419         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
24420         comment that was already obsolete and is now even more obsolete.
24421         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
24422         now might call strdup.
24423
24424 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
24425
24426         pthread: Add enough so that coreutils/src/sort.c compiles.
24427         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
24428         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
24429         gnulib. Include <sched.h> and <time.h>, as per POSIX.
24430         Include <sys/types.h>, in case it defines pthread_t.
24431         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
24432         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
24433         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
24434         (pthread_rwlockattr_t, pthread_spinlock_t):
24435         New typedefs, if HAVE_PTHREAD_T is not defined.
24436         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
24437         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
24438         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
24439         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
24440         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
24441         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
24442         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
24443         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
24444         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
24445         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
24446         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
24447         New macros.
24448         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
24449         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
24450         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
24451         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
24452         (pthread_spin_unlock): New dummy functions.
24453         (pthread_create): Return EAGAIN; don't set errno.
24454         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
24455         require AC_C_INLINE.
24456         * modules/pthread (Depends-on): Add sched, time.
24457         (pthread.h): Use AM_V_GEN.
24458
24459 2010-07-13  Bruno Haible  <bruno@clisp.org>
24460
24461         striconveh: Don't malloc memory if the result buffer is sufficient.
24462         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
24463         buffer if its size is sufficient.
24464         Reported by Ludovic Courtès <ludo@gnu.org>.
24465
24466 2010-07-13  Bruno Haible  <bruno@clisp.org>
24467
24468         strtod: Add safety check.
24469         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
24470
24471 2010-07-12  Bruno Haible  <bruno@clisp.org>
24472
24473         Unify tests that set gl_cv_func_ldexpl_no_libm.
24474         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
24475         gl_FUNC_LDEXPL.
24476         (gl_FUNC_LDEXPL): Invoke it.
24477         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
24478
24479 2010-07-12  Bruno Haible  <bruno@clisp.org>
24480
24481         Unify tests that set gl_cv_func_ldexp_no_libm.
24482         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
24483         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
24484         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
24485         (configure.ac): Simply invoke gl_FUNC_LDEXP.
24486         * modules/strtod (Files): Add m4/ldexp.m4.
24487
24488 2010-07-12  Bruno Haible  <bruno@clisp.org>
24489
24490         Unify tests that set gl_cv_func_frexpl_no_libm.
24491         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
24492         gl_FUNC_FREXPL_NO_LIBM.
24493         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
24494         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
24495
24496 2010-07-12  Bruno Haible  <bruno@clisp.org>
24497
24498         Unify tests that set gl_cv_func_frexp_no_libm.
24499         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
24500         gl_FUNC_FREXP_NO_LIBM.
24501         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
24502         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24503
24504 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
24505
24506         memcoll: clarify sizes versus lengths, document better, and tweak perf
24507         * lib/memcoll.c (strcoll_loop, memcoll0):
24508         Improve quality of descriptive comments.  Name variables
24509         consistently as to whether they are lengths (which do not include
24510         terminating null) versus sizes (which do).
24511         * lib/xmemcoll.c (xmemcoll0): Likewise.
24512         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
24513         returned when s1size == 0; this is easier to compile and saves
24514         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
24515
24516 2010-07-12  Bruno Haible  <bruno@clisp.org>
24517
24518         Tests for module '_Exit'.
24519         * modules/_Exit-tests: New file.
24520         * tests/test-_Exit.sh: New file.
24521         * tests/test-_Exit.c: New file.
24522
24523         New module '_Exit'.
24524         * lib/stdlib.in.h (__attribute__): New macro.
24525         (_Exit): New declaration.
24526         * lib/_Exit.c: New file.
24527         * m4/_Exit.m4: New file.
24528         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
24529         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
24530         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
24531         * modules/_Exit: New file.
24532         * tests/test-stdlib-c++.cc (_Exit): Check signature.
24533         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
24534
24535 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
24536
24537         strtod: make it more-accurate typically, and don't require libm
24538         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
24539         Include limits.h.  Don't include string.h.
24540         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
24541         (locale_isspace): New function, so that no casts are needed to
24542         check whether *s is a space.
24543         (ldexp): Provide an unused dummy if not available.
24544         (scale_radix_exp, parse_number, underlying_strtod): New functions.
24545         (strtod): Use them.  This implementation prefers to use the
24546         underlying strtod if available, falling back on our own code
24547         only to fix known bugs.  This is more likely to produce an
24548         accurate result.  Also, it avoids the use of libm functions.
24549         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
24550         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
24551         was absent, but it caused a test failure with coreutils.
24552         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
24553         with libm.
24554         * modules/strtod (Makefile.am, Link): libm is no longer needed.
24555         * modules/strtod-tests (Makefile.am): Likewise.
24556
24557 2010-07-11  Pádraig Brady  <P@draigBrady.com>
24558             Bruno Haible  <bruno@clisp.org>
24559
24560         unistr/u8-strchr: Optimize ASCII argument case.
24561         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
24562
24563 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
24564
24565         (x)memcoll: minor tweaks
24566         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
24567         is after the type that it qualifies.
24568         (memcoll0): Likewise.
24569         * lib/memcoll.h (memcoll0): Likewise.
24570         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
24571         * lib/xmemcoll.h (xmemcoll0): Likewise.
24572         * lib/memcoll.c (memcoll0): Correct the comment.  This function
24573         differs from memcoll in that the NUL byte is part of the argument.
24574         Omit the abort-checks, as performance is a real issue here.  Plus,
24575         the checks were wrong anyway (an off-by-one error).  Omit local
24576         variable 'diff', as it's a bit clearer that way.
24577         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
24578         no longer needed.
24579
24580 2010-07-08  Chen Guo <chenguo4@yahoo.com>
24581
24582         (x)memcoll: speedup when input is known to be NUL delimited
24583         * lib/memcoll.c: Include stdlib.
24584         (memcoll0): New function.
24585         (strcoll_loop): New function, refactored for use in both memcoll
24586         and memcoll0.
24587         * lib/memcoll.h (memcoll0): Add prototype.
24588         * lib/xmemcoll.c (xmemcoll0): New function.
24589         (collate_error): New function, refactored for use in both xmemcoll
24590         and xmemcoll0.
24591         * lib/xmemcoll.h (xmemcoll0): Add prototype.
24592         * m4/memcoll.m4: add inline invocation.
24593
24594 2010-07-06  Pádraig Brady  <P@draigBrady.com>
24595
24596         * build-aux/bootstrap: Remove any local translations
24597         from the translation project synchronization directory,
24598         so that local only translations are not distributed.
24599
24600 2010-07-04  Bruno Haible  <bruno@clisp.org>
24601
24602         fsusage: Clarify which code applies to which platforms.
24603         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
24604         platform.
24605         * lib/fsusage.c (get_fs_usage): Likewise.
24606
24607 2010-07-04  Bruno Haible  <bruno@clisp.org>
24608
24609         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
24610         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
24611         Reported by Martin Lambers <marlam@marlam.de>.
24612
24613 2010-07-04  Jim Meyering  <meyering@redhat.com>
24614
24615         hash: once again explicitly disallow insertion of NULL
24616         * lib/hash.c (hash_insert0): Reinstate just-removed test:
24617         inserting a NULL pointer cannot work with these functions.
24618         Add a comment with details.
24619         This reverts part of the 2010-07-01 commit, 5bef1a35
24620         "hash: extend module to deal with non-pointer keys".
24621
24622 2010-07-01  Bruno Haible  <bruno@clisp.org>
24623
24624         stdbool: Update doc.
24625         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
24626         Info from Christian Weisgerber <naddy@mips.inka.de>.
24627
24628 2010-07-01  Jim Meyering  <meyering@redhat.com>
24629
24630         hash: extend module to deal with non-pointer keys
24631         * lib/hash.c (hash_insert0): New interface, much like hash_insert
24632         but that allows insertion of non-pointer entries.
24633         Do not disallow an ENTRY value of NULL.
24634         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
24635         * lib/hash.h (hash_insert0): Declare.
24636
24637 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24638
24639         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
24640         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
24641         not present (i.e. with autoconf 2.59 and when using gettextize, not
24642         gnulib), require AC_GNU_SOURCE instead.
24643
24644 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
24645
24646         idpriv-drop: Fix tests.
24647         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
24648         not to the test-idpriv-droptemp program.
24649
24650 2010-06-29  Bruno Haible  <bruno@clisp.org>
24651
24652         string: Fix syntax error with g++ 2.96.
24653         * lib/string.in.h (__pure__): Remove definition.
24654         (_GL_ATTRIBUTE_PURE): New macro.
24655         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
24656         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
24657         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24658
24659 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
24660
24661         unitypes: Fix bug introduced on 2010-05-18.
24662         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
24663
24664 2010-06-22  Eric Blake  <eblake@redhat.com>
24665
24666         memmem: slight optimization
24667         * lib/str-two-way.h (critical_factorization): Update comments.
24668         Reduce work during factorization phase.
24669         Reported by Carlos Bueno <carlos@bueno.org>.
24670
24671 2010-06-21  Bruno Haible  <bruno@clisp.org>
24672
24673         Fix HAVE_CALLOC_POSIX misnomer.
24674         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
24675         !HAVE_CALLOC_POSIX.
24676         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
24677         HAVE_CALLOC_POSIX.
24678         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
24679         instead of HAVE_CALLOC_POSIX.
24680         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
24681         HAVE_CALLOC_POSIX.
24682
24683         Use modern idiom for calloc() replacement.
24684         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
24685         AC_FUNC_CALLOC.
24686         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
24687         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
24688         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24689         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
24690         (gl_REPLACE_CALLOC): New macro.
24691
24692 2010-06-21  Bruno Haible  <bruno@clisp.org>
24693
24694         Fix HAVE_REALLOC_POSIX misnomer.
24695         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
24696         !HAVE_REALLOC_POSIX.
24697         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
24698         HAVE_REALLOC_POSIX.
24699         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
24700         instead of HAVE_REALLOC_POSIX.
24701         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
24702         HAVE_REALLOC_POSIX.
24703
24704         Use modern idiom for realloc() replacement.
24705         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
24706         AC_FUNC_REALLOC.
24707         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
24708         Autoconf's AC_FUNC_REALLOC.
24709         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24710         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
24711         (gl_REPLACE_REALLOC): New macro.
24712         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24713
24714 2010-06-21  Bruno Haible  <bruno@clisp.org>
24715
24716         Fix HAVE_MALLOC_POSIX misnomer.
24717         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
24718         !HAVE_MALLOC_POSIX.
24719         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
24720         HAVE_MALLOC_POSIX.
24721         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
24722         instead of HAVE_MALLOC_POSIX.
24723         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
24724         HAVE_MALLOC_POSIX.
24725
24726         Use modern idiom for malloc() replacement.
24727         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
24728         AC_FUNC_MALLOC.
24729         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
24730         Autoconf's AC_FUNC_MALLOC.
24731         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24732         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
24733         (gl_REPLACE_MALLOC): New macro.
24734         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24735
24736 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
24737
24738         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
24739         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
24740         This macro takes 3 arguments, not 4.
24741
24742 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
24743
24744         ipv6: fix detection under mingw
24745         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
24746         in6_addr.
24747
24748 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
24749
24750         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
24751         that strtod() works when cross-compiling to a glibc version known
24752         to work.
24753
24754 2010-06-15  Bruno Haible  <bruno@clisp.org>
24755
24756         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
24757
24758 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
24759
24760         select: Correct timeout.
24761         * lib/select.c (rpl_select): Compute wait_timeout correctly.
24762
24763 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24764
24765         git-version-gen: init shell var to avoid env var influence
24766         * build-aux/git-version-gen (v): Init shell var to empty.
24767
24768 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
24769
24770         priv-set: Don't assume that priv.h exists merely because getppriv does.
24771         See Jan Andersen's bug report about AIX 5L in
24772         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
24773         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
24774         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
24775         * lib/priv-set.h: Likewise.
24776         * tests/test-priv-set.c: Likewise.
24777
24778 2010-06-13  Bruno Haible  <bruno@clisp.org>
24779
24780         relocatable: Make it easier to test whether to install wrappers.
24781         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
24782         RELOCATABLE_VIA_WRAPPER.
24783
24784 2010-06-13  Bruno Haible  <bruno@clisp.org>
24785
24786         gnulib-tool: Display specified modules and dependencies differently.
24787         * gnulib-tool (func_show_module_list): New function.
24788         (func_import, func_create_testdir): Invoke it.
24789         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24790
24791 2010-06-13  Bruno Haible  <bruno@clisp.org>
24792
24793         gnulib-tool: Align code of func_import and func_create_testdir.
24794         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
24795         specified_modules.
24796
24797 2010-06-12  Jim Meyering  <meyering@redhat.com>
24798
24799         test-inttostr: avoid spurious failure on Solaris 9
24800         * tests/test-inttostr.c (main): Skip the test when snprintf fails
24801         to accept "%ju".  Reported by Bruno Haible.
24802
24803 2010-06-11  Jim Meyering  <meyering@redhat.com>
24804
24805         test-sys_socket: mark variables as used more readably
24806         * tests/test-sys_socket.c (main): Mark otherwise unused variables
24807         as "used" explicitly via (void) statement casts.  This is more
24808         readable than using them in an artificial return expression.
24809         Suggestion from Bruno Haible.
24810
24811 2010-06-11  Bruno Haible  <bruno@clisp.org>
24812
24813         Avoid some more warnings from "gcc -Wwrite-strings".
24814         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
24815         to 'const char *'.
24816         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
24817         * tests/test-c-strcasestr.c (main): Likewise.
24818         * tests/test-mbscasestr1.c (main): Likewise.
24819         * tests/test-mbscasestr2.c (main): Likewise.
24820         * tests/test-memmem.c (main): Likewise.
24821         * tests/test-strstr.c (main): Likewise.
24822         * tests/test-strcasestr.c (main): Likewise.
24823
24824 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24825
24826         init.sh: change framework_failure_ to fail with status 99, not 1
24827         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
24828         automake's parallel-tests rule that this is an unexpected failure,
24829         even if the test is listed in XFAIL_TESTS.
24830
24831 2010-06-11  Jim Meyering  <meyering@redhat.com>
24832
24833         test-inttostr: avoid warnings about 4-6KB literal strings
24834         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
24835         Include "macros.h", for its definition of ASSERT.
24836         (CK): s/assert/ASSERT/
24837         * modules/inttostr-tests (Files): Add macros.h.
24838
24839         init.sh: don't use $ME_ or skip_ before they are defined
24840         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
24841         their first uses.  Also hoist their companions: warn_, fail_,
24842         framework_failure_, $stderr_fileno.  Prompted by a patch from
24843         Stefano Lattarini.
24844
24845         test-sys_socket: avoid set-but-not-used warnings from gcc
24846         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
24847         avoid warning about set-but-not-used variables.
24848
24849         test-xvasprintf: avoid 'const' discard warnings
24850         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
24851         "const" when assigning from literal strings.
24852         (test_xasprintf): Add "void" in function argument list to placate
24853         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
24854
24855         tests: avoid compilation warnings in argmatch and exclude tests...
24856         in packages that define ARGMATCH_DIE_DECL, like coreutils.
24857         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
24858         Since it always exits, declare with the "noreturn" attribute.
24859         * tests/test-argmatch.c: Likewise.
24860
24861         tests: avoid 'const' discard warnings in mbsstr tests
24862         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
24863         * tests/test-mbsstr2.c (main): Likewise.
24864
24865         test-verify: avoid warning from gcc's -Wmissing-declarations
24866         * tests/test-verify.c (function): Declare to be static.
24867
24868         test-inttostr.c: include <string.h> for use of strcmp
24869         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
24870
24871         test-linkat: avoid failed assertion on "other" architectures
24872         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
24873         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
24874         sparc: https://bugs.launchpad.net/bugs/591968
24875
24876 2010-06-11  Jim Meyering  <meyering@redhat.com>
24877
24878         printf.m4: avoid autoconf's "Expanded Before Required" warning
24879         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
24880         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
24881         autoconf warning.
24882
24883 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
24884
24885         Replacement header templates are now named with ".in", not "_".
24886         * doc/gnulib-intro.texi: Correct.
24887
24888 2010-06-10  Jim Meyering  <meyering@redhat.com>
24889
24890         inttostr-tests: depend on snprintf, not snprintf-posix
24891         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
24892         snprintf-posix, to avoid this aclocal failure:
24893           missing file gnulib-tests/vasnprintf.c
24894           configure.ac:45: error: expected source file, required through \
24895           AC_LIBSOURCES, not found
24896
24897 2010-06-10  Jim Meyering  <meyering@redhat.com>
24898
24899         inttostr: add a new function, inttostr, and tests
24900         The namesake function was not available.  The existence of the
24901         template file, inttostr.c makes its addition nontrivial.
24902         * lib/anytostr.c: Rename from inttostr.c.
24903         (anytostr): Rename from inttostr.
24904         * lib/inttostr.c: New file.
24905         * modules/inttostr (Files): Add anytostr.c.
24906         (Makefile.am): Set lib_SOURCES instead of ...
24907         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
24908         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
24909         * lib/offtostr.c: Likewise.
24910         * lib/uinttostr.c: Likewise.
24911         * lib/umaxtostr.c: Likewise.
24912         * modules/inttostr-tests: New file.
24913         * tests/test-inttostr.c: New file.  Test these functions.
24914
24915 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
24916             Bruno Haible  <bruno@clisp.org>
24917
24918         Add "Extending Gnulib" chapter to manual.
24919         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
24920         chapter.
24921         (Extending Gnulib): New chapter.
24922         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
24923         chapter.
24924
24925 2010-06-09  Bruno Haible  <bruno@clisp.org>
24926
24927         Avoid relocwrapper link errors due to gnulib replacement functions.
24928         * lib/areadlink.c: Use the system's malloc, realloc functions.
24929         (areadlink): Set errno to ENOMEM explicitly.
24930         * modules/areadlink (Depends-on): Remove malloc-posix.
24931         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24932
24933 2010-06-09  Bruno Haible  <bruno@clisp.org>
24934
24935         Avoid relocwrapper link errors due to gnulib replacement functions.
24936         * lib/canonicalize-lgpl.c: Use the system's malloc function.
24937         * lib/malloca.c: Likewise.
24938         * lib/relocatable.c: Likewise.
24939         * lib/progreloc.c: Use the system's malloc, sprintf functions.
24940         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
24941         * lib/setenv.c: Use the system's malloc, realloc functions.
24942         * lib/strerror.c: Use the system's sprintf function.
24943         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24944
24945 2010-06-04  Bruno Haible  <bruno@clisp.org>
24946
24947         Prefer documented low-level autoconf macro names.
24948         * m4/lib-link.m4: Use m4_translit instead of translit.
24949         * m4/environ.m4: Likewise.
24950         * m4/mathfunc.m4: Likewise.
24951         * m4/onceonly.m4: Likewise.
24952         * m4/stdint.m4: Likewise.
24953         Suggested by Eric Blake.
24954
24955 2010-06-04  Martin Lambers  <marlam@marlam.de>
24956             Bruno Haible  <bruno@clisp.org>
24957
24958         havelib: Allow library names with '+' characters.
24959         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
24960         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
24961
24962 2010-06-09  Bruno Haible  <bruno@clisp.org>
24963
24964         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
24965         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
24966         realloc failed.
24967
24968 2010-06-08  Peter Simons  <simons@cryp.to>
24969
24970         maint.mk: make the news-check rule more configurable
24971         * top/maint.mk (news-check-lines-spec): New variable.
24972         (news-check): Use "sed -n 1,10p" in place of "head".
24973
24974 2010-06-07  Jim Meyering  <meyering@redhat.com>
24975
24976         do-release-commit-and-tag: fix typo in --help
24977         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
24978
24979         regex: avoid new dead-code warning with gcc-4.6.0
24980         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
24981         if-block containing a while-loop.  It's been unused for at least
24982         5 years.
24983
24984 2010-06-05  Bruno Haible  <bruno@clisp.org>
24985
24986         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
24987         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
24988
24989 2010-06-04  Bruno Haible  <bruno@clisp.org>
24990
24991         Update to GNU gettext 0.18.1.
24992         * modules/gettext (configure.ac): Require gettext infrastructure from
24993         version 0.18.1.
24994
24995 2010-06-03  Bruno Haible  <bruno@clisp.org>
24996
24997         Don't use AC_LIBOBJ with file names in subdirectories.
24998         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
24999         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
25000         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
25001         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
25002         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
25003         gl_LIBUNISTRING_LIBSOURCE.
25004         (Makefile.am): Augment lib_SOURCES here, conditionally.
25005         * NEWS: Drop requirement for Automake option 'subdir-objects'.
25006
25007 2010-06-03  Bruno Haible  <bruno@clisp.org>
25008
25009         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
25010         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
25011         expansion does not end with a newline.
25012         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
25013         unnecessary newline.
25014
25015 2010-06-03  Bruno Haible  <bruno@clisp.org>
25016
25017         Reduce dependencies.
25018         * tests/test-quotearg.h: New file, extracted from
25019         tests/test-quotearg.c.
25020         * tests/test-quotearg-simple.c: New file, extracted from
25021         tests/test-quotearg.c.
25022         * tests/test-quotearg.c: Don't include <ctype.h>.
25023         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
25024         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
25025         use_quote_double_quotes, use_quotearg_colon): Moved to
25026         tests/test-quotearg.h.
25027         (results_g, flag_results, custom_quotes, custom_results): Moved
25028         to tests/test-quotearg-simple.c.
25029         (main): Moved the part that does not depend on gettext to
25030         tests/test-quotearg-simple.c. Return 77 if the test cannot be
25031         performed.
25032         * modules/quotearg-simple: New file.
25033         * modules/quotearg-simple-tests: New file.
25034         * modules/quotearg (Depends-on): Add quotearg-simple.
25035         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
25036         (Files): Add tests/test-quotearg.h.
25037         Reported by Paolo Bonzini.
25038
25039 2010-06-03  Bruno Haible  <bruno@clisp.org>
25040
25041         Reduce dependencies.
25042         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
25043
25044 2010-06-03  Bruno Haible  <bruno@clisp.org>
25045
25046         time: Undefine more broken macros.
25047         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
25048         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
25049         Reported by Eric Blake.
25050
25051 2010-06-03  Bruno Haible  <bruno@clisp.org>
25052
25053         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
25054         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
25055         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
25056         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
25057         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
25058         Reported by Ludovic Courtès <ludo@gnu.org>.
25059
25060 2010-06-02  Eric Blake  <eblake@redhat.com>
25061
25062         time: work with mingw + pthreads-win32 library
25063         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
25064         if timespec is defined only in pthread.h.
25065         * modules/time (Makefile.am): Substitute it.
25066         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
25067         <pthread.h>, when needed.
25068         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
25069         from the library.
25070
25071 2010-05-31  Bruno Haible  <bruno@clisp.org>
25072
25073         Avoid expanding two macros in the wrong order.
25074         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
25075         gl_LIBUNISTRING if it is defined.
25076         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
25077         autoconf >= 2.64.
25078         Reported by Ludovic Courtès <ludo@gnu.org>.
25079
25080 2010-05-27  Jim Meyering  <meyering@redhat.com>
25081
25082         maint.mk: also prohibit "#undef" of always-defined symbols
25083         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
25084         Allow more than one space before the symbol name.
25085         (sc_prohibit_always-defined_macros): Use grep's -E, now that
25086         the regexp uses alternation.
25087
25088 2010-05-26  Eric Blake  <eblake@redhat.com>
25089
25090         maint.mk: avoid echo -e
25091         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
25092         Convert all uses of echo -* to printf.
25093         Reported by Matthias Bolte.
25094
25095 2010-05-25  Bruno Haible  <bruno@clisp.org>
25096
25097         Update to GNU gettext 0.18, part 2.
25098         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
25099         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
25100
25101 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25102
25103         Add missing include in test-pwrite.c.
25104         * tests/test-pwrite.c: Include string.h, for strcmp.
25105
25106 2010-05-24  Bruno Haible  <bruno@clisp.org>
25107
25108         * NEWS: Mention requirement for Automake option 'subdir-objects'.
25109
25110 2010-05-24  Bruno Haible  <bruno@clisp.org>
25111
25112         Don't use conversion with transliteration in u{8,16,32}_strcoll.
25113         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
25114         iconveh_error argument.
25115         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
25116         U_STRCONV_TO_LOCALE.
25117         * lib/unistr/u16-strcoll.c: Likewise.
25118         * lib/unistr/u32-strcoll.c: Likewise.
25119         * modules/unistr/u8-strcoll (Depends-on): Add
25120         uniconv/u8-strconv-to-enc, localcharset. Remove
25121         uniconv/u8-strconv-to-locale.
25122         (configure.ac): Bump version number.
25123         * modules/unistr/u16-strcoll (Depends-on): Add
25124         uniconv/u16-strconv-to-enc, localcharset. Remove
25125         uniconv/u16-strconv-to-locale.
25126         (configure.ac): Bump version number.
25127         * modules/unistr/u32-strcoll (Depends-on): Add
25128         uniconv/u32-strconv-to-enc, localcharset. Remove
25129         uniconv/u32-strconv-to-locale.
25130         (configure.ac): Bump version number.
25131
25132 2010-05-24  Bruno Haible  <bruno@clisp.org>
25133
25134         Avoid a test failure on NetBSD 5.0.
25135         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
25136         an iconv() bug.
25137
25138 2010-05-24  Bruno Haible  <bruno@clisp.org>
25139
25140         Adjust #include directive style.
25141         * modules/regex (Includes): Recommend to write <regex.h>.
25142
25143 2010-05-24  Bruno Haible  <bruno@clisp.org>
25144
25145         regex: Don't require alloca.
25146         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
25147         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
25148         only inside if (0).
25149
25150 2010-05-23  Jim Meyering  <meyering@redhat.com>
25151
25152         test-renameat.c: include <sys/stat.h>
25153         * tests/test-renameat.c: Include <sys/stat.h>; required for
25154         definition of S_IS* macros.
25155
25156 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
25157
25158         Update maintainer documentation for 'relocatable-prog' module.
25159         * doc/relocatable-maint.texi: Update.
25160         Comments by Bruno Haible.
25161
25162 2010-05-23  Bruno Haible  <bruno@clisp.org>
25163
25164         git-merge-changelog: Enable --split-merged-entry by default.
25165         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
25166         (usage): Don't mention this option any more.
25167         Reported by Ralf Wildenhues.
25168
25169 2010-05-23  Jim Meyering  <meyering@redhat.com>
25170
25171         test-pwrite: do not leave behind a test file named "out"
25172         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
25173         The trivial-looking use of init.sh is really necessary.
25174         It ensures that the temporary file, "out", is created in
25175         a temporary directory, and removed upon termination.
25176         * tests/test-pwrite.sh: Re-add file.
25177         * modules/pwrite-tests: Reference it.
25178
25179 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25180
25181         Fix output redirection buglet in init.sh.
25182         * tests/init.sh: Fix redirection of stderr.
25183
25184 2010-05-20  Simon Josefsson  <simon@josefsson.org>
25185
25186         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
25187
25188 2010-05-17  Simon Josefsson  <simon@josefsson.org>
25189
25190         * modules/valgrind-tests: New file.
25191         * m4/valgrind-tests.m4: New file.
25192         * doc/valgrind-tests.texi: New file.
25193         * doc/gnulib.texi (Running self-tests under valgrind): New
25194         section.
25195
25196 2010-05-19  Bruno Haible  <bruno@clisp.org>
25197
25198         Clean up dead code in recent commit.
25199         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
25200         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
25201         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
25202         Suggested by Paolo Bonzini.
25203
25204 2010-05-19  Bruno Haible  <bruno@clisp.org>
25205
25206         Avoid valgrind error reports from libunistring.
25207         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
25208         * modules/libunistring (Files): Add it.
25209         * modules/libunistring-optional (Files): Likewise.
25210
25211 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
25212             Bruno Haible  <bruno@clisp.org>
25213
25214         New module 'libunistring-optional'.
25215         * modules/libunistring-optional: New file.
25216         * m4/libunistring-base.m4: New file.
25217         * m4/libunistring-optional.m4: New file.
25218         * lib/unicase.in.h: Renamed from lib/unicase.h.
25219         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
25220         * lib/unictype.in.h: Renamed from lib/unictype.h.
25221         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
25222         * lib/uniname.in.h: Renamed from lib/uniname.h.
25223         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
25224         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
25225         * lib/unistr.in.h: Renamed from lib/unistr.h.
25226         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
25227         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
25228         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
25229         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
25230         gl_LIBUNISTRING. If the library was found, determine the installed
25231         version and set LIBUNISTRING_VERSION.
25232         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
25233         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
25234         handle a configuration option --with-included-libunistring.
25235         * modules/libunistring (Files): Add m4/absolute-header.m4.
25236         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
25237         Add m4/libunistring-base.m4.
25238         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25239         (Makefile.am): Build unicase.h from unicase.in.h.
25240         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
25241         Add m4/libunistring-base.m4.
25242         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25243         (Makefile.am): Build uniconv.h from uniconv.in.h.
25244         * modules/unictype/base (Files): Use unictype.in.h instead of
25245         unictype.h. Add m4/libunistring-base.m4.
25246         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25247         (Makefile.am): Build unictype.h from unictype.in.h.
25248         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
25249         Add m4/libunistring-base.m4.
25250         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25251         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
25252         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
25253         Add m4/libunistring-base.m4.
25254         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25255         (Makefile.am): Build uniname.h from uniname.in.h.
25256         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
25257         Add m4/libunistring-base.m4.
25258         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25259         (Makefile.am): Build uninorm.h from uninorm.in.h.
25260         * modules/unistdio/base (Files): Use unistdio.in.h instead of
25261         unistdio.h. Add m4/libunistring-base.m4.
25262         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25263         (Makefile.am): Build unistdio.h from unistdio.in.h.
25264         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
25265         Add m4/libunistring-base.m4.
25266         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25267         (Makefile.am): Build unistr.h from unistr.in.h.
25268         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
25269         Add m4/libunistring-base.m4.
25270         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25271         (Makefile.am): Build unitypes.h from unitypes.in.h.
25272         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
25273         Add m4/libunistring-base.m4.
25274         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25275         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
25276         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
25277         uniwidth.h. Add m4/libunistring-base.m4.
25278         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25279         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
25280         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
25281         instead of augmenting lib_SOURCES.
25282         * modules/unicase/empty-suffix-context: Likewise.
25283         * modules/unicase/locale-language: Likewise.
25284         * modules/unicase/tolower: Likewise.
25285         * modules/unicase/totitle: Likewise.
25286         * modules/unicase/toupper: Likewise.
25287         * modules/unicase/u8-casecmp: Likewise.
25288         * modules/unicase/u8-casecoll: Likewise.
25289         * modules/unicase/u8-casefold: Likewise.
25290         * modules/unicase/u8-casexfrm: Likewise.
25291         * modules/unicase/u8-ct-casefold: Likewise.
25292         * modules/unicase/u8-ct-tolower: Likewise.
25293         * modules/unicase/u8-ct-totitle: Likewise.
25294         * modules/unicase/u8-ct-toupper: Likewise.
25295         * modules/unicase/u8-is-cased: Likewise.
25296         * modules/unicase/u8-is-casefolded: Likewise.
25297         * modules/unicase/u8-is-lowercase: Likewise.
25298         * modules/unicase/u8-is-titlecase: Likewise.
25299         * modules/unicase/u8-is-uppercase: Likewise.
25300         * modules/unicase/u8-prefix-context: Likewise.
25301         * modules/unicase/u8-suffix-context: Likewise.
25302         * modules/unicase/u8-tolower: Likewise.
25303         * modules/unicase/u8-totitle: Likewise.
25304         * modules/unicase/u8-toupper: Likewise.
25305         * modules/unicase/u16-casecmp: Likewise.
25306         * modules/unicase/u16-casecoll: Likewise.
25307         * modules/unicase/u16-casefold: Likewise.
25308         * modules/unicase/u16-casexfrm: Likewise.
25309         * modules/unicase/u16-ct-casefold: Likewise.
25310         * modules/unicase/u16-ct-tolower: Likewise.
25311         * modules/unicase/u16-ct-totitle: Likewise.
25312         * modules/unicase/u16-ct-toupper: Likewise.
25313         * modules/unicase/u16-is-cased: Likewise.
25314         * modules/unicase/u16-is-casefolded: Likewise.
25315         * modules/unicase/u16-is-lowercase: Likewise.
25316         * modules/unicase/u16-is-titlecase: Likewise.
25317         * modules/unicase/u16-is-uppercase: Likewise.
25318         * modules/unicase/u16-prefix-context: Likewise.
25319         * modules/unicase/u16-suffix-context: Likewise.
25320         * modules/unicase/u16-tolower: Likewise.
25321         * modules/unicase/u16-totitle: Likewise.
25322         * modules/unicase/u16-toupper: Likewise.
25323         * modules/unicase/u32-casecmp: Likewise.
25324         * modules/unicase/u32-casecoll: Likewise.
25325         * modules/unicase/u32-casefold: Likewise.
25326         * modules/unicase/u32-casexfrm: Likewise.
25327         * modules/unicase/u32-ct-casefold: Likewise.
25328         * modules/unicase/u32-ct-tolower: Likewise.
25329         * modules/unicase/u32-ct-totitle: Likewise.
25330         * modules/unicase/u32-ct-toupper: Likewise.
25331         * modules/unicase/u32-is-cased: Likewise.
25332         * modules/unicase/u32-is-casefolded: Likewise.
25333         * modules/unicase/u32-is-lowercase: Likewise.
25334         * modules/unicase/u32-is-titlecase: Likewise.
25335         * modules/unicase/u32-is-uppercase: Likewise.
25336         * modules/unicase/u32-prefix-context: Likewise.
25337         * modules/unicase/u32-suffix-context: Likewise.
25338         * modules/unicase/u32-tolower: Likewise.
25339         * modules/unicase/u32-totitle: Likewise.
25340         * modules/unicase/u32-toupper: Likewise.
25341         * modules/unicase/ulc-casecmp: Likewise.
25342         * modules/unicase/ulc-casecoll: Likewise.
25343         * modules/unicase/ulc-casexfrm: Likewise.
25344         * modules/uniconv/u8-conv-from-enc: Likewise.
25345         * modules/uniconv/u8-conv-to-enc: Likewise.
25346         * modules/uniconv/u8-strconv-from-enc: Likewise.
25347         * modules/uniconv/u8-strconv-from-locale: Likewise.
25348         * modules/uniconv/u8-strconv-to-enc: Likewise.
25349         * modules/uniconv/u8-strconv-to-locale: Likewise.
25350         * modules/uniconv/u16-conv-from-enc: Likewise.
25351         * modules/uniconv/u16-conv-to-enc: Likewise.
25352         * modules/uniconv/u16-strconv-from-enc: Likewise.
25353         * modules/uniconv/u16-strconv-from-locale: Likewise.
25354         * modules/uniconv/u16-strconv-to-enc: Likewise.
25355         * modules/uniconv/u16-strconv-to-locale: Likewise.
25356         * modules/uniconv/u32-conv-from-enc: Likewise.
25357         * modules/uniconv/u32-conv-to-enc: Likewise.
25358         * modules/uniconv/u32-strconv-from-enc: Likewise.
25359         * modules/uniconv/u32-strconv-from-locale: Likewise.
25360         * modules/uniconv/u32-strconv-to-enc: Likewise.
25361         * modules/uniconv/u32-strconv-to-locale: Likewise.
25362         * modules/unictype/bidicategory-byname: Likewise.
25363         * modules/unictype/bidicategory-name: Likewise.
25364         * modules/unictype/bidicategory-of: Likewise.
25365         * modules/unictype/bidicategory-test: Likewise.
25366         * modules/unictype/block-list: Likewise.
25367         * modules/unictype/block-test: Likewise.
25368         * modules/unictype/category-C: Likewise.
25369         * modules/unictype/category-Cc: Likewise.
25370         * modules/unictype/category-Cf: Likewise.
25371         * modules/unictype/category-Cn: Likewise.
25372         * modules/unictype/category-Co: Likewise.
25373         * modules/unictype/category-Cs: Likewise.
25374         * modules/unictype/category-L: Likewise.
25375         * modules/unictype/category-Ll: Likewise.
25376         * modules/unictype/category-Lm: Likewise.
25377         * modules/unictype/category-Lo: Likewise.
25378         * modules/unictype/category-Lt: Likewise.
25379         * modules/unictype/category-Lu: Likewise.
25380         * modules/unictype/category-M: Likewise.
25381         * modules/unictype/category-Mc: Likewise.
25382         * modules/unictype/category-Me: Likewise.
25383         * modules/unictype/category-Mn: Likewise.
25384         * modules/unictype/category-N: Likewise.
25385         * modules/unictype/category-Nd: Likewise.
25386         * modules/unictype/category-Nl: Likewise.
25387         * modules/unictype/category-No: Likewise.
25388         * modules/unictype/category-P: Likewise.
25389         * modules/unictype/category-Pc: Likewise.
25390         * modules/unictype/category-Pd: Likewise.
25391         * modules/unictype/category-Pe: Likewise.
25392         * modules/unictype/category-Pf: Likewise.
25393         * modules/unictype/category-Pi: Likewise.
25394         * modules/unictype/category-Po: Likewise.
25395         * modules/unictype/category-Ps: Likewise.
25396         * modules/unictype/category-S: Likewise.
25397         * modules/unictype/category-Sc: Likewise.
25398         * modules/unictype/category-Sk: Likewise.
25399         * modules/unictype/category-Sm: Likewise.
25400         * modules/unictype/category-So: Likewise.
25401         * modules/unictype/category-Z: Likewise.
25402         * modules/unictype/category-Zl: Likewise.
25403         * modules/unictype/category-Zp: Likewise.
25404         * modules/unictype/category-Zs: Likewise.
25405         * modules/unictype/category-and: Likewise.
25406         * modules/unictype/category-and-not: Likewise.
25407         * modules/unictype/category-byname: Likewise.
25408         * modules/unictype/category-name: Likewise.
25409         * modules/unictype/category-none: Likewise.
25410         * modules/unictype/category-of: Likewise.
25411         * modules/unictype/category-or: Likewise.
25412         * modules/unictype/category-test: Likewise.
25413         * modules/unictype/combining-class: Likewise.
25414         * modules/unictype/ctype-alnum: Likewise.
25415         * modules/unictype/ctype-alpha: Likewise.
25416         * modules/unictype/ctype-blank: Likewise.
25417         * modules/unictype/ctype-cntrl: Likewise.
25418         * modules/unictype/ctype-digit: Likewise.
25419         * modules/unictype/ctype-graph: Likewise.
25420         * modules/unictype/ctype-lower: Likewise.
25421         * modules/unictype/ctype-print: Likewise.
25422         * modules/unictype/ctype-punct: Likewise.
25423         * modules/unictype/ctype-space: Likewise.
25424         * modules/unictype/ctype-upper: Likewise.
25425         * modules/unictype/ctype-xdigit: Likewise.
25426         * modules/unictype/decimal-digit: Likewise.
25427         * modules/unictype/digit: Likewise.
25428         * modules/unictype/mirror: Likewise.
25429         * modules/unictype/numeric: Likewise.
25430         * modules/unictype/property-alphabetic: Likewise.
25431         * modules/unictype/property-ascii-hex-digit: Likewise.
25432         * modules/unictype/property-bidi-arabic-digit: Likewise.
25433         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
25434         * modules/unictype/property-bidi-block-separator: Likewise.
25435         * modules/unictype/property-bidi-boundary-neutral: Likewise.
25436         * modules/unictype/property-bidi-common-separator: Likewise.
25437         * modules/unictype/property-bidi-control: Likewise.
25438         * modules/unictype/property-bidi-embedding-or-override: Likewise.
25439         * modules/unictype/property-bidi-eur-num-separator: Likewise.
25440         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
25441         * modules/unictype/property-bidi-european-digit: Likewise.
25442         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
25443         * modules/unictype/property-bidi-left-to-right: Likewise.
25444         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
25445         * modules/unictype/property-bidi-other-neutral: Likewise.
25446         * modules/unictype/property-bidi-pdf: Likewise.
25447         * modules/unictype/property-bidi-segment-separator: Likewise.
25448         * modules/unictype/property-bidi-whitespace: Likewise.
25449         * modules/unictype/property-byname: Likewise.
25450         * modules/unictype/property-combining: Likewise.
25451         * modules/unictype/property-composite: Likewise.
25452         * modules/unictype/property-currency-symbol: Likewise.
25453         * modules/unictype/property-dash: Likewise.
25454         * modules/unictype/property-decimal-digit: Likewise.
25455         * modules/unictype/property-default-ignorable-code-point: Likewise.
25456         * modules/unictype/property-deprecated: Likewise.
25457         * modules/unictype/property-diacritic: Likewise.
25458         * modules/unictype/property-extender: Likewise.
25459         * modules/unictype/property-format-control: Likewise.
25460         * modules/unictype/property-grapheme-base: Likewise.
25461         * modules/unictype/property-grapheme-extend: Likewise.
25462         * modules/unictype/property-grapheme-link: Likewise.
25463         * modules/unictype/property-hex-digit: Likewise.
25464         * modules/unictype/property-hyphen: Likewise.
25465         * modules/unictype/property-id-continue: Likewise.
25466         * modules/unictype/property-id-start: Likewise.
25467         * modules/unictype/property-ideographic: Likewise.
25468         * modules/unictype/property-ids-binary-operator: Likewise.
25469         * modules/unictype/property-ids-trinary-operator: Likewise.
25470         * modules/unictype/property-ignorable-control: Likewise.
25471         * modules/unictype/property-iso-control: Likewise.
25472         * modules/unictype/property-join-control: Likewise.
25473         * modules/unictype/property-left-of-pair: Likewise.
25474         * modules/unictype/property-line-separator: Likewise.
25475         * modules/unictype/property-logical-order-exception: Likewise.
25476         * modules/unictype/property-lowercase: Likewise.
25477         * modules/unictype/property-math: Likewise.
25478         * modules/unictype/property-non-break: Likewise.
25479         * modules/unictype/property-not-a-character: Likewise.
25480         * modules/unictype/property-numeric: Likewise.
25481         * modules/unictype/property-other-alphabetic: Likewise.
25482         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
25483         * modules/unictype/property-other-grapheme-extend: Likewise.
25484         * modules/unictype/property-other-id-continue: Likewise.
25485         * modules/unictype/property-other-id-start: Likewise.
25486         * modules/unictype/property-other-lowercase: Likewise.
25487         * modules/unictype/property-other-math: Likewise.
25488         * modules/unictype/property-other-uppercase: Likewise.
25489         * modules/unictype/property-paired-punctuation: Likewise.
25490         * modules/unictype/property-paragraph-separator: Likewise.
25491         * modules/unictype/property-pattern-syntax: Likewise.
25492         * modules/unictype/property-pattern-white-space: Likewise.
25493         * modules/unictype/property-private-use: Likewise.
25494         * modules/unictype/property-punctuation: Likewise.
25495         * modules/unictype/property-quotation-mark: Likewise.
25496         * modules/unictype/property-radical: Likewise.
25497         * modules/unictype/property-sentence-terminal: Likewise.
25498         * modules/unictype/property-soft-dotted: Likewise.
25499         * modules/unictype/property-space: Likewise.
25500         * modules/unictype/property-terminal-punctuation: Likewise.
25501         * modules/unictype/property-test: Likewise.
25502         * modules/unictype/property-titlecase: Likewise.
25503         * modules/unictype/property-unassigned-code-value: Likewise.
25504         * modules/unictype/property-unified-ideograph: Likewise.
25505         * modules/unictype/property-uppercase: Likewise.
25506         * modules/unictype/property-variation-selector: Likewise.
25507         * modules/unictype/property-white-space: Likewise.
25508         * modules/unictype/property-xid-continue: Likewise.
25509         * modules/unictype/property-xid-start: Likewise.
25510         * modules/unictype/property-zero-width: Likewise.
25511         * modules/unictype/scripts: Likewise.
25512         * modules/unictype/syntax-c-ident: Likewise.
25513         * modules/unictype/syntax-c-whitespace: Likewise.
25514         * modules/unictype/syntax-java-ident: Likewise.
25515         * modules/unictype/syntax-java-whitespace: Likewise.
25516         * modules/unilbrk/u8-possible-linebreaks: Likewise.
25517         * modules/unilbrk/u8-width-linebreaks: Likewise.
25518         * modules/unilbrk/u16-possible-linebreaks: Likewise.
25519         * modules/unilbrk/u16-width-linebreaks: Likewise.
25520         * modules/unilbrk/u32-possible-linebreaks: Likewise.
25521         * modules/unilbrk/u32-width-linebreaks: Likewise.
25522         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
25523         * modules/unilbrk/ulc-width-linebreaks: Likewise.
25524         * modules/uniname/uniname: Likewise.
25525         * modules/uninorm/canonical-decomposition: Likewise.
25526         * modules/uninorm/composition: Likewise.
25527         * modules/uninorm/decomposing-form: Likewise.
25528         * modules/uninorm/decomposition: Likewise.
25529         * modules/uninorm/filter: Likewise.
25530         * modules/uninorm/nfc: Likewise.
25531         * modules/uninorm/nfd: Likewise.
25532         * modules/uninorm/nfkc: Likewise.
25533         * modules/uninorm/nfkd: Likewise.
25534         * modules/uninorm/u8-normalize: Likewise.
25535         * modules/uninorm/u8-normcmp: Likewise.
25536         * modules/uninorm/u8-normcoll: Likewise.
25537         * modules/uninorm/u8-normxfrm: Likewise.
25538         * modules/uninorm/u16-normalize: Likewise.
25539         * modules/uninorm/u16-normcmp: Likewise.
25540         * modules/uninorm/u16-normcoll: Likewise.
25541         * modules/uninorm/u16-normxfrm: Likewise.
25542         * modules/uninorm/u32-normalize: Likewise.
25543         * modules/uninorm/u32-normcmp: Likewise.
25544         * modules/uninorm/u32-normcoll: Likewise.
25545         * modules/uninorm/u32-normxfrm: Likewise.
25546         * modules/unistdio/u8-asnprintf: Likewise.
25547         * modules/unistdio/u8-asprintf: Likewise.
25548         * modules/unistdio/u8-snprintf: Likewise.
25549         * modules/unistdio/u8-sprintf: Likewise.
25550         * modules/unistdio/u8-u8-asnprintf: Likewise.
25551         * modules/unistdio/u8-u8-asprintf: Likewise.
25552         * modules/unistdio/u8-u8-snprintf: Likewise.
25553         * modules/unistdio/u8-u8-sprintf: Likewise.
25554         * modules/unistdio/u8-u8-vasnprintf: Likewise.
25555         * modules/unistdio/u8-u8-vasprintf: Likewise.
25556         * modules/unistdio/u8-u8-vsnprintf: Likewise.
25557         * modules/unistdio/u8-u8-vsprintf: Likewise.
25558         * modules/unistdio/u8-vasnprintf: Likewise.
25559         * modules/unistdio/u8-vasprintf: Likewise.
25560         * modules/unistdio/u8-vsnprintf: Likewise.
25561         * modules/unistdio/u8-vsprintf: Likewise.
25562         * modules/unistdio/u16-asnprintf: Likewise.
25563         * modules/unistdio/u16-asprintf: Likewise.
25564         * modules/unistdio/u16-snprintf: Likewise.
25565         * modules/unistdio/u16-sprintf: Likewise.
25566         * modules/unistdio/u16-u16-asnprintf: Likewise.
25567         * modules/unistdio/u16-u16-asprintf: Likewise.
25568         * modules/unistdio/u16-u16-snprintf: Likewise.
25569         * modules/unistdio/u16-u16-sprintf: Likewise.
25570         * modules/unistdio/u16-u16-vasnprintf: Likewise.
25571         * modules/unistdio/u16-u16-vasprintf: Likewise.
25572         * modules/unistdio/u16-u16-vsnprintf: Likewise.
25573         * modules/unistdio/u16-u16-vsprintf: Likewise.
25574         * modules/unistdio/u16-vasnprintf: Likewise.
25575         * modules/unistdio/u16-vasprintf: Likewise.
25576         * modules/unistdio/u16-vsnprintf: Likewise.
25577         * modules/unistdio/u16-vsprintf: Likewise.
25578         * modules/unistdio/u32-asnprintf: Likewise.
25579         * modules/unistdio/u32-asprintf: Likewise.
25580         * modules/unistdio/u32-snprintf: Likewise.
25581         * modules/unistdio/u32-sprintf: Likewise.
25582         * modules/unistdio/u32-u32-asnprintf: Likewise.
25583         * modules/unistdio/u32-u32-asprintf: Likewise.
25584         * modules/unistdio/u32-u32-snprintf: Likewise.
25585         * modules/unistdio/u32-u32-sprintf: Likewise.
25586         * modules/unistdio/u32-u32-vasnprintf: Likewise.
25587         * modules/unistdio/u32-u32-vasprintf: Likewise.
25588         * modules/unistdio/u32-u32-vsnprintf: Likewise.
25589         * modules/unistdio/u32-u32-vsprintf: Likewise.
25590         * modules/unistdio/u32-vasnprintf: Likewise.
25591         * modules/unistdio/u32-vasprintf: Likewise.
25592         * modules/unistdio/u32-vsnprintf: Likewise.
25593         * modules/unistdio/u32-vsprintf: Likewise.
25594         * modules/unistdio/ulc-asnprintf: Likewise.
25595         * modules/unistdio/ulc-asprintf: Likewise.
25596         * modules/unistdio/ulc-fprintf: Likewise.
25597         * modules/unistdio/ulc-snprintf: Likewise.
25598         * modules/unistdio/ulc-sprintf: Likewise.
25599         * modules/unistdio/ulc-vasnprintf: Likewise.
25600         * modules/unistdio/ulc-vasprintf: Likewise.
25601         * modules/unistdio/ulc-vfprintf: Likewise.
25602         * modules/unistdio/ulc-vsnprintf: Likewise.
25603         * modules/unistdio/ulc-vsprintf: Likewise.
25604         * modules/unistr/u8-check: Likewise.
25605         * modules/unistr/u8-chr: Likewise.
25606         * modules/unistr/u8-cmp: Likewise.
25607         * modules/unistr/u8-cmp2: Likewise.
25608         * modules/unistr/u8-cpy: Likewise.
25609         * modules/unistr/u8-cpy-alloc: Likewise.
25610         * modules/unistr/u8-endswith: Likewise.
25611         * modules/unistr/u8-mblen: Likewise.
25612         * modules/unistr/u8-mbsnlen: Likewise.
25613         * modules/unistr/u8-mbtouc: Likewise.
25614         * modules/unistr/u8-mbtouc-unsafe: Likewise.
25615         * modules/unistr/u8-mbtoucr: Likewise.
25616         * modules/unistr/u8-move: Likewise.
25617         * modules/unistr/u8-next: Likewise.
25618         * modules/unistr/u8-prev: Likewise.
25619         * modules/unistr/u8-set: Likewise.
25620         * modules/unistr/u8-startswith: Likewise.
25621         * modules/unistr/u8-stpcpy: Likewise.
25622         * modules/unistr/u8-stpncpy: Likewise.
25623         * modules/unistr/u8-strcat: Likewise.
25624         * modules/unistr/u8-strchr: Likewise.
25625         * modules/unistr/u8-strcmp: Likewise.
25626         * modules/unistr/u8-strcoll: Likewise.
25627         * modules/unistr/u8-strcpy: Likewise.
25628         * modules/unistr/u8-strcspn: Likewise.
25629         * modules/unistr/u8-strdup: Likewise.
25630         * modules/unistr/u8-strlen: Likewise.
25631         * modules/unistr/u8-strmblen: Likewise.
25632         * modules/unistr/u8-strmbtouc: Likewise.
25633         * modules/unistr/u8-strncat: Likewise.
25634         * modules/unistr/u8-strncmp: Likewise.
25635         * modules/unistr/u8-strncpy: Likewise.
25636         * modules/unistr/u8-strnlen: Likewise.
25637         * modules/unistr/u8-strpbrk: Likewise.
25638         * modules/unistr/u8-strrchr: Likewise.
25639         * modules/unistr/u8-strspn: Likewise.
25640         * modules/unistr/u8-strstr: Likewise.
25641         * modules/unistr/u8-strtok: Likewise.
25642         * modules/unistr/u8-to-u16: Likewise.
25643         * modules/unistr/u8-to-u32: Likewise.
25644         * modules/unistr/u8-uctomb: Likewise.
25645         * modules/unistr/u16-check: Likewise.
25646         * modules/unistr/u16-chr: Likewise.
25647         * modules/unistr/u16-cmp: Likewise.
25648         * modules/unistr/u16-cmp2: Likewise.
25649         * modules/unistr/u16-cpy: Likewise.
25650         * modules/unistr/u16-cpy-alloc: Likewise.
25651         * modules/unistr/u16-endswith: Likewise.
25652         * modules/unistr/u16-mblen: Likewise.
25653         * modules/unistr/u16-mbsnlen: Likewise.
25654         * modules/unistr/u16-mbtouc: Likewise.
25655         * modules/unistr/u16-mbtouc-unsafe: Likewise.
25656         * modules/unistr/u16-mbtoucr: Likewise.
25657         * modules/unistr/u16-move: Likewise.
25658         * modules/unistr/u16-next: Likewise.
25659         * modules/unistr/u16-prev: Likewise.
25660         * modules/unistr/u16-set: Likewise.
25661         * modules/unistr/u16-startswith: Likewise.
25662         * modules/unistr/u16-stpcpy: Likewise.
25663         * modules/unistr/u16-stpncpy: Likewise.
25664         * modules/unistr/u16-strcat: Likewise.
25665         * modules/unistr/u16-strchr: Likewise.
25666         * modules/unistr/u16-strcmp: Likewise.
25667         * modules/unistr/u16-strcoll: Likewise.
25668         * modules/unistr/u16-strcpy: Likewise.
25669         * modules/unistr/u16-strcspn: Likewise.
25670         * modules/unistr/u16-strdup: Likewise.
25671         * modules/unistr/u16-strlen: Likewise.
25672         * modules/unistr/u16-strmblen: Likewise.
25673         * modules/unistr/u16-strmbtouc: Likewise.
25674         * modules/unistr/u16-strncat: Likewise.
25675         * modules/unistr/u16-strncmp: Likewise.
25676         * modules/unistr/u16-strncpy: Likewise.
25677         * modules/unistr/u16-strnlen: Likewise.
25678         * modules/unistr/u16-strpbrk: Likewise.
25679         * modules/unistr/u16-strrchr: Likewise.
25680         * modules/unistr/u16-strspn: Likewise.
25681         * modules/unistr/u16-strstr: Likewise.
25682         * modules/unistr/u16-strtok: Likewise.
25683         * modules/unistr/u16-to-u32: Likewise.
25684         * modules/unistr/u16-to-u8: Likewise.
25685         * modules/unistr/u16-uctomb: Likewise.
25686         * modules/unistr/u32-check: Likewise.
25687         * modules/unistr/u32-chr: Likewise.
25688         * modules/unistr/u32-cmp: Likewise.
25689         * modules/unistr/u32-cmp2: Likewise.
25690         * modules/unistr/u32-cpy: Likewise.
25691         * modules/unistr/u32-cpy-alloc: Likewise.
25692         * modules/unistr/u32-endswith: Likewise.
25693         * modules/unistr/u32-mblen: Likewise.
25694         * modules/unistr/u32-mbsnlen: Likewise.
25695         * modules/unistr/u32-mbtouc: Likewise.
25696         * modules/unistr/u32-mbtouc-unsafe: Likewise.
25697         * modules/unistr/u32-mbtoucr: Likewise.
25698         * modules/unistr/u32-move: Likewise.
25699         * modules/unistr/u32-next: Likewise.
25700         * modules/unistr/u32-prev: Likewise.
25701         * modules/unistr/u32-set: Likewise.
25702         * modules/unistr/u32-startswith: Likewise.
25703         * modules/unistr/u32-stpcpy: Likewise.
25704         * modules/unistr/u32-stpncpy: Likewise.
25705         * modules/unistr/u32-strcat: Likewise.
25706         * modules/unistr/u32-strchr: Likewise.
25707         * modules/unistr/u32-strcmp: Likewise.
25708         * modules/unistr/u32-strcoll: Likewise.
25709         * modules/unistr/u32-strcpy: Likewise.
25710         * modules/unistr/u32-strcspn: Likewise.
25711         * modules/unistr/u32-strdup: Likewise.
25712         * modules/unistr/u32-strlen: Likewise.
25713         * modules/unistr/u32-strmblen: Likewise.
25714         * modules/unistr/u32-strmbtouc: Likewise.
25715         * modules/unistr/u32-strncat: Likewise.
25716         * modules/unistr/u32-strncmp: Likewise.
25717         * modules/unistr/u32-strncpy: Likewise.
25718         * modules/unistr/u32-strnlen: Likewise.
25719         * modules/unistr/u32-strpbrk: Likewise.
25720         * modules/unistr/u32-strrchr: Likewise.
25721         * modules/unistr/u32-strspn: Likewise.
25722         * modules/unistr/u32-strstr: Likewise.
25723         * modules/unistr/u32-strtok: Likewise.
25724         * modules/unistr/u32-to-u16: Likewise.
25725         * modules/unistr/u32-to-u8: Likewise.
25726         * modules/unistr/u32-uctomb: Likewise.
25727         * modules/uniwbrk/u8-wordbreaks: Likewise.
25728         * modules/uniwbrk/u16-wordbreaks: Likewise.
25729         * modules/uniwbrk/u32-wordbreaks: Likewise.
25730         * modules/uniwbrk/ulc-wordbreaks: Likewise.
25731         * modules/uniwbrk/wordbreak-property: Likewise.
25732         * modules/uniwidth/u8-strwidth: Likewise.
25733         * modules/uniwidth/u8-width: Likewise.
25734         * modules/uniwidth/u16-strwidth: Likewise.
25735         * modules/uniwidth/u16-width: Likewise.
25736         * modules/uniwidth/u32-strwidth: Likewise.
25737         * modules/uniwidth/u32-width: Likewise.
25738         * modules/uniwidth/width: Likewise.
25739         * modules/unicase/cased-tests (Makefile.am): Link all test programs
25740         with $(LIBUNISTRING).
25741         * modules/unicase/ignorable-tests: Likewise.
25742         * modules/unicase/locale-language-tests: Likewise.
25743         * modules/unicase/tolower-tests: Likewise.
25744         * modules/unicase/totitle-tests: Likewise.
25745         * modules/unicase/toupper-tests: Likewise.
25746         * modules/unicase/u8-casecmp-tests: Likewise.
25747         * modules/unicase/u8-casecoll-tests: Likewise.
25748         * modules/unicase/u8-casefold-tests: Likewise.
25749         * modules/unicase/u8-is-cased-tests: Likewise.
25750         * modules/unicase/u8-is-casefolded-tests: Likewise.
25751         * modules/unicase/u8-is-lowercase-tests: Likewise.
25752         * modules/unicase/u8-is-titlecase-tests: Likewise.
25753         * modules/unicase/u8-is-uppercase-tests: Likewise.
25754         * modules/unicase/u8-tolower-tests: Likewise.
25755         * modules/unicase/u8-totitle-tests: Likewise.
25756         * modules/unicase/u8-toupper-tests: Likewise.
25757         * modules/unicase/u16-casecmp-tests: Likewise.
25758         * modules/unicase/u16-casecoll-tests: Likewise.
25759         * modules/unicase/u16-casefold-tests: Likewise.
25760         * modules/unicase/u16-is-cased-tests: Likewise.
25761         * modules/unicase/u16-is-casefolded-tests: Likewise.
25762         * modules/unicase/u16-is-lowercase-tests: Likewise.
25763         * modules/unicase/u16-is-titlecase-tests: Likewise.
25764         * modules/unicase/u16-is-uppercase-tests: Likewise.
25765         * modules/unicase/u16-tolower-tests: Likewise.
25766         * modules/unicase/u16-totitle-tests: Likewise.
25767         * modules/unicase/u16-toupper-tests: Likewise.
25768         * modules/unicase/u32-casecmp-tests: Likewise.
25769         * modules/unicase/u32-casecoll-tests: Likewise.
25770         * modules/unicase/u32-casefold-tests: Likewise.
25771         * modules/unicase/u32-is-cased-tests: Likewise.
25772         * modules/unicase/u32-is-casefolded-tests: Likewise.
25773         * modules/unicase/u32-is-lowercase-tests: Likewise.
25774         * modules/unicase/u32-is-titlecase-tests: Likewise.
25775         * modules/unicase/u32-is-uppercase-tests: Likewise.
25776         * modules/unicase/u32-tolower-tests: Likewise.
25777         * modules/unicase/u32-totitle-tests: Likewise.
25778         * modules/unicase/u32-toupper-tests: Likewise.
25779         * modules/unicase/ulc-casecmp-tests: Likewise.
25780         * modules/unicase/ulc-casecoll-tests: Likewise.
25781         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
25782         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
25783         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
25784         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
25785         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
25786         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
25787         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
25788         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
25789         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
25790         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
25791         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
25792         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
25793         * modules/unictype/bidicategory-byname-tests: Likewise.
25794         * modules/unictype/bidicategory-name-tests: Likewise.
25795         * modules/unictype/bidicategory-of-tests: Likewise.
25796         * modules/unictype/bidicategory-test-tests: Likewise.
25797         * modules/unictype/block-list-tests: Likewise.
25798         * modules/unictype/block-of-tests: Likewise.
25799         * modules/unictype/block-test-tests: Likewise.
25800         * modules/unictype/category-C-tests: Likewise.
25801         * modules/unictype/category-Cc-tests: Likewise.
25802         * modules/unictype/category-Cf-tests: Likewise.
25803         * modules/unictype/category-Cn-tests: Likewise.
25804         * modules/unictype/category-Co-tests: Likewise.
25805         * modules/unictype/category-Cs-tests: Likewise.
25806         * modules/unictype/category-L-tests: Likewise.
25807         * modules/unictype/category-Ll-tests: Likewise.
25808         * modules/unictype/category-Lm-tests: Likewise.
25809         * modules/unictype/category-Lo-tests: Likewise.
25810         * modules/unictype/category-Lt-tests: Likewise.
25811         * modules/unictype/category-Lu-tests: Likewise.
25812         * modules/unictype/category-M-tests: Likewise.
25813         * modules/unictype/category-Mc-tests: Likewise.
25814         * modules/unictype/category-Me-tests: Likewise.
25815         * modules/unictype/category-Mn-tests: Likewise.
25816         * modules/unictype/category-N-tests: Likewise.
25817         * modules/unictype/category-Nd-tests: Likewise.
25818         * modules/unictype/category-Nl-tests: Likewise.
25819         * modules/unictype/category-No-tests: Likewise.
25820         * modules/unictype/category-P-tests: Likewise.
25821         * modules/unictype/category-Pc-tests: Likewise.
25822         * modules/unictype/category-Pd-tests: Likewise.
25823         * modules/unictype/category-Pe-tests: Likewise.
25824         * modules/unictype/category-Pf-tests: Likewise.
25825         * modules/unictype/category-Pi-tests: Likewise.
25826         * modules/unictype/category-Po-tests: Likewise.
25827         * modules/unictype/category-Ps-tests: Likewise.
25828         * modules/unictype/category-S-tests: Likewise.
25829         * modules/unictype/category-Sc-tests: Likewise.
25830         * modules/unictype/category-Sk-tests: Likewise.
25831         * modules/unictype/category-Sm-tests: Likewise.
25832         * modules/unictype/category-So-tests: Likewise.
25833         * modules/unictype/category-Z-tests: Likewise.
25834         * modules/unictype/category-Zl-tests: Likewise.
25835         * modules/unictype/category-Zp-tests: Likewise.
25836         * modules/unictype/category-Zs-tests: Likewise.
25837         * modules/unictype/category-and-not-tests: Likewise.
25838         * modules/unictype/category-and-tests: Likewise.
25839         * modules/unictype/category-byname-tests: Likewise.
25840         * modules/unictype/category-name-tests: Likewise.
25841         * modules/unictype/category-none-tests: Likewise.
25842         * modules/unictype/category-of-tests: Likewise.
25843         * modules/unictype/category-or-tests: Likewise.
25844         * modules/unictype/category-test-withtable-tests: Likewise.
25845         * modules/unictype/combining-class-tests: Likewise.
25846         * modules/unictype/ctype-alnum-tests: Likewise.
25847         * modules/unictype/ctype-alpha-tests: Likewise.
25848         * modules/unictype/ctype-blank-tests: Likewise.
25849         * modules/unictype/ctype-cntrl-tests: Likewise.
25850         * modules/unictype/ctype-digit-tests: Likewise.
25851         * modules/unictype/ctype-graph-tests: Likewise.
25852         * modules/unictype/ctype-lower-tests: Likewise.
25853         * modules/unictype/ctype-print-tests: Likewise.
25854         * modules/unictype/ctype-punct-tests: Likewise.
25855         * modules/unictype/ctype-space-tests: Likewise.
25856         * modules/unictype/ctype-upper-tests: Likewise.
25857         * modules/unictype/ctype-xdigit-tests: Likewise.
25858         * modules/unictype/decimal-digit-tests: Likewise.
25859         * modules/unictype/digit-tests: Likewise.
25860         * modules/unictype/mirror-tests: Likewise.
25861         * modules/unictype/numeric-tests: Likewise.
25862         * modules/unictype/property-alphabetic-tests: Likewise.
25863         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
25864         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
25865         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
25866         * modules/unictype/property-bidi-block-separator-tests: Likewise.
25867         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
25868         * modules/unictype/property-bidi-common-separator-tests: Likewise.
25869         * modules/unictype/property-bidi-control-tests: Likewise.
25870         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
25871         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
25872         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
25873         * modules/unictype/property-bidi-european-digit-tests: Likewise.
25874         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
25875         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
25876         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
25877         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
25878         * modules/unictype/property-bidi-pdf-tests: Likewise.
25879         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
25880         * modules/unictype/property-bidi-whitespace-tests: Likewise.
25881         * modules/unictype/property-byname-tests: Likewise.
25882         * modules/unictype/property-combining-tests: Likewise.
25883         * modules/unictype/property-composite-tests: Likewise.
25884         * modules/unictype/property-currency-symbol-tests: Likewise.
25885         * modules/unictype/property-dash-tests: Likewise.
25886         * modules/unictype/property-decimal-digit-tests: Likewise.
25887         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
25888         * modules/unictype/property-deprecated-tests: Likewise.
25889         * modules/unictype/property-diacritic-tests: Likewise.
25890         * modules/unictype/property-extender-tests: Likewise.
25891         * modules/unictype/property-format-control-tests: Likewise.
25892         * modules/unictype/property-grapheme-base-tests: Likewise.
25893         * modules/unictype/property-grapheme-extend-tests: Likewise.
25894         * modules/unictype/property-grapheme-link-tests: Likewise.
25895         * modules/unictype/property-hex-digit-tests: Likewise.
25896         * modules/unictype/property-hyphen-tests: Likewise.
25897         * modules/unictype/property-id-continue-tests: Likewise.
25898         * modules/unictype/property-id-start-tests: Likewise.
25899         * modules/unictype/property-ideographic-tests: Likewise.
25900         * modules/unictype/property-ids-binary-operator-tests: Likewise.
25901         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
25902         * modules/unictype/property-ignorable-control-tests: Likewise.
25903         * modules/unictype/property-iso-control-tests: Likewise.
25904         * modules/unictype/property-join-control-tests: Likewise.
25905         * modules/unictype/property-left-of-pair-tests: Likewise.
25906         * modules/unictype/property-line-separator-tests: Likewise.
25907         * modules/unictype/property-logical-order-exception-tests: Likewise.
25908         * modules/unictype/property-lowercase-tests: Likewise.
25909         * modules/unictype/property-math-tests: Likewise.
25910         * modules/unictype/property-non-break-tests: Likewise.
25911         * modules/unictype/property-not-a-character-tests: Likewise.
25912         * modules/unictype/property-numeric-tests: Likewise.
25913         * modules/unictype/property-other-alphabetic-tests: Likewise.
25914         * modules/unictype/property-other-default-ignorable-code-point-tests:
25915         Likewise.
25916         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
25917         * modules/unictype/property-other-id-continue-tests: Likewise.
25918         * modules/unictype/property-other-id-start-tests: Likewise.
25919         * modules/unictype/property-other-lowercase-tests: Likewise.
25920         * modules/unictype/property-other-math-tests: Likewise.
25921         * modules/unictype/property-other-uppercase-tests: Likewise.
25922         * modules/unictype/property-paired-punctuation-tests: Likewise.
25923         * modules/unictype/property-paragraph-separator-tests: Likewise.
25924         * modules/unictype/property-pattern-syntax-tests: Likewise.
25925         * modules/unictype/property-pattern-white-space-tests: Likewise.
25926         * modules/unictype/property-private-use-tests: Likewise.
25927         * modules/unictype/property-punctuation-tests: Likewise.
25928         * modules/unictype/property-quotation-mark-tests: Likewise.
25929         * modules/unictype/property-radical-tests: Likewise.
25930         * modules/unictype/property-sentence-terminal-tests: Likewise.
25931         * modules/unictype/property-soft-dotted-tests: Likewise.
25932         * modules/unictype/property-space-tests: Likewise.
25933         * modules/unictype/property-terminal-punctuation-tests: Likewise.
25934         * modules/unictype/property-test-tests: Likewise.
25935         * modules/unictype/property-titlecase-tests: Likewise.
25936         * modules/unictype/property-unassigned-code-value-tests: Likewise.
25937         * modules/unictype/property-unified-ideograph-tests: Likewise.
25938         * modules/unictype/property-uppercase-tests: Likewise.
25939         * modules/unictype/property-variation-selector-tests: Likewise.
25940         * modules/unictype/property-white-space-tests: Likewise.
25941         * modules/unictype/property-xid-continue-tests: Likewise.
25942         * modules/unictype/property-xid-start-tests: Likewise.
25943         * modules/unictype/property-zero-width-tests: Likewise.
25944         * modules/unictype/scripts-tests: Likewise.
25945         * modules/unictype/syntax-c-ident-tests: Likewise.
25946         * modules/unictype/syntax-c-whitespace-tests: Likewise.
25947         * modules/unictype/syntax-java-ident-tests: Likewise.
25948         * modules/unictype/syntax-java-whitespace-tests: Likewise.
25949         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
25950         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
25951         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
25952         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
25953         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
25954         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
25955         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
25956         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
25957         * modules/uniname/uniname-tests: Likewise.
25958         * modules/uninorm/canonical-decomposition-tests: Likewise.
25959         * modules/uninorm/compat-decomposition-tests: Likewise.
25960         * modules/uninorm/composition-tests: Likewise.
25961         * modules/uninorm/decomposing-form-tests: Likewise.
25962         * modules/uninorm/decomposition-tests: Likewise.
25963         * modules/uninorm/filter-tests: Likewise.
25964         * modules/uninorm/nfc-tests: Likewise.
25965         * modules/uninorm/nfd-tests: Likewise.
25966         * modules/uninorm/nfkc-tests: Likewise.
25967         * modules/uninorm/nfkd-tests: Likewise.
25968         * modules/uninorm/u8-normcmp-tests: Likewise.
25969         * modules/uninorm/u8-normcoll-tests: Likewise.
25970         * modules/uninorm/u16-normcmp-tests: Likewise.
25971         * modules/uninorm/u16-normcoll-tests: Likewise.
25972         * modules/uninorm/u32-normcmp-tests: Likewise.
25973         * modules/uninorm/u32-normcoll-tests: Likewise.
25974         * modules/unistdio/u8-asnprintf-tests: Likewise.
25975         * modules/unistdio/u8-vasnprintf-tests: Likewise.
25976         * modules/unistdio/u8-vasprintf-tests: Likewise.
25977         * modules/unistdio/u8-vsnprintf-tests: Likewise.
25978         * modules/unistdio/u8-vsprintf-tests: Likewise.
25979         * modules/unistdio/u16-asnprintf-tests: Likewise.
25980         * modules/unistdio/u16-vasnprintf-tests: Likewise.
25981         * modules/unistdio/u16-vasprintf-tests: Likewise.
25982         * modules/unistdio/u16-vsnprintf-tests: Likewise.
25983         * modules/unistdio/u16-vsprintf-tests: Likewise.
25984         * modules/unistdio/u32-asnprintf-tests: Likewise.
25985         * modules/unistdio/u32-vasnprintf-tests: Likewise.
25986         * modules/unistdio/u32-vasprintf-tests: Likewise.
25987         * modules/unistdio/u32-vsnprintf-tests: Likewise.
25988         * modules/unistdio/u32-vsprintf-tests: Likewise.
25989         * modules/unistdio/ulc-asnprintf-tests: Likewise.
25990         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
25991         * modules/unistdio/ulc-vasprintf-tests: Likewise.
25992         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
25993         * modules/unistdio/ulc-vsprintf-tests: Likewise.
25994         * modules/unistr/u8-check-tests: Likewise.
25995         * modules/unistr/u8-chr-tests: Likewise.
25996         * modules/unistr/u8-cmp-tests: Likewise.
25997         * modules/unistr/u8-cmp2-tests: Likewise.
25998         * modules/unistr/u8-cpy-alloc-tests: Likewise.
25999         * modules/unistr/u8-cpy-tests: Likewise.
26000         * modules/unistr/u8-mblen-tests: Likewise.
26001         * modules/unistr/u8-mbsnlen-tests: Likewise.
26002         * modules/unistr/u8-mbtouc-tests: Likewise.
26003         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
26004         * modules/unistr/u8-mbtoucr-tests: Likewise.
26005         * modules/unistr/u8-move-tests: Likewise.
26006         * modules/unistr/u8-next-tests: Likewise.
26007         * modules/unistr/u8-prev-tests: Likewise.
26008         * modules/unistr/u8-set-tests: Likewise.
26009         * modules/unistr/u8-stpcpy-tests: Likewise.
26010         * modules/unistr/u8-stpncpy-tests: Likewise.
26011         * modules/unistr/u8-strcat-tests: Likewise.
26012         * modules/unistr/u8-strcmp-tests: Likewise.
26013         * modules/unistr/u8-strcoll-tests: Likewise.
26014         * modules/unistr/u8-strcpy-tests: Likewise.
26015         * modules/unistr/u8-strdup-tests: Likewise.
26016         * modules/unistr/u8-strlen-tests: Likewise.
26017         * modules/unistr/u8-strmblen-tests: Likewise.
26018         * modules/unistr/u8-strmbtouc-tests: Likewise.
26019         * modules/unistr/u8-strncat-tests: Likewise.
26020         * modules/unistr/u8-strncmp-tests: Likewise.
26021         * modules/unistr/u8-strncpy-tests: Likewise.
26022         * modules/unistr/u8-strnlen-tests: Likewise.
26023         * modules/unistr/u8-to-u16-tests: Likewise.
26024         * modules/unistr/u8-to-u32-tests: Likewise.
26025         * modules/unistr/u8-uctomb-tests: Likewise.
26026         * modules/unistr/u16-check-tests: Likewise.
26027         * modules/unistr/u16-chr-tests: Likewise.
26028         * modules/unistr/u16-cmp-tests: Likewise.
26029         * modules/unistr/u16-cmp2-tests: Likewise.
26030         * modules/unistr/u16-cpy-alloc-tests: Likewise.
26031         * modules/unistr/u16-cpy-tests: Likewise.
26032         * modules/unistr/u16-mblen-tests: Likewise.
26033         * modules/unistr/u16-mbsnlen-tests: Likewise.
26034         * modules/unistr/u16-mbtouc-tests: Likewise.
26035         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
26036         * modules/unistr/u16-mbtoucr-tests: Likewise.
26037         * modules/unistr/u16-move-tests: Likewise.
26038         * modules/unistr/u16-next-tests: Likewise.
26039         * modules/unistr/u16-prev-tests: Likewise.
26040         * modules/unistr/u16-set-tests: Likewise.
26041         * modules/unistr/u16-stpcpy-tests: Likewise.
26042         * modules/unistr/u16-stpncpy-tests: Likewise.
26043         * modules/unistr/u16-strcat-tests: Likewise.
26044         * modules/unistr/u16-strcmp-tests: Likewise.
26045         * modules/unistr/u16-strcoll-tests: Likewise.
26046         * modules/unistr/u16-strcpy-tests: Likewise.
26047         * modules/unistr/u16-strdup-tests: Likewise.
26048         * modules/unistr/u16-strlen-tests: Likewise.
26049         * modules/unistr/u16-strmblen-tests: Likewise.
26050         * modules/unistr/u16-strmbtouc-tests: Likewise.
26051         * modules/unistr/u16-strncat-tests: Likewise.
26052         * modules/unistr/u16-strncmp-tests: Likewise.
26053         * modules/unistr/u16-strncpy-tests: Likewise.
26054         * modules/unistr/u16-strnlen-tests: Likewise.
26055         * modules/unistr/u16-to-u32-tests: Likewise.
26056         * modules/unistr/u16-to-u8-tests: Likewise.
26057         * modules/unistr/u16-uctomb-tests: Likewise.
26058         * modules/unistr/u32-check-tests: Likewise.
26059         * modules/unistr/u32-chr-tests: Likewise.
26060         * modules/unistr/u32-cmp-tests: Likewise.
26061         * modules/unistr/u32-cmp2-tests: Likewise.
26062         * modules/unistr/u32-cpy-alloc-tests: Likewise.
26063         * modules/unistr/u32-cpy-tests: Likewise.
26064         * modules/unistr/u32-mblen-tests: Likewise.
26065         * modules/unistr/u32-mbsnlen-tests: Likewise.
26066         * modules/unistr/u32-mbtouc-tests: Likewise.
26067         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
26068         * modules/unistr/u32-mbtoucr-tests: Likewise.
26069         * modules/unistr/u32-move-tests: Likewise.
26070         * modules/unistr/u32-next-tests: Likewise.
26071         * modules/unistr/u32-prev-tests: Likewise.
26072         * modules/unistr/u32-set-tests: Likewise.
26073         * modules/unistr/u32-stpcpy-tests: Likewise.
26074         * modules/unistr/u32-stpncpy-tests: Likewise.
26075         * modules/unistr/u32-strcat-tests: Likewise.
26076         * modules/unistr/u32-strcmp-tests: Likewise.
26077         * modules/unistr/u32-strcoll-tests: Likewise.
26078         * modules/unistr/u32-strcpy-tests: Likewise.
26079         * modules/unistr/u32-strdup-tests: Likewise.
26080         * modules/unistr/u32-strlen-tests: Likewise.
26081         * modules/unistr/u32-strmblen-tests: Likewise.
26082         * modules/unistr/u32-strmbtouc-tests: Likewise.
26083         * modules/unistr/u32-strncat-tests: Likewise.
26084         * modules/unistr/u32-strncmp-tests: Likewise.
26085         * modules/unistr/u32-strncpy-tests: Likewise.
26086         * modules/unistr/u32-strnlen-tests: Likewise.
26087         * modules/unistr/u32-to-u16-tests: Likewise.
26088         * modules/unistr/u32-to-u8-tests: Likewise.
26089         * modules/unistr/u32-uctomb-tests: Likewise.
26090         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
26091         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
26092         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
26093         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
26094         * modules/uniwidth/u8-strwidth-tests: Likewise.
26095         * modules/uniwidth/u8-width-tests: Likewise.
26096         * modules/uniwidth/u16-strwidth-tests: Likewise.
26097         * modules/uniwidth/u16-width-tests: Likewise.
26098         * modules/uniwidth/u32-strwidth-tests: Likewise.
26099         * modules/uniwidth/u32-width-tests: Likewise.
26100         * modules/uniwidth/width-tests: Likewise.
26101
26102 2010-05-18  Richard Jones  <rjones@redhat.com>
26103
26104         doc: users.txt: list hivex
26105         * users.txt: Add hivex.
26106
26107 2010-05-18  Richard Jones  <rjones@redhat.com>
26108
26109         doc: users.txt: list febootstrap
26110         * users.txt: Add febootstrap.
26111
26112 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
26113
26114         bootstrap: fix an error when gnulib is not used as a git submodule
26115         * build-aux/bootstrap (gnulib_path): If its length is zero then
26116         assign "gnulib" to it.
26117         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
26118
26119 2010-05-16  Bruno Haible  <bruno@clisp.org>
26120
26121         Avoid autoconf warnings about AM_ICONV.
26122         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
26123         2.64.
26124
26125 2010-05-16  Bruno Haible  <bruno@clisp.org>
26126
26127         absolute-header: Make the macro usable in more situations.
26128         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
26129         from gl_ABSOLUTE_HEADER.
26130         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
26131
26132 2010-05-16  James Youngman  <jay@gnu.org>
26133
26134         doc: update users.txt
26135         * users.txt: Add CSSC.
26136
26137 2010-05-16  Jim Meyering  <meyering@redhat.com>
26138
26139         init.sh: fix an error in the previous change; add more comments
26140         * tests/init.sh: Compare exit code in loop against 9, not 2.
26141         Patch by Bruno Haible.
26142         Make the two tests more similar by adding an empty "then" clause.
26143         Add comments.
26144
26145         init.sh: avoid unnecessary shell re-exec
26146         * tests/init.sh: Improve the re-exec-required check to first test the
26147         current shell.  If it passes the test, do not search for a shell that
26148         does pass, and do not re-exec.  This test is particularly contorted to
26149         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
26150         of $(...) evokes a syntax error and causes immediate shell exit with
26151         status 2.  Bruno Haible reported that the re-exec made it impossible
26152         to single-step through any init.sh-using script.
26153
26154 2010-05-16  Bruno Haible  <bruno@clisp.org>
26155
26156         Fix collision between gnulib's and libintl's printf replacements.
26157         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
26158         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
26159         (printf): When using GNU C, map the __printf__ function to rpl_printf
26160         via __asm__. When not using GNU C, define rpl_printf instead of
26161         __printf__.
26162         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
26163         commit.
26164         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
26165         commit.
26166         * m4/asm-underscore.m4: New file.
26167         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
26168         * modules/stdio (Files): Add m4/asm-underscore.m4.
26169         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
26170         Reported by Ben Pfaff.
26171
26172 2010-05-16  Bruno Haible  <bruno@clisp.org>
26173
26174         verify: Avoid skipping the test on openSUSE 11.0.
26175         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
26176
26177 2010-05-13  Bruno Haible  <bruno@clisp.org>
26178
26179         Avoid useless warnings from G++.
26180         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
26181         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
26182         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26183
26184 2010-05-11  Jim Meyering  <meyering@redhat.com>
26185
26186         maint.mk: tweak preceding change
26187         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
26188         regexps tighter by anchoring at EOL, and make the new group "shy"
26189         for slightly decreased overhead.
26190
26191 2010-05-11  Eric Blake  <eblake@redhat.com>
26192
26193         maint.mk: gnulib doesn't guarantee NSIG
26194         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
26195
26196 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
26197
26198         test-pwrite.c: Remove unused variable declaration.
26199         * tests/test-pwrite.c (main): Remove read_buf declaration.
26200
26201         Remove useless test-pwrite.sh file.
26202         * tests/test-pwrite.sh: Delete file.
26203         * modules/pwrite-tests: Remove references.
26204         Reported by Bruno Haible.
26205
26206 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
26207
26208         init.sh: fix a typo
26209         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
26210
26211 2010-05-10  Jim Meyering  <meyering@redhat.com>
26212
26213         maint.mk: avoid using a temporary file in the always-defined-macros check
26214         * top/maint.mk (.re-defmac): Remove rule.
26215         (gl_trap_): Remove definition.
26216         (sc_prohibit_always-defined_macros): Rewrite not to create and
26217         depend on a temporary file.  Instead, depend on GNU grep's ability
26218         to read a list of regular expressions from stdin when given "-f -".
26219
26220 2010-05-09  Bruno Haible  <bruno@clisp.org>
26221
26222         Update to GNU gettext 0.18, part 1.
26223         * m4/gettext.m4: Update to GNU gettext 0.18.
26224         * m4/intl.m4: Likewise.
26225         * m4/po.m4: Likewise.
26226         * modules/gettext (Files): Add m4/fcntl-o.m4.
26227         (configure.ac): Require gettext infrastructure from version 0.18.
26228
26229 2010-05-09  Jim Meyering  <meyering@redhat.com>
26230
26231         init.sh: enable MALLOC_PERTURB_
26232         * tests/init.sh: Enable glibc's malloc-perturbing option.
26233
26234         maint.mk: improve sc_cross_check_PATH_usage_in_tests
26235         With my recent change in init.sh from the two-line form:
26236             -#   : ${srcdir=.}
26237             -#   . "$srcdir/init.sh"; path_prepend_ .
26238             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
26239         I noticed that using the one-line form would cause this test
26240         to fail with a false-positive, or to stop working altogether,
26241         depending on whether help-version changed or all the tests did.
26242         * top/maint.mk (_hv_regex): Remove this definition.
26243         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
26244         (_hv_regex_strong): Use a stronger regex to check for conformance.
26245         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
26246         Give a separate diagnostic for lack of conforming use.
26247
26248         maint.mk: prohibit definition of symbols defined by gnulib
26249         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
26250         definition of symbols defined by gnulib.
26251
26252 2010-05-09  Bruno Haible  <bruno@clisp.org>
26253
26254         acl: Avoid test failure on Cygwin-hosted mingw.
26255         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
26256
26257 2010-05-09  Bruno Haible  <bruno@clisp.org>
26258
26259         error: Use system's fcntl function.
26260         * lib/error.c (fcntl): Undefine.
26261
26262 2010-05-09  Jim Meyering  <meyering@redhat.com>
26263
26264         verify: adjust formatting to be more consistent
26265         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
26266         argument-list '('s, and after one comma.
26267
26268 2010-05-09  Bruno Haible  <bruno@clisp.org>
26269
26270         error: More reliable output on mingw.
26271         * lib/error.c: Include <windows.h>.
26272         (is_open): New function.
26273         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
26274         defined.
26275
26276 2010-05-09  Bruno Haible  <bruno@clisp.org>
26277
26278         vasnprintf: Fix syntax errors in libintl build on mingw.
26279         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
26280         pad_ourselves and prec_ourselves after use.
26281
26282 2010-05-08  Bruno Haible  <bruno@clisp.org>
26283
26284         * lib/config.charset: Update comments for Cygwin 1.7.
26285         * lib/localcharset.c: Likewise.
26286
26287 2010-05-07  Jim Meyering  <meyering@redhat.com>
26288
26289         init.sh: improve comments
26290         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
26291         . "${srcdir=.}/init.sh"; path_prepend_ .
26292         Add a note about path_prepend_ and the alternative of using
26293         TESTS_ENVIRONMENT.
26294
26295 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
26296
26297         exclude: Unescape hashed patterns in wildcard mode.
26298         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
26299         to the hash list.
26300         * tests/test-exclude8.sh: New test case.
26301         * modules/exclude-tests: Add new test.
26302
26303 2010-05-05  Eric Blake  <eblake@redhat.com>
26304
26305         verify: automate tests
26306         * modules/verify-tests: New module.
26307         * tests/test-verify.sh: New file.
26308         * tests/test-verify.c: Guard each negative test with a unique id.
26309         Also avoid warning about unused left hand of comma expressions.
26310
26311 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
26312
26313         Further improvements to verify.h, suggested by Eric Blake.
26314         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
26315         the GL_* versions, to avoid collision with OpenGL.
26316         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
26317         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
26318         than testing merely whether it's defined.
26319
26320         Modify verify.h to pacify gcc -Wredundant_decls.
26321         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
26322         These use the prefix "GL_" since they're likely to be useful elsewhere.
26323         We may need to break them out into a different .h file.
26324         (__COUNTER__): Define to 0 if the compiler doesn't support it.
26325         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
26326         of verify_function__.
26327
26328 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
26329
26330         Tests for module pwrite.
26331         * modules/pwrite-tests: New file.
26332         * tests/test-pwrite.sh: New file.
26333         * tests/test-pwrite.c: New file.
26334
26335         New module pwrite.
26336         * lib/unistd.in.h (pwrite): New declaration.
26337         * lib/pwrite.c: New file, from glibc with modifications.
26338         * m4/pwrite.m4: New file.
26339         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
26340         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
26341         REPLACE_PWRITE.
26342         * modules/pwrite: New file.
26343         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
26344         REPLACE_PWRITE.
26345         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
26346         * doc/posix-functions/pwrite.texi: Mention the new module.
26347
26348 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
26349
26350         pread: Update documentation.
26351         * doc/posix-functions/pread.texi: Mention the 'pread' module.
26352
26353 2010-05-04  Eric Blake  <eblake@redhat.com>
26354
26355         docs: update cygwin progress
26356         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
26357         this bug.
26358         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
26359         Added in cygwin 1.7.2.
26360         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
26361         Likewise.
26362         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
26363         Likewise.
26364         * doc/glibc-functions/dup3.texi (dup3): Likewise.
26365         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
26366         * doc/glibc-functions/accept4.texi (accept4): Likewise.
26367         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
26368         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
26369         Mention nproc module.
26370         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
26371         bug in cygwin 1.7.5 addition.
26372         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
26373         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
26374         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
26375         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
26376         1.7.5.
26377         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
26378         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
26379         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
26380         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
26381         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
26382         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
26383         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
26384         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
26385         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
26386         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
26387         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
26388         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
26389         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
26390         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
26391         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
26392         Likewise.
26393         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
26394         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
26395         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
26396         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
26397         Likewise.
26398         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
26399         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
26400         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
26401         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
26402         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
26403         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
26404         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
26405         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
26406         Likewise.
26407         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
26408         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
26409         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
26410         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
26411         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
26412         Likewise.
26413         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
26414         Likewise.
26415         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
26416         Likewise.
26417         * doc/glibc-functions/xdrrec_endofrecord.texi
26418         (xdrrec_endofrecord): Likewise.
26419         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
26420         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
26421         Likewise.
26422         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
26423         Likewise.
26424
26425 2010-05-04  Jim Meyering  <meyering@redhat.com>
26426
26427         gendocs.sh: make its "-s FILE" option more useful
26428         * build-aux/gendocs.sh: When honoring the -s FILE option, update
26429         $PACKAGE to reflect the probably-different basename of "FILE".
26430
26431 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
26432
26433         bootstrap: don't ignore download_po_files failure
26434         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
26435         failure.
26436
26437 2010-05-03  Jim Meyering  <meyering@redhat.com>
26438
26439         maint.mk: allow to pass options to gendocs.sh
26440         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
26441         (gendocs_options_): New overridable variable.
26442
26443         gnu-web-doc-update: don't ignore configure or build failure
26444         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
26445
26446         announce-gen: backslash-escape '@'s in --help output
26447         * build-aux/announce-gen: Fix syntax errors.
26448
26449         maint.mk, announce-gen: allow project-specific announcement mail headers
26450         * top/maint.mk (translation_project_): Define default.
26451         (announcement_Cc_, announcement_mail_headers_): Likewise.
26452         (announcement): Invoke announce-gen with new --mail-headers option.
26453         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
26454
26455         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
26456         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
26457         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
26458         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
26459         line in the "err2" output file when running "make check" in verbose
26460         mode (i.e., with set -x enabled).
26461
26462 2010-05-03  Bruno Haible  <bruno@clisp.org>
26463
26464         wctob: Fix for weird platforms.
26465         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
26466         argument value.
26467
26468 2010-05-03  Jim Meyering  <meyering@redhat.com>
26469
26470         maint.mk: prohibit unwarranted use of <strings.h>
26471         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
26472         strings.h in a file that does not also use strcasecmp, strncasecmp,
26473         ffs or ffsll.
26474
26475         maint.mk: remove obsolete comments
26476         * top/maint.mk: Remove stale, commented-out rules.
26477
26478 2010-05-02  Bruno Haible  <bruno@clisp.org>
26479
26480         wcwidth: Declare also when it's aliased.
26481         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
26482         macro.
26483
26484 2010-05-02  Bruno Haible  <bruno@clisp.org>
26485
26486         Fix regression from 2010-04-25.
26487         * gnulib-tool (func_modules_transitive_closure): Check the status of
26488         all modules, not only of the tests that are of the form foo-tests where
26489         foo is a module.
26490
26491 2010-05-02  Bruno Haible  <bruno@clisp.org>
26492
26493         wctob: Work around nasty Cygwin 1.7.2 bug.
26494         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
26495         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
26496
26497 2010-05-01  Bruno Haible  <bruno@clisp.org>
26498
26499         fpurge: Sharper test.
26500         * tests/test-fpurge.c (main): Add one more ftell check.
26501         * modules/fpurge-tests (Depends-on): Add ftell.
26502         Suggested by Eric Blake.
26503
26504 2010-05-01  Bruno Haible  <bruno@clisp.org>
26505
26506         ftello: Another test.
26507         * tests/test-ftello3.c: New file.
26508         * modules/ftello-tests (Files): Add it.
26509         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
26510         MOSTLYCLEANFILES.
26511
26512         ftell: Another test.
26513         * tests/test-ftell3.c: New file.
26514         * modules/ftell-tests (Files): Add it.
26515         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
26516         MOSTLYCLEANFILES.
26517
26518 2010-05-01  Bruno Haible  <bruno@clisp.org>
26519
26520         ftell, ftello: Work around Solaris bug.
26521         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
26522         * lib/ftello.c: Include stdio-impl.h.
26523         (ftello): On Solaris, when _IOWRT is set, compute the result without
26524         looking at _IOREAD.
26525         * modules/ftello (Files): Add lib/stdio-impl.h.
26526         * doc/posix-functions/ftell.texi: Mention Solaris bug.
26527         * doc/posix-functions/ftello.texi: Likewise.
26528         Reported by Eric Blake.
26529
26530 2010-05-01  Bruno Haible  <bruno@clisp.org>
26531
26532         freading: Adapt to special meaning of _IOREAD flag on Solaris.
26533         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
26534         the _IOWRT flag is also set.
26535
26536 2010-05-01  Bruno Haible  <bruno@clisp.org>
26537
26538         Fix doc about a HP-UX stdio bug.
26539         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
26540         * doc/posix-functions/ftello.texi: Likewise.
26541
26542 2010-05-01  Bruno Haible  <bruno@clisp.org>
26543
26544         lseek test: Fix failure on Solaris.
26545         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
26546         output.
26547
26548 2010-04-30  Jim Meyering  <meyering@redhat.com>
26549
26550         bootstrap: don't ignore failure to generate po*/Makevars
26551         * build-aux/bootstrap (with_gettext): Don't ignore failure
26552         to create po/Makevars or runtime-po/Makevars.
26553
26554 2010-04-29  Eric Blake  <eblake@redhat.com>
26555
26556         headers: relax license to LGPLv2+
26557         * modules/fcntl-h (License): Relax license.
26558         * modules/getopt-posix (License): Likewise.
26559         * modules/locale (License): Likewise.
26560         * modules/math (License): Likewise.
26561         * modules/pty (License): Likewise.
26562         * modules/sched (License): Likewise.
26563         * modules/search (License): Likewise.
26564         * modules/spawn (License): Likewise.
26565         * modules/stdarg (License): Likewise.
26566         * modules/sysexits (License): Likewise.
26567
26568 2010-04-29  Jim Meyering  <meyering@redhat.com>
26569
26570         inttypes: relax license to LGPLv2+
26571         * modules/inttypes (License): Relax license.
26572
26573 2010-04-29  Simon Josefsson  <simon@josefsson.org>
26574
26575         * top/maint.mk (indent): Run twice to produce idempotent results.
26576
26577 2010-04-28  Bruno Haible  <bruno@clisp.org>
26578
26579         getdate: Generate getdate.c in the source directory.
26580         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
26581         MOSTLYCLEANFILES.
26582         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
26583
26584 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
26585
26586         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
26587         is not declared as a const *; avoid warnings in that case.
26588
26589 2010-04-28  Eric Blake  <eblake@redhat.com>
26590
26591         canonicalize-lgpl: avoid compiler warning
26592         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
26593         declaration' / 'extraneous semicolon' warning with some compilers.
26594         Reported by Andreas Gruenbacher.
26595
26596 2010-04-28  Jim Meyering  <meyering@redhat.com>
26597
26598         init.sh: ensure a more reliable exit status when exiting via trap
26599         * tests/init.sh (setup_): Don't rely on $? in signal handler.
26600         Inspired by patches from Dmitry V. Levin.
26601         Also trap on signal 3 (SIGQUIT).
26602
26603 2010-04-27  Bruno Haible  <bruno@clisp.org>
26604
26605         Update doc about utimes().
26606         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
26607         'utimens' module.
26608         Reported by Andreas Gruenbacher <agruen@suse.de>.
26609
26610 2010-04-27  Eric Blake  <eblake@redhat.com>
26611
26612         full-read, full-write: relax license
26613         * modules/full-read (License): Drop to LGPLv2+.
26614         * modules/full-write (License): Likewise.
26615         * modules/safe-read (License): Likewise.
26616         * modules/safe-write (License): Likewise.
26617
26618         pthread: mention library for linking
26619         * modules/pthread (Link): Mention $(LIB_PTHREAD).
26620
26621 2010-04-27  Jim Meyering  <meyering@redhat.com>
26622
26623         maint.mk: fix a bug introduced in last change
26624         * top/maint.mk (gl_assured_headers_): Now that all names are on
26625         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
26626         is not anchored to end of word, it should be adequate.
26627
26628         maint.mk: avoid side-effect in latest syntax-check
26629         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
26630         to run commands via $(shell...), and hence to incur cost only when
26631         the new rule is actually run.
26632
26633         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
26634         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
26635         and use that to create a regexp used to detect all #if HAVE_..._H uses.
26636         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
26637         (gl_assured_headers_, az_, AZ_): Define.
26638         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
26639
26640 2010-04-26  Jim Meyering  <jim@meyering.net>
26641             Bruno Haible  <bruno@clisp.org>
26642
26643         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
26644         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
26645         Prompted by an exchange with Gilles Espinasse.
26646
26647 2010-04-26  Jim Meyering  <meyering@redhat.com>
26648
26649         git-version-gen: aesthetic tweak
26650         * build-aux/git-version-gen: Use "$nl" rather than a literal,
26651         so that the command remains on a single line.
26652
26653 2010-04-26  Eric Blake  <eblake@redhat.com>
26654
26655         git-version-gen: allow use on EBCDIC hosts
26656         * build-aux/git-version-gen (dirty): Use literal rather than tying
26657         ourselves to ascii.
26658         Reported by Steve Goetze.
26659
26660 2010-04-25  Bruno Haible  <bruno@clisp.org>
26661
26662         netdb: Add support for GNULIB_POSIXCHECK.
26663         * lib/netdb.in.h: Include warn-on-use.h.
26664         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
26665         functions are used when GNULIB_POSIXCHECK is defined and the
26666         getaddrinfo module is not in use.
26667         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
26668         freeaddrinfo, gai_strerror, getnameinfo are declared.
26669         * modules/netdb (Depends-on): Add warn-on-use.
26670         (Makefile.am): Include warn-on-use.h in netdb.h.
26671
26672 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
26673
26674         build: avoid "make check" failure without .git/ directory
26675         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
26676         there is no .git/ directory.
26677
26678 2010-04-25  Bruno Haible  <bruno@clisp.org>
26679
26680         ptsname: Fix misuse of ttyname_r.
26681         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
26682         of errno.
26683
26684 2010-04-25  Bruno Haible  <bruno@clisp.org>
26685
26686         ttyname_r: Make it work on Solaris 10.
26687         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
26688         if the system function has the POSIX declaration. Test whether the
26689         function fails if the buffer is less than 128 bytes large.
26690         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
26691         system's ttyname_r function. Provide a reasonably large buffer.
26692         * modules/ttyname_r (Depends-on): Add extensions.
26693         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
26694
26695 2010-04-25  Bruno Haible  <bruno@clisp.org>
26696
26697         Use the 'extensions' module for some more functions on Solaris.
26698         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
26699         module.
26700         * doc/posix-functions/ctime_r.texi: Likewise.
26701         * doc/posix-functions/getgrgid_r.texi: Likewise.
26702         * doc/posix-functions/getgrnam_r.texi: Likewise.
26703         * doc/posix-functions/getpwnam_r.texi: Likewise.
26704         * doc/posix-functions/getpwuid_r.texi: Likewise.
26705         * doc/posix-functions/readdir_r.texi: Likewise.
26706         * doc/posix-functions/sigwait.texi: Likewise.
26707         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
26708         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
26709
26710 2010-04-25  Bruno Haible  <bruno@clisp.org>
26711
26712         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
26713         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
26714         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
26715         * lib/ttyname_r.c: Include <limits.h>.
26716         (ttyname_r): Define using the system's ttyname_r function, if it exists
26717         and not on Solaris.
26718         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
26719         set.
26720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
26721         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
26722         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
26723         Reported by Simon Josefsson.
26724
26725 2010-04-25  Bruno Haible  <bruno@clisp.org>
26726
26727         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
26728         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
26729         * doc/posix-functions/ctime_r.texi: Likewise.
26730         * doc/posix-functions/getgrgid_r.texi: Likewise.
26731         * doc/posix-functions/getgrnam_r.texi: Likewise.
26732         * doc/posix-functions/getlogin_r.texi: Likewise.
26733         * doc/posix-functions/getpwnam_r.texi: Likewise.
26734         * doc/posix-functions/getpwuid_r.texi: Likewise.
26735         * doc/posix-functions/readdir_r.texi: Likewise.
26736         * doc/posix-functions/sigwait.texi: Likewise.
26737         * doc/posix-functions/ttyname_r.texi: Likewise.
26738         Reported by Simon Josefsson.
26739
26740 2010-04-25  Bruno Haible  <bruno@clisp.org>
26741
26742         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
26743         * gnulib-tool (func_usage): Document that --with-*-tests options apply
26744         also to --create-testdir.
26745         (func_acceptable): Don't consider the status of *-tests modules here.
26746         (func_modules_transitive_closure): Consider it here, before including a
26747         test module.
26748         (func_import, func_create_testdir): Set inc_all_direct_tests,
26749         inc_all_indirect_tests.
26750         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
26751         --create-testdir and --create-megatestdir.
26752
26753 2010-04-25  Bruno Haible  <bruno@clisp.org>
26754
26755         gnulib-tool: Add --without-*-tests options.
26756         * gnulib-tool (func_usage): Document the --without-*-tests options.
26757         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
26758         excl_unportable_tests): New variables.
26759         Fail if they are specified with --import or --update.
26760         (func_acceptable): Respect the excl_*_tests variables.
26761         (func_import): Set the excl_*_tests variables to empty.
26762
26763 2010-04-25  Simon Josefsson  <simon@josefsson.org>
26764             Bruno Haible  <bruno@clisp.org>
26765
26766         Work around a MacOS X 10.4 bug with openpty.
26767         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
26768         * tests/test-openpty.c (main): Close the master side explicitly.
26769
26770 2010-04-25  Bruno Haible  <bruno@clisp.org>
26771
26772         strnlen: Fix a C++ test error on MacOS X and Solaris.
26773         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
26774         the function is not declared.
26775         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
26776         Simon Josefsson.
26777
26778 2010-04-24  Bruno Haible  <bruno@clisp.org>
26779
26780         Avoid a gcc warning.
26781         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
26782         of correct type for %08lx directive.
26783         Reported by Eric Blake.
26784
26785 2010-04-24  Bruno Haible  <bruno@clisp.org>
26786
26787         vasnprintf: Correct errno value in case of out-of-memory.
26788         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
26789         or sprintf. Use the errno value from SNPRINTF or sprintf.
26790         Reported by Ian Beckwith <ianb@erislabs.net>.
26791
26792 2010-04-24  Bruno Haible  <bruno@clisp.org>
26793
26794         ansi-c++-opt: Find correct compiler when cross-compiling.
26795         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
26796         AC_CHECK_PROGS.
26797         Reported by Simon Josefsson.
26798
26799 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
26800
26801         vc-list-files: Add support for subversion
26802         * build-aux/vc-list-files: Use "svn list" to generate the list of
26803         files controlled by subversion.
26804
26805 2010-04-23  Jim Meyering  <meyering@redhat.com>
26806
26807         vc-list-files tests: convert to use init.sh
26808         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
26809         path_prepend_.
26810         Use Exit, not exit.
26811         Use skip_ rather than open coding it.
26812         Remove trap set-up and compare definitions.
26813         * tests/test-vc-list-files-git.sh: Likewise.
26814         * modules/vc-list-files-tests (Files): Add tests/init.sh.
26815
26816 2010-04-22  Simon Josefsson  <simon@josefsson.org>
26817
26818         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
26819         backup files.
26820
26821 2010-04-21  Simon Josefsson  <simon@josefsson.org>
26822
26823         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
26824
26825 2010-04-20  Eric Blake  <eblake@redhat.com>
26826
26827         tests: be robust to ignored SIGPIPE
26828         * tests/test-select-in.sh: Consume all output.
26829         * tests/test-lseek.sh: Check correct exit status, while avoiding
26830         EPIPE.
26831
26832 2010-04-20  Simon Josefsson  <simon@josefsson.org>
26833             Bruno Haible  <bruno@clisp.org>
26834
26835         visibility: Don't use -fvisibility if it leads to a warning.
26836         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
26837         yes, don't pretend that visibility works if it leads to a warning.
26838         Reported by Mike Gran <spk121@yahoo.com>.
26839
26840 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
26841
26842         * build-aux/bootstrap: Use "git -h" for testing for supported options
26843         instead of "git --help".  The short-form option only shows a summary,
26844         and doesn't layout the full man page.  Grep for the full option name
26845         in the summary, too.
26846
26847 2010-04-19  Bruno Haible  <bruno@clisp.org>
26848
26849         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
26850         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
26851         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
26852         mention of RELOCATABLE_STRIP.
26853         Reported by Sylvain Beucler <beuc@beuc.net>.
26854
26855 2010-04-19  Bruno Haible  <bruno@clisp.org>
26856
26857         * lib/diffseq.h: Fix typo in comment.
26858         Reported by Eric Blake.
26859
26860 2010-04-19  Bruno Haible  <bruno@clisp.org>
26861
26862         ioctl: Move autoconf macro to a .m4 file.
26863         * m4/ioctl.m4: New file, extracted from modules/ioctl.
26864         * modules/ioctl (Files): Add it.
26865         (configure.ac): Simply invoke gl_FUNC_IOCTL.
26866         Reported by Ian Beckwith <ianb@erislabs.net>.
26867
26868 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
26869             Bruno Haible  <bruno@clisp.org>
26870
26871         diffseq: Accommodate use-case with abstract arrays.
26872         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
26873         is not defined.
26874         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
26875         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
26876
26877 2010-04-18  Bruno Haible  <bruno@clisp.org>
26878
26879         * doc/posix-headers/stdbool.texi: More precise wording.
26880
26881 2010-04-17  Jim Meyering  <meyering@redhat.com>
26882
26883         maint.mk: use gnu-style indentation in an embedded perl script
26884         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
26885         Rename variable: s/two/last_two_bytes/
26886
26887 2010-04-16  Eric Blake  <eblake@redhat.com>
26888
26889         test-stdbool: skip test that fails with Solaris CC
26890         * tests/test-stdbool.c (f): Skip test that causes compilation
26891         error under buggy C++ compiler.
26892         * lib/stdbool.in.h: Document the limitation.
26893         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
26894
26895         setenv: allow compilation with C++
26896         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
26897         register keyword.
26898
26899         stdint: allow test to pass with C++
26900         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
26901
26902         getopt: allow compilation with C++
26903         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
26904         struct.
26905         * lib/getopt.c (_getopt_internal_r): Use correct type.
26906         Reported by Dagobert Michelson, via Joel E. Denny.
26907
26908 2010-04-16  Bruno Haible  <bruno@clisp.org>
26909
26910         Override netdb.h always.
26911         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
26912         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
26913         Reported by Ludovic Courtès <ludo@gnu.org>.
26914
26915 2010-04-15  Bruno Haible  <bruno@clisp.org>
26916
26917         openpty: Fix mistake from 2010-03-21.
26918         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
26919         Reported by Simon Josefsson.
26920
26921 2010-04-15  Eric Blake  <eblake@redhat.com>
26922
26923         test-forkpty: fix expected signature
26924         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
26925         Reported by Simon Josefsson.
26926
26927 2010-04-15  Jim Meyering  <meyering@redhat.com>
26928
26929         maint.mk: texinfo_suffix_re_: correct the default regexp
26930         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
26931
26932         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
26933         make it configurable via texinfo_suffix_re_.
26934
26935 2010-04-14  Eric Blake  <eblake@redhat.com>
26936
26937         strtok_r: relax license to LGPLv2+
26938         * modules/strtok_r (License): Relax license.
26939         Reported by Matthias Bolte.
26940
26941 2010-04-14  Simon Josefsson  <simon@josefsson.org>
26942
26943         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
26944         version 1.4.4 by default instead of requiring the libgcrypt
26945         version used during build.  This makes it possible to use the
26946         application with older but still binary compatible libgcrypt
26947         versions.
26948
26949 2010-04-13  Eric Blake  <eblake@redhat.com>
26950
26951         getopt-gnu: match recent glibc fixes and posix ruling
26952         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
26953         '+' handling, when requesting extensions.
26954         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
26955         'W;' handling.
26956         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
26957         * doc/posix-functions/getopt.texi (getopt): Document this.
26958         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26959         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26960         Likewise.
26961
26962         getopt: merge bug fixes from glibc
26963         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
26964         diagnostics.  Honor '+:' correctly.  Reject ';'.
26965
26966         getopt-posix: detect MacOS bug
26967         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
26968         optind when missing a required argument.
26969         * doc/posix-functions/getopt.texi (getopt): Document the bug.
26970         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26971         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26972         Likewise.
26973
26974         getopt-posix: avoid spurious failure on Solaris
26975         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
26976         an indicator that setting optind=1 is sufficient for reset.
26977
26978         getopt-posix: avoid spurious failure on FreeBSD
26979         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
26980         in POSIX mode, since the m4 test uses it.
26981
26982         gnulib-tool: silence warning on BSD sh
26983         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
26984
26985 2010-04-13  Jim Meyering  <meyering@redhat.com>
26986
26987         doc: users.txt: GNU patch now uses gnulib
26988         * users.txt: Add patch.
26989
26990 2010-04-12  Jim Meyering  <meyering@redhat.com>
26991
26992         maint.mk: generate more concise timing data for syntax-check rules
26993         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
26994         " done" from each line that reports a syntax-check test duration.
26995
26996 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
26997
26998         git-version-gen: use "git update-index..." rather than "git status"
26999         * build-aux/git-version-gen: Use git update-index --refresh, not
27000         "git status".  With some versions of git, "git status" would fail
27001         to update the index and result in an unwarranted "-dirty" suffix.
27002
27003 2010-04-11  Jim Meyering  <meyering@redhat.com>
27004
27005         openat: correct formatting (no semantic change)
27006         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
27007         Suggested by Bruno Haible.
27008
27009 2010-04-11  Bruno Haible  <bruno@clisp.org>
27010
27011         Stricter declaration checking in testdirs.
27012         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
27013         If for_tests is true, augment AM_CPPFLAGS to define
27014         GNULIB_STRICT_CHECKING.
27015         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
27016         GNULIB_STRICT_CHECKING is defined, verify that the function is
27017         declared.
27018
27019 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
27020             Bruno Haible  <bruno@clisp.org>
27021
27022         libunistring: Improve configure output.
27023         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
27024         Don't say "consider installing GNU libunistring" when checking again
27025         with libiconv.
27026
27027 2010-04-11  Bruno Haible  <bruno@clisp.org>
27028
27029         libunistring: Correct value of $LTLIBUNISTRING.
27030         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
27031         correct the value of $LTLIBUNISTRING.
27032
27033 2010-04-11  Bruno Haible  <bruno@clisp.org>
27034
27035         havelib: Add static libraries to LIBS in the right order.
27036         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
27037         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
27038
27039 2010-04-11  Bruno Haible  <bruno@clisp.org>
27040
27041         libunistring: Detect libunistring also when it depends on libiconv.
27042         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
27043         the second AC_LIB_HAVE_LINKFLAGS invocation.
27044
27045 2010-04-11  James Youngman  <jay@gnu.org>
27046
27047         close-stream: declare local scalars to be "const"
27048         * lib/close-stream.c (close_stream): Make boolean variables const
27049         to document the fact that we set but do not change them.
27050
27051 2010-04-11  Bruno Haible  <bruno@clisp.org>
27052
27053         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
27054
27055 2010-04-11  Jim Meyering  <meyering@redhat.com>
27056
27057         maint.mk: don't include dist-check.mk
27058         * top/maint.mk: Remove bogus include directive.
27059
27060         maint.mk: improve empty-line-at-EOF check
27061         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
27062         solution, rather than tail+Perl-based one.  The latter would read
27063         a few kilobytes from the end of each file, and did not handle empty
27064         files properly.
27065
27066         maint.mk: print the elapsed time for each syntax-check rule
27067         * top/maint.mk (sc_m_rules_): Save start time in a file.
27068         (sc_z_rules_): New rules: remove temp file and print elapsed time.
27069         (local-check): Interpose the .z rules
27070
27071 2010-04-11  Jim Meyering  <meyering@redhat.com>
27072
27073         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
27074         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
27075         empty file with one that ends in an empty line.
27076
27077 2010-04-10  Bruno Haible  <bruno@clisp.org>
27078
27079         mkdir: Make it work on mingw64.
27080         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
27081         * lib/mkdir.c: Update comment.
27082         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
27083
27084 2010-04-10  Bruno Haible  <bruno@clisp.org>
27085
27086         Don't override improved macro from newer autoconf.
27087         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
27088         autoconf >= 2.62.
27089         Reported by Joel E. Denny <jdenny@clemson.edu>.
27090
27091 2010-04-10  Jim Meyering  <meyering@redhat.com>
27092
27093         maint.mk: new syntax-check rule: prohibit empty lines at end of file
27094         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
27095
27096         maint.mk: correct a diagnostic
27097         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
27098         in diagnostic; now use $prohibit.
27099
27100 2010-04-10  Bruno Haible  <address@hidden>
27101
27102         fchownat: Fix a C++ test error on Solaris 8.
27103         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
27104         the function does not exist.
27105
27106 2010-04-10  Bruno Haible  <bruno@clisp.org>
27107
27108         vasnprintf: Add more tests.
27109         * tests/test-vasnprintf-posix.c: Include <errno.h>.
27110         (test_function): Test converting an invalid wide string.
27111
27112         vasnprintf: Correct handling of unconvertible wide string arguments.
27113         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
27114         VASNPRINTF.
27115         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
27116         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
27117         smaller than the expected maximum need for the directive. Set errno to
27118         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
27119         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
27120         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
27121         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
27122         * modules/vasnprintf (Files): Add m4/printf.m4.
27123         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27124
27125 2010-04-10  Bruno Haible  <bruno@clisp.org>
27126
27127         vasnprintf: Fix crash in %ls directive.
27128         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
27129         string is passed as argument to %ls, with no precision and no width.
27130         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27131
27132 2010-04-10  Bruno Haible  <bruno@clisp.org>
27133
27134         vasnprintf: Fix multiple test failures on mingw.
27135         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
27136         _snprintf, or snwprintf, not _snwprintf.
27137
27138 2010-04-10  Bruno Haible  <bruno@clisp.org>
27139
27140         write: Fix a C++ test error on mingw.
27141         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
27142
27143 2010-04-10  Bruno Haible  <bruno@clisp.org>
27144
27145         vasnprintf test: Reduce code duplication.
27146         * tests/test-vasnprintf.c (test_function): New function, extracted from
27147         test_vasnprintf.
27148         (test_vasnprintf, test_asnprintf): Invoke it.
27149
27150 2010-04-10  Bruno Haible  <bruno@clisp.org>
27151
27152         strnlen: Fix warning in C++ mode on MacOS X.
27153         * lib/string.in.h (strnlen): Use the modern idiom.
27154         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
27155         defining strnlen as a macro already in <config.h>.
27156         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27157         REPLACE_STRNLEN.
27158         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
27159         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27160
27161 2010-04-08  James Youngman  <jay@gnu.org>
27162
27163         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
27164         the example.
27165
27166 2010-04-09  Jim Meyering  <meyering@redhat.com>
27167
27168         maint.mk: print better diagnostic when there is no $(_hv_file)
27169         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
27170         announce that when $(_hv_file) (aka help-version) does not exist.
27171
27172         init.sh: run tr in the "C" locale to avoid multibyte interpretation
27173         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
27174         not try to interpret its random input bytes.  Jarno Rajahalme reported
27175         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
27176         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
27177         (mktempd_): Likewise, just in case.
27178
27179         ftruncate: add two years to projected module removal date: 2012
27180         * m4/ftruncate.m4: Adjust comments.
27181
27182         ftruncate: mark module as obsolete; even MinGW provides it, now
27183         * modules/ftruncate (Status): Obsolete.
27184         (Notice): Say that.
27185         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
27186         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
27187
27188 2010-04-08  Bruno Haible  <bruno@clisp.org>
27189
27190         Fix side effects from tests-related modules.
27191         * modules/dprintf-posix (Comment): New section.
27192         * modules/fprintf-posix (Comment): Likewise.
27193         * modules/obstack-printf-posix (Comment): Likewise.
27194         * modules/printf-posix (Comment): Likewise.
27195         * modules/snprintf-posix (Comment): Likewise.
27196         * modules/sprintf-posix (Comment): Likewise.
27197         * modules/vasnprintf-posix (Comment): Likewise.
27198         * modules/vasprintf-posix (Comment): Likewise.
27199         * modules/vdprintf-posix (Comment): Likewise.
27200         * modules/vfprintf-posix (Comment): Likewise.
27201         * modules/vprintf-posix (Comment): Likewise.
27202         * modules/vsnprintf-posix (Comment): Likewise.
27203         * modules/vsprintf-posix (Comment): Likewise.
27204         * modules/xprintf-posix (Comment): Likewise.
27205         * modules/xvasprintf-posix (Comment): Likewise.
27206         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
27207         * modules/floorf-tests (Depends-on): Likewise.
27208         * modules/round-tests (Depends-on): Likewise.
27209         * modules/roundf-tests (Depends-on): Likewise.
27210         * modules/trunc-tests (Depends-on): Likewise.
27211         * modules/truncf-tests (Depends-on): Likewise.
27212         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
27213         'fprintf-posix' module is not present.
27214         * tests/test-floorf2.c (check): Likewise.
27215         * tests/test-trunc2.c (check): Likewise.
27216         * tests/test-truncf2.c (check): Likewise.
27217         * tests/test-round2.c (equal): Likewise.
27218         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27219
27220 2010-04-07  Karl Berry  <karl@gnu.org>
27221
27222         * config/srclist.txt,
27223         * config/srclistvars.sh,
27224         * config/srclist-update: doc fixes.
27225
27226 2010-04-07  Jim Meyering  <meyering@redhat.com>
27227
27228         maint.mk: add a PATH crosschecking syntax-check rule
27229         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
27230         Useful if you use a test like the one in help-version (coreutils,
27231         diffutils, grep, gzip) that ensures $(VERSION) matches what is
27232         printed by prog --version.
27233
27234 2010-04-06  Bruno Haible  <bruno@clisp.org>
27235
27236         Fix link error on mingw.
27237         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
27238         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
27239
27240 2010-04-06  Bruno Haible  <bruno@clisp.org>
27241
27242         Assume rmdir exists.
27243         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
27244
27245 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
27246
27247         doc: update users.txt
27248         * users.txt: Add gcal.
27249
27250 2010-04-06  Jim Meyering  <meyering@redhat.com>
27251
27252         init.sh: simply unset TMPDIR rather than risking env -i
27253         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
27254         although it probably works fine on all Unix-based systems, some
27255         systems (Cygwin?) cannot tolerate a totally cleared environment.
27256         Suggestion from Eric Blake.
27257
27258 2010-04-06  Jim Meyering  <meyering@redhat.com>
27259
27260         init.sh: portability fix: use env's POSIX-specified -i option not -u
27261         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
27262         than unportable env -u.  Solaris 5.11's env lacks support for -u.
27263
27264 2010-04-05  Bruno Haible  <bruno@clisp.org>
27265
27266         btowc: Work around Cygwin 1.7.2 bug.
27267         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
27268         does not map NUL to 0.
27269         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
27270
27271 2010-04-05  Bruno Haible  <bruno@clisp.org>
27272
27273         Make the multithread modules work on Cygwin 1.7.2.
27274         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
27275         imported symbols can be declared weak, so that it returns "no" on
27276         Cygwin 1.7.2.
27277
27278 2010-04-05  Bruno Haible  <bruno@clisp.org>
27279
27280         Use the module 'strncat'.
27281         * modules/unistr/u8-strncat (Depends-on): Add strncat.
27282
27283         Tests for module 'strncat'.
27284         * modules/strncat-tests: New file.
27285         * tests/test-strncat.c: New file.
27286
27287         New module 'strncat'.
27288         * lib/string.in.h (strncat): New declaration.
27289         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
27290         * m4/strncat.m4: New file, based on m4/memchr.m4.
27291         * modules/strncat: New file.
27292         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
27293         is declared.
27294         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
27295         REPLACE_STRNCAT.
27296         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
27297         REPLACE_STRNCAT.
27298         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
27299         module.
27300         * tests/test-string-c++.cc: Check signature of strncat.
27301
27302 2010-04-05  Jim Meyering  <meyering@redhat.com>
27303
27304         xstrtoumax-tests: convert to use init.sh
27305         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
27306         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27307         Use Exit, not exit.
27308         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27309
27310         xstrtoimax-tests: convert to use init.sh
27311         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
27312         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27313         Use Exit, not exit.
27314         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27315
27316 2010-04-05  Bruno Haible  <bruno@clisp.org>
27317
27318         sys_socket: Avoid #define replacements in C++ mode.
27319         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
27320         warning to the function if possible, rather than #defining the symbol
27321         to a dysfunctional alias.
27322
27323 2010-04-05  Bruno Haible  <bruno@clisp.org>
27324
27325         fseeko: Fix C++ test error on mingw.
27326         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
27327         gl_FUNC_FSEEKO.
27328         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
27329         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
27330         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
27331         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
27332
27333 2010-04-05  Bruno Haible  <bruno@clisp.org>
27334
27335         duplocale: Improve test output.
27336         * tests/test-duplocale.c (main): Print reason for skipped test.
27337
27338 2010-04-05  Bruno Haible  <bruno@clisp.org>
27339
27340         Assume rmdir exists.
27341         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
27342         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
27343
27344 2010-04-05  Bruno Haible  <bruno@clisp.org>
27345
27346         Fix link error on Solaris 8 with cc.
27347         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
27348
27349 2010-04-05  Bruno Haible  <bruno@clisp.org>
27350
27351         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
27352         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
27353
27354 2010-04-05  Bruno Haible  <bruno@clisp.org>
27355
27356         vasprintf: Update documentation.
27357         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
27358
27359 2010-04-05  Bruno Haible  <bruno@clisp.org>
27360
27361         ptsname: Improve test.
27362         * tests/test-ptsname.c (main): Also try the various master names of BSD
27363         systems.
27364
27365 2010-04-05  Bruno Haible  <bruno@clisp.org>
27366
27367         memchr: Avoid a possible C++ test error.
27368         * lib/string.in.h (memchr): Provide declaration if function is missing.
27369         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
27370         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
27371         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
27372         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
27373
27374 2010-04-05  Bruno Haible  <bruno@clisp.org>
27375
27376         strtok_r: Improve idiom.
27377         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
27378         AC_LIBOBJ is used.
27379
27380 2010-04-05  Bruno Haible  <bruno@clisp.org>
27381
27382         strdup: Improve idiom.
27383         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
27384         AC_LIBOBJ is used.
27385         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
27386         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
27387         when AC_LIBOBJ is used.
27388
27389 2010-04-05  Bruno Haible  <bruno@clisp.org>
27390
27391         mbsinit, mbrtowc, wcrtomb: Improve idioms.
27392         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
27393         don't set REPLACE_MBSINIT to 1.
27394         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
27395         don't set REPLACE_MBRTOWC to 1.
27396         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
27397         exist, don't set REPLACE_MBSRTOWCS to 1.
27398         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
27399         exist, don't set REPLACE_MBSNRTOWCS to 1.
27400         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
27401         don't set REPLACE_WCRTOMB to 1.
27402         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
27403         exist, don't set REPLACE_WCSRTOMBS to 1.
27404         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
27405         exist, don't set REPLACE_WCSNRTOMBS to 1.
27406
27407 2010-04-05  Bruno Haible  <bruno@clisp.org>
27408
27409         ldexpl: Improve idiom.
27410         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
27411         make sure to set HAVE_DECL_LDEXPL to 0.
27412
27413 2010-04-05  Jim Meyering  <meyering@redhat.com>
27414
27415         xstrtol-tests: convert to use init.sh
27416         * modules/xstrtol-tests (Files): Add tests/init.sh.
27417         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27418         Use Exit, not exit.
27419         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27420
27421         atexit-tests: convert to use init.sh
27422         * modules/atexit-tests (Files): Add tests/init.sh.
27423         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27424         Use Exit, not exit.
27425         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27426
27427         init.sh: fix typo
27428         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
27429
27430         init.sh: make it easier for a test script to write to the tty, ...
27431         when using automake's parallel-tests mode.
27432         * tests/init.sh (stderr_fileno_): Define overridable variable.
27433         (warn_): New function, to use it.
27434         (fail_, skip_, framework_failure_): Use warn_.
27435
27436 2010-04-04  Bruno Haible  <bruno@clisp.org>
27437
27438         btowc: Avoid warning.
27439         * lib/btowc.c: Include <stdlib.h>.
27440         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
27441
27442 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
27443             Bruno Haible  <bruno@clisp.org>
27444
27445         wchar: Port to NetBSD 1.5.
27446         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
27447         * lib/wctype.in.h (WEOF): Likewise.
27448
27449 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
27450             Bruno Haible  <bruno@clisp.org>
27451
27452         Port extended stdio to NetBSD 1.5.
27453         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
27454         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
27455         older.
27456
27457 2010-04-04  Bruno Haible  <bruno@clisp.org>
27458
27459         string: Remove unused substitution.
27460         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
27461         HAVE_DECL_STRERROR.
27462         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
27463
27464 2010-04-04  Bruno Haible  <bruno@clisp.org>
27465
27466         strtod: Avoid a possible C++ test error.
27467         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
27468         set REPLACE_STRTOD.
27469
27470 2010-04-04  Bruno Haible  <bruno@clisp.org>
27471
27472         strerror: Update documentation.
27473         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
27474
27475 2010-04-04  Bruno Haible  <bruno@clisp.org>
27476
27477         stdio: Fix some C++ test errors on Solaris 8 with GCC.
27478         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
27479         _GL_CXXALIAS_SYS_CAST.
27480
27481 2010-04-04  Bruno Haible  <bruno@clisp.org>
27482
27483         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
27484         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
27485         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
27486         REPLACE_FREXPL to 1.
27487         * doc/posix-functions/frexpl.texi: Update documentation.
27488
27489 2010-04-04  Bruno Haible  <bruno@clisp.org>
27490
27491         math: Fix some C++ test errors on Solaris 8 and Cygwin.
27492         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
27493
27494 2010-04-04  Bruno Haible  <bruno@clisp.org>
27495
27496         Implement nanosleep for native Windows.
27497         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
27498
27499 2010-04-04  Bruno Haible  <bruno@clisp.org>
27500
27501         math: Fix some C++ test errors on Solaris 8.
27502         * lib/math.in.h (truncf, trunc): Use simpler idiom.
27503
27504 2010-04-04  Bruno Haible  <bruno@clisp.org>
27505
27506         math: Fix some C++ test errors on Cygwin.
27507         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
27508         truncl): Provide declaration if the system does not have it.
27509         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
27510         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
27511         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
27512         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
27513         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
27514         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
27515         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
27516         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
27517         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
27518         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
27519         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
27520         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
27521         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
27522         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
27523         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
27524         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
27525         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
27526         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
27527         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
27528         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
27529         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
27530         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
27531
27532 2010-04-04  Bruno Haible  <bruno@clisp.org>
27533
27534         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
27535         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
27536         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
27537         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
27538         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
27539         * m4/isinf.m4 (gl_ISINF): Likewise.
27540         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27541
27542 2010-04-04  Bruno Haible  <bruno@clisp.org>
27543
27544         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
27545         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
27546
27547 2010-04-04  Bruno Haible  <bruno@clisp.org>
27548
27549         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
27550         * modules/tmpfile (configure.ac): Update.
27551
27552         tmpfile: Fix C++ test error on mingw.
27553         * lib/stdio.in.h (tmpfile): New declaration.
27554         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
27555         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
27556         * modules/tmpfile (Depends-on): Add stdio.
27557         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
27558         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
27559         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
27560         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
27561         REPLACE_TMPFILE.
27562         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
27563
27564 2010-04-04  Bruno Haible  <bruno@clisp.org>
27565
27566         ioctl: Fix C++ test error on mingw.
27567         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
27568         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
27569         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
27570
27571 2010-04-03  Bruno Haible  <bruno@clisp.org>
27572
27573         wcwidth: Fix C++ test error on mingw.
27574         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
27575         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
27576         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
27577
27578 2010-04-03  Bruno Haible  <bruno@clisp.org>
27579
27580         nanosleep: Fix C++ test error on mingw.
27581         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
27582         * lib/time.in.h (nanosleep): Use modern idiom.
27583         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
27584         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
27585         REPLACE_NANOSLEEP to 1.
27586         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
27587         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
27588
27589 2010-04-03  Bruno Haible  <bruno@clisp.org>
27590
27591         strptime: Fix C++ test error on mingw.
27592         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
27593         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
27594         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
27595         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
27596         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
27597         not REPLACE_STRPTIME.
27598         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
27599         REPLACE_STRPTIME.
27600
27601 2010-04-03  Bruno Haible  <bruno@clisp.org>
27602
27603         timegm: Fix C++ test error on mingw.
27604         * lib/time.in.h (timegm): Use modern idiom.
27605         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
27606         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
27607         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
27608         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
27609
27610 2010-04-03  Bruno Haible  <bruno@clisp.org>
27611
27612         timegm: Assume declaration if function exists.
27613         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
27614         if it exists. Don't clobber ac_cv_func_timegm.
27615
27616 2010-04-03  Bruno Haible  <bruno@clisp.org>
27617
27618         time_r: Fix C++ test error on mingw.
27619         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
27620         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
27621         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
27622         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
27623         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
27624
27625 2010-04-03  Bruno Haible  <bruno@clisp.org>
27626
27627         time_r: Minor updates.
27628         * modules/time_r (Description): Mention the provided functions.
27629         * lib/time_r.c: Don't include <string.h>.
27630         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
27631         * doc/posix-functions/localtime_r.texi: Likewise.
27632
27633 2010-04-03  Bruno Haible  <bruno@clisp.org>
27634
27635         time: Fix regression introduced on 2010-03-08.
27636         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
27637         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
27638
27639 2010-04-03  Jim Meyering  <meyering@redhat.com>
27640
27641         maint.mk: don't silently disable project-specific syntax-check rules
27642         * top/maint.mk (_prohibit_regexp): Define, to help people realize
27643         that they need to convert their project-specific syntax-check rules
27644         to use the new _sc_search_regexp.
27645
27646 2010-04-03  Bruno Haible  <bruno@clisp.org>
27647
27648         fchdir: Fix regression introduced on 2010-03-08.
27649         * lib/unistd.in.h (fchdir): Fix declaration.
27650         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
27651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
27652         REPLACE_FCHDIR.
27653         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
27654         REPLACE_FCHDIR.
27655
27656 2010-04-03  Bruno Haible  <bruno@clisp.org>
27657
27658         getpagesize: Fix C++ test error on mingw.
27659         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
27660         system does not declare the function.
27661         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
27662         declared.
27663         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27664         HAVE_DECL_GETPAGESIZE.
27665         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
27666
27667 2010-04-03  Bruno Haible  <bruno@clisp.org>
27668
27669         stdio: Make C++ tests work on mingw.
27670         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
27671         does not declare the function.
27672
27673 2010-04-03  Bruno Haible  <bruno@clisp.org>
27674
27675         ftello: Fix C++ test error on mingw.
27676         * lib/stdio.in.h (ftello): Use modern idiom.
27677         * lib/ftello.c (ftello): Renamed from rpl_ftello.
27678         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
27679         is missing and that it needs to be replaced.
27680         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
27681         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
27682         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
27683
27684 2010-04-03  Bruno Haible  <bruno@clisp.org>
27685
27686         fseeko: Fix C++ test error on mingw.
27687         * lib/stdio.in.h (fseeko): Use modern idiom.
27688         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
27689         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
27690         is missing and that it needs to be replaced.
27691         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
27692         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
27693         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
27694
27695 2010-04-03  Bruno Haible  <bruno@clisp.org>
27696
27697         mkstemp: Fix C++ test error on mingw.
27698         * lib/stdlib.in.h (mkstemp): Use modern idiom.
27699         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
27700         function is missing and that it needs to be replaced.
27701         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
27702         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
27703
27704 2010-04-03  Bruno Haible  <bruno@clisp.org>
27705
27706         stpncpy: Fix C++ test error on mingw.
27707         * lib/string.in.h (stpncpy): Use modern idiom.
27708         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
27709         function is missing and that it needs to be replaced.
27710         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27711         REPLACE_STPNCPY.
27712         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
27713
27714 2010-04-03  Bruno Haible  <bruno@clisp.org>
27715
27716         sys_stat: Fix C++ test error on mingw.
27717         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
27718         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
27719
27720 2010-04-03  Bruno Haible  <bruno@clisp.org>
27721
27722         pty: Update doc.
27723         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
27724
27725 2010-04-03  Bruno Haible  <bruno@clisp.org>
27726
27727         unistd: Fix C++ test error on mingw.
27728         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
27729
27730 2010-04-03  Bruno Haible  <bruno@clisp.org>
27731
27732         Update doc regarding mingw.
27733         * doc/glibc-functions/openpty.texi: Update regarding mingw.
27734         * doc/glibc-functions/login_tty.texi: Likewise.
27735         * doc/glibc-functions/forkpty.texi: Likewise.
27736
27737 2010-04-03  Bruno Haible  <bruno@clisp.org>
27738
27739         stdlib: Avoid compilation failure of c-strtold on mingw.
27740         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
27741
27742 2010-04-03  Bruno Haible  <bruno@clisp.org>
27743
27744         locale: Make C++ tests work on Cygwin and mingw.
27745         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
27746         cannot provide the function.
27747         Reported by Simon Josefsson.
27748
27749 2010-04-03  Bruno Haible  <bruno@clisp.org>
27750
27751         localename: Port to MacOS X 10.6.
27752         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
27753         memory layout of the locales in MacOS X 10.6 as well.
27754         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
27755
27756 2010-04-02  Bruno Haible  <bruno@clisp.org>
27757
27758         gnulib-tool: Ensure that long-running tests are executed last.
27759         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
27760         running tests after the one for the other tests.
27761
27762 2010-04-02  Bruno Haible  <bruno@clisp.org>
27763
27764         gnulib-tool: Ensure the tests in the main directory are executed first.
27765         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
27766         start with the current directory.
27767
27768 2010-04-02  Bruno Haible  <bruno@clisp.org>
27769
27770         Tests for module 'havelib', moved here from GNU gettext.
27771         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
27772         modifications.
27773         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
27774         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
27775         with modifications.
27776         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
27777         modifications.
27778         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
27779         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
27780         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
27781         with modifications.
27782         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
27783         with modifications.
27784         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
27785         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
27786         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
27787         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
27788         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
27789         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
27790         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
27791         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
27792         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
27793         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
27794         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
27795         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
27796         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
27797         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
27798         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
27799         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
27800         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
27801         with modifications.
27802         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
27803         with modifications.
27804         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
27805         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
27806         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
27807         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
27808         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
27809         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
27810         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
27811         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
27812         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
27813         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
27814         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
27815         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
27816         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
27817         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
27818         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
27819         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
27820         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
27821         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
27822         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
27823         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
27824         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
27825         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
27826         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
27827         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
27828         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
27829         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
27830         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
27831         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
27832         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
27833         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
27834         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
27835         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
27836         * tests/havelib/rpathx/rpathx.c: New file, from
27837         gettext/autoconf-lib-link.
27838         * tests/havelib/rpathx/Makefile.am: New file, from
27839         gettext/autoconf-lib-link.
27840         * tests/havelib/rpathx/configure.ac: New file, from
27841         gettext/autoconf-lib-link with modifications.
27842         * tests/havelib/rpathy/rpathy.c: New file, from
27843         gettext/autoconf-lib-link.
27844         * tests/havelib/rpathy/Makefile.am: New file, from
27845         gettext/autoconf-lib-link.
27846         * tests/havelib/rpathy/configure.ac: New file, from
27847         gettext/autoconf-lib-link with modifications.
27848         * tests/havelib/rpathz/rpathz.c: New file, from
27849         gettext/autoconf-lib-link.
27850         * tests/havelib/rpathz/Makefile.am: New file, from
27851         gettext/autoconf-lib-link.
27852         * tests/havelib/rpathz/configure.ac: New file, from
27853         gettext/autoconf-lib-link with modifications.
27854         * tests/havelib/rpathlx/usex.c: New file, from
27855         gettext/autoconf-lib-link.
27856         * tests/havelib/rpathlx/Makefile.am: New file, from
27857         gettext/autoconf-lib-link.
27858         * tests/havelib/rpathlx/configure.ac: New file, from
27859         gettext/autoconf-lib-link with modifications.
27860         * tests/havelib/rpathly/usey.c: New file, from
27861         gettext/autoconf-lib-link.
27862         * tests/havelib/rpathly/Makefile.am: New file, from
27863         gettext/autoconf-lib-link.
27864         * tests/havelib/rpathly/configure.ac: New file, from
27865         gettext/autoconf-lib-link with modifications.
27866         * tests/havelib/rpathlz/usez.c: New file, from
27867         gettext/autoconf-lib-link.
27868         * tests/havelib/rpathlz/Makefile.am: New file, from
27869         gettext/autoconf-lib-link.
27870         * tests/havelib/rpathlz/configure.ac: New file, from
27871         gettext/autoconf-lib-link with modifications.
27872         * tests/havelib/rpathlyx/usey.c: New file, from
27873         gettext/autoconf-lib-link.
27874         * tests/havelib/rpathlyx/Makefile.am: New file, from
27875         gettext/autoconf-lib-link.
27876         * tests/havelib/rpathlyx/configure.ac: New file, from
27877         gettext/autoconf-lib-link with modifications.
27878         * tests/havelib/rpathlzyx/usez.c: New file, from
27879         gettext/autoconf-lib-link.
27880         * tests/havelib/rpathlzyx/Makefile.am: New file, from
27881         gettext/autoconf-lib-link.
27882         * tests/havelib/rpathlzyx/configure.ac: New file, from
27883         gettext/autoconf-lib-link with modifications.
27884         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
27885         with modifications.
27886
27887 2010-04-02  Bruno Haible  <bruno@clisp.org>
27888
27889         gnulib-tool: Create distributed built sources also for the tests.
27890         * gnulib-tool (func_create_testdir): Also generate distributed built
27891         sources in the tests directory.
27892
27893 2010-04-02  Bruno Haible  <bruno@clisp.org>
27894
27895         gnulib-tool: Obey user's environment variables.
27896         * gnulib-tool (func_create_testdir): When creating built sources,
27897         respect the environment variables for autoconf, automake, etc. given by
27898         the user.
27899
27900 2010-04-02  Bruno Haible  <bruno@clisp.org>
27901
27902         gnulib-tool: Provide the value of --m4-base to modules.
27903         * gnulib-tool (func_import, func_create_testdir): Emit a definition
27904         of gl_m4_base.
27905
27906 2010-04-02  Eric Blake  <eblake@redhat.com>
27907
27908         maint.mk: fix some fallout
27909         * NEWS: Document the incompatible change, and its effect on cfg.mk.
27910         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
27911
27912 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27913
27914         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
27915         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
27916         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
27917         (sc_cast_of_x_alloc_return_value): Likewise.
27918         (sc_cast_of_alloca_return_value): Likewise.
27919         (sc_space_tab): Likewise.
27920         (sc_prohibit_atoi_atof): Likewise.
27921         (sc_prohibit_magic_number_exit): Likewise.
27922         (sc_error_exit_success): Likewise.
27923         (sc_file_system): Likewise.
27924         (sc_prohibit_have_config_h): Likewise.
27925         (sc_require_config_h): Likewise.
27926         (sc_prohibit_HAVE_MBRTOWC): Likewise.
27927         (sc_obsolete_symbols): Likewise.
27928         (sc_changelog): Likewise.
27929         (sc_program_name): Likewise.
27930         (sc_the_the): Likewise.
27931         (sc_trailing_blank): Likewise.
27932         (sc_two_space_separator_in_usage): Likewise.
27933         (sc_useless_cpp_parens): Likewise.
27934         (sc_GPL_version): Likewise.
27935         (sc_GFDL_version): Likewise.
27936         (sc_texinfo_acronym): Likewise.
27937         (sc_prohibit_cvs_keyword): Likewise.
27938         (sc_prohibit_stat_st_blocks): Likewise.
27939         (sc_prohibit_S_IS_definition): Likewise.
27940         (sc_redundant_const): Likewise.
27941         (sc_makefile_TAB_only_indentation): Likewise.
27942         (sc_m4_quote_check): Likewise.
27943         (sc_makefile_path_separator_check): Likewise.
27944         (sc_copyright_check): Likewise.
27945         (sc_Wundef_boolean): Likewise.
27946         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27947
27948         maint.mk: match 0 or more whitespace-before-function-call '('
27949         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
27950         that have zero or two-and-more spaces between the function name
27951         and the open parenthesis.
27952         (sc_error_message_warn_fatal): Likewise.
27953         (sc_error_message_uppercase): Likewise.
27954         (sc_error_message_period): Likewise.
27955
27956 2010-03-31  Eric Blake  <eblake@redhat.com>
27957
27958         maint.mk: check for [ as well as test
27959         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
27960         Based on a libvirt report by Matthias Bolte.
27961
27962         gnumakefile: don't squelch _version output
27963         * top/GNUmakefile (_version): Create one-shot dependency rather
27964         than using $(shell) when version must be regenerated.
27965         (_autoreconf): Run verbosely, by default.
27966
27967         sys_time: avoid compiler warnings
27968         * lib/sys_time.in.h (includes): Ensure gcc pragma is
27969         unconditional, fixing regression from 2010-03-29.
27970         Reported by Simon Josefsson.
27971
27972 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27973
27974         maint.mk: s/_header_without_use/_sc_header_without_use/
27975         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
27976         (sc_prohibit_assert_without_use): Use the new name.
27977         (sc_prohibit_close_stream_without_use): Likewise.
27978         (sc_prohibit_getopt_without_use): Likewise.
27979         (sc_prohibit_quotearg_without_use): Likewise.
27980         (sc_prohibit_quote_without_use): Likewise.
27981         (sc_prohibit_long_options_without_use): Likewise.
27982         (sc_prohibit_inttostr_without_use): Likewise.
27983         (sc_prohibit_ignore_value_without_use): Likewise.
27984         (sc_prohibit_error_without_use): Likewise.
27985         (sc_prohibit_xalloc_without_use): Likewise.
27986         (sc_prohibit_hash_without_use): Likewise.
27987         (sc_prohibit_hash_pjw_without_use): Likewise.
27988         (sc_prohibit_safe_read_without_use): Likewise.
27989         (sc_prohibit_argmatch_without_use): Likewise.
27990         (sc_prohibit_canonicalize_without_use): Likewise.
27991         (sc_prohibit_root_dev_ino_without_use): Likewise.
27992         (sc_prohibit_openat_without_use): Likewise.
27993         (sc_prohibit_c_ctype_without_use): Likewise.
27994         (sc_prohibit_signal_without_use): Likewise.
27995         (sc_prohibit_intprops_without_use): Likewise.
27996
27997 2010-03-30  Eric Blake  <eblake@redhat.com>
27998
27999         maint: improve module indicators
28000         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
28001         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
28002         columns, and avoid extra macro expansion.
28003
28004         fdopendir: work around FreeBSD bug
28005         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
28006         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
28007         * modules/dirent (Makefile.am): Substitute it.
28008         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
28009         declaration.
28010         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
28011         fix.
28012         Reported by Christian Weisgerber <naddy@mips.inka.de>.
28013
28014 2010-03-29  Bruno Haible  <bruno@clisp.org>
28015
28016         Emit #pragma system_header after the inclusion guard, not before.
28017         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
28018         guard that spans the entire file, not before. This enables an
28019         optimization in GCC's preprocessor.
28020         * lib/ctype.in.h: Likewise.
28021         * lib/dirent.in.h: Likewise.
28022         * lib/errno.in.h: Likewise.
28023         * lib/float.in.h: Likewise.
28024         * lib/getopt.in.h: Likewise.
28025         * lib/iconv.in.h: Likewise.
28026         * lib/langinfo.in.h: Likewise.
28027         * lib/locale.in.h: Likewise.
28028         * lib/math.in.h: Likewise.
28029         * lib/netdb.in.h: Likewise.
28030         * lib/netinet_in.in.h: Likewise.
28031         * lib/pty.in.h: Likewise.
28032         * lib/sched.in.h: Likewise.
28033         * lib/se-selinux.in.h: Likewise.
28034         * lib/search.in.h: Likewise.
28035         * lib/spawn.in.h: Likewise.
28036         * lib/stdarg.in.h: Likewise.
28037         * lib/stdint.in.h: Likewise.
28038         * lib/string.in.h: Likewise.
28039         * lib/strings.in.h: Likewise.
28040         * lib/sys_file.in.h: Likewise.
28041         * lib/sys_ioctl.in.h: Likewise.
28042         * lib/sys_time.in.h: Likewise.
28043         * lib/sys_times.in.h: Likewise.
28044         * lib/sys_utsname.in.h: Likewise.
28045         * lib/sys_wait.in.h: Likewise.
28046         * lib/sysexits.in.h: Likewise.
28047         * lib/wctype.in.h: Likewise.
28048
28049 2010-03-28  James Youngman  <jay@gnu.org>
28050
28051         save-cwd: don't leak a file descriptor when the caller execs.
28052         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
28053         saved file descriptor.
28054         * modules/save-cwd (Depends-on): Depend on cloexec.
28055
28056 2010-03-29  Bruno Haible  <bruno@clisp.org>
28057
28058         Remove vestiges of fts-lgpl module.
28059         * lib/fts_.h: Assume GNULIB_FTS is 1.
28060         * lib/fts.c: Likewise.
28061         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
28062
28063 2010-03-28  Bruno Haible  <bruno@clisp.org>
28064
28065         Fix definition of tests witness macro.
28066         * gnulib-tool (func_import): Fix definition of witness macro.
28067
28068 2010-03-28  Bruno Haible  <bruno@clisp.org>
28069
28070         Fix ioctl's protoype on glibc systems.
28071         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
28072         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
28073         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
28074         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
28075         signature. If not, arrange to replace the ioctl function.
28076         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
28077         REPLACE_IOCTL.
28078         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
28079         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
28080         Reported by Ludovic Courtès <ludo@gnu.org>.
28081
28082 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
28083
28084         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
28085         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
28086         made it so grep -r --include=GLOB* ... did not work.
28087
28088 2010-03-26  Jim Meyering  <meyering@redhat.com>
28089             Eric Blake  <eblake@redhat.com>
28090
28091         maint.mk: prohibit use of test's -o and -a operators
28092         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
28093
28094 2010-03-28  Bruno Haible  <bruno@clisp.org>
28095
28096         Remove unused GNULIB_XYZ macro definitions.
28097         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
28098         invocation.
28099
28100 2010-03-28  Bruno Haible  <bruno@clisp.org>
28101
28102         Mark privileged tests modules.
28103         * modules/idpriv-drop-tests (Status): New section.
28104         * modules/idpriv-droptemp-tests (Status): New section.
28105
28106 2010-03-28  Bruno Haible  <bruno@clisp.org>
28107
28108         Split C++ tests into separate tests modules.
28109         * modules/dirent-c++-tests: New file, extracted from
28110         modules/dirent-tests.
28111         * modules/dirent-tests: Depend on it.
28112         * modules/fcntl-h-c++-tests: New file, extracted from
28113         modules/fcntl-h-tests.
28114         * modules/fcntl-h-tests: Depend on it.
28115         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
28116         * modules/glob-tests: Depend on it.
28117         * modules/iconv-h-c++-tests: New file, extracted from
28118         modules/iconv-h-tests.
28119         * modules/iconv-h-tests: Depend on it.
28120         * modules/langinfo-c++-tests: New file, extracted from
28121         modules/langinfo-tests.
28122         * modules/langinfo-tests: Depend on it.
28123         * modules/locale-c++-tests: New file, extracted from
28124         modules/locale-tests.
28125         * modules/locale-tests: Depend on it.
28126         * modules/math-c++-tests: New file, extracted from modules/math-tests.
28127         * modules/math-tests: Depend on it.
28128         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
28129         * modules/pty-tests: Depend on it.
28130         * modules/search-c++-tests: New file, extracted from
28131         modules/search-tests.
28132         * modules/search-tests: Depend on it.
28133         * modules/signal-c++-tests: New file, extracted from
28134         modules/signal-tests.
28135         * modules/signal-tests: Depend on it.
28136         * modules/spawn-c++-tests: New file, extracted from
28137         modules/spawn-tests.
28138         * modules/spawn-tests: Depend on it.
28139         * modules/stdio-c++-tests: New file, extracted from
28140         modules/stdio-tests.
28141         * modules/stdio-tests: Depend on it.
28142         * modules/stdlib-c++-tests: New file, extracted from
28143         modules/stdlib-tests.
28144         * modules/stdlib-tests: Depend on it.
28145         * modules/string-c++-tests: New file, extracted from
28146         modules/string-tests.
28147         * modules/string-tests: Depend on it.
28148         * modules/sys_ioctl-c++-tests: New file, extracted from
28149         modules/sys_ioctl-tests.
28150         * modules/sys_ioctl-tests: Depend on it.
28151         * modules/sys_select-c++-tests: New file, extracted from
28152         modules/sys_select-tests.
28153         * modules/sys_select-tests: Depend on it.
28154         * modules/sys_socket-c++-tests: New file, extracted from
28155         modules/sys_socket-tests.
28156         * modules/sys_socket-tests: Depend on it.
28157         * modules/sys_stat-c++-tests: New file, extracted from
28158         modules/sys_stat-tests.
28159         * modules/sys_stat-tests: Depend on it.
28160         * modules/sys_time-c++-tests: New file, extracted from
28161         modules/sys_time-tests.
28162         * modules/sys_time-tests: Depend on it.
28163         * modules/time-c++-tests: New file, extracted from modules/time-tests.
28164         * modules/time-tests: Depend on it.
28165         * modules/unistd-c++-tests: New file, extracted from
28166         modules/unistd-tests.
28167         * modules/unistd-tests: Depend on it.
28168         * modules/wchar-c++-tests: New file, extracted from
28169         modules/wchar-tests.
28170         * modules/wchar-tests: Depend on it.
28171         * modules/wctype-c++-tests: New file, extracted from
28172         modules/wctype-tests.
28173         * modules/wctype-tests: Depend on it.
28174         Reported by Simon Josefsson.
28175
28176 2010-03-28  Bruno Haible  <bruno@clisp.org>
28177
28178         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
28179         * gnulib-tool (func_exists_module): New function, extracted from
28180         func_verify_module.
28181         (func_verify_module): Use it.
28182         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
28183         'foo' only if 'foo' exists.
28184         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
28185         module.
28186
28187 2010-03-28  Bruno Haible  <bruno@clisp.org>
28188
28189         gnulib-tool: Add support for special categories of tests.
28190         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
28191         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
28192         (func_usage): Document them.
28193         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
28194         inc_unportable_tests, inc_all_tests): New variables.
28195         (func_acceptable): Consider these variables.
28196         (func_modules_transitive_closure): Make it work when the 'Status' field
28197         consists of multiple words.
28198         (func_import): Store and restore the values of inc_cxx_tests,
28199         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
28200         inc_all_tests in gnulib-comp.m4.
28201         (func_create_testdir): Set inc_all_tests to true.
28202         * doc/gnulib.texi (Extra tests modules): New section.
28203         Suggested by Jim Meyering.
28204
28205 2010-03-28  Bruno Haible  <bruno@clisp.org>
28206
28207         ansi-c++-opt: Allow turning off the C++ build by default.
28208         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
28209         gl_CXX_CHOICE_DEFAULT_NO is defined.
28210         Requested by Eric Blake.
28211
28212 2010-03-28  Bruno Haible  <bruno@clisp.org>
28213
28214         unistd: Avoid #define replacements in C++ mode.
28215         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
28216         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
28217         setsockopt, shutdown, select): In C++, attach a warning to the function
28218         if possible, rather than #defining the symbol to a dysfunctional alias.
28219         Reported by John W. Eaton <jwe@gnu.org>.
28220
28221 2010-03-28  Bruno Haible  <bruno@clisp.org>
28222
28223         Fix link errors on mingw.
28224         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
28225         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
28226         $(LIBSOCKET).
28227         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
28228         $(LIBSOCKET).
28229
28230 2010-03-28  Bruno Haible  <bruno@clisp.org>
28231             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28232
28233         lib-ignore: Determine different options for different compilers.
28234         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
28235         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
28236         Add comments.
28237         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
28238         * NEWS: Mention the change.
28239
28240 2010-03-27  Bruno Haible  <bruno@clisp.org>
28241
28242         Remove unused GNULIB_XYZ macro definitions.
28243         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
28244         * modules/fseek (configure.ac): Likewise.
28245         * modules/ioctl (configure.ac): Likewise.
28246         * modules/open (configure.ac): Likewise.
28247         * modules/stdlib-safer (configure.ac): Likewise.
28248
28249 2010-03-27  Bruno Haible  <bruno@clisp.org>
28250
28251         Add a remark about certain modules.
28252         * modules/malloc (Comment): New section.
28253         * modules/realloc (Comment): Likewise.
28254         * modules/sigpipe (Comment): Likewise.
28255
28256 2010-03-27  Bruno Haible  <bruno@clisp.org>
28257
28258         Resolve conflict between the two kinds of module indicators.
28259         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
28260         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
28261         * modules/canonicalize (configure.ac): Invoke
28262         gl_MODULE_INDICATOR_FOR_TESTS.
28263         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
28264         GNULIB_XYZ.
28265         * tests/test-dirent-c++.cc: Likewise.
28266         * tests/test-dirent-safer.c: Likewise.
28267         * tests/test-dup2.c: Likewise.
28268         * tests/test-fchdir.c: Likewise.
28269         * tests/test-fcntl-h-c++.cc: Likewise.
28270         * tests/test-getopt.c: Likewise.
28271         * tests/test-getopt.h: Likewise.
28272         * tests/test-langinfo-c++.cc: Likewise.
28273         * tests/test-locale-c++.cc: Likewise.
28274         * tests/test-math-c++.cc: Likewise.
28275         * tests/test-pty-c++.cc: Likewise.
28276         * tests/test-search-c++.cc: Likewise.
28277         * tests/test-signal-c++.cc: Likewise.
28278         * tests/test-spawn-c++.cc: Likewise.
28279         * tests/test-stdio-c++.cc: Likewise.
28280         * tests/test-stdlib-c++.cc: Likewise.
28281         * tests/test-string-c++.cc: Likewise.
28282         * tests/test-sys_ioctl-c++.cc: Likewise.
28283         * tests/test-sys_select-c++.cc: Likewise.
28284         * tests/test-sys_socket-c++.cc: Likewise.
28285         * tests/test-sys_stat-c++.cc: Likewise.
28286         * tests/test-sys_time-c++.cc: Likewise.
28287         * tests/test-time-c++.cc: Likewise.
28288         * tests/test-unistd-c++.cc: Likewise.
28289         * tests/test-wchar-c++.cc: Likewise.
28290         * tests/uninorm/test-u8-nfc.c: Likewise.
28291         * tests/uninorm/test-u8-nfd.c: Likewise.
28292         * tests/uninorm/test-u8-nfkc.c: Likewise.
28293         * tests/uninorm/test-u8-nfkd.c: Likewise.
28294         * tests/uninorm/test-u16-nfc.c: Likewise.
28295         * tests/uninorm/test-u16-nfd.c: Likewise.
28296         * tests/uninorm/test-u16-nfkc.c: Likewise.
28297         * tests/uninorm/test-u16-nfkd.c: Likewise.
28298         * tests/uninorm/test-u32-nfc.c: Likewise.
28299         * tests/uninorm/test-u32-nfc-big.c: Likewise.
28300         * tests/uninorm/test-u32-nfd.c: Likewise.
28301         * tests/uninorm/test-u32-nfd-big.c: Likewise.
28302         * tests/uninorm/test-u32-nfkc.c: Likewise.
28303         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
28304         * tests/uninorm/test-u32-nfkd.c: Likewise.
28305         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
28306         * tests/uninorm/test-u32-normalize-big.c: Likewise.
28307
28308 2010-03-27  Bruno Haible  <bruno@clisp.org>
28309
28310         Distinguish two kinds of module indicators.
28311         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
28312         gl_MODULE_INDICATOR.
28313         (gl_MODULE_INDICATOR): New macro.
28314         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
28315         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
28316         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
28317         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
28318         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
28319         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
28320         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
28321         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
28322         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
28323         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
28324         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
28325         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
28326         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
28327         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
28328         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
28329         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
28330         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
28331         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
28332         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
28333         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
28334         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
28335         * modules/cloexec (configure.ac): Likewise.
28336         * modules/getopt-gnu (configure.ac): Likewise.
28337         * modules/uninorm/u8-normalize (configure.ac): Likewise.
28338         * modules/uninorm/u16-normalize (configure.ac): Likewise.
28339         * modules/uninorm/u32-normalize (configure.ac): Likewise.
28340         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
28341
28342 2010-03-27  Bruno Haible  <bruno@clisp.org>
28343
28344         New module description field 'Comment'.
28345         * gnulib-tool: New option --extract-comment.
28346         (func_usage): Document it.
28347         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
28348         (func_get_comment): New function.
28349         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
28350
28351 2010-03-27  Bruno Haible  <bruno@clisp.org>
28352
28353         Addendum to 2010-02-07 commit.
28354         * gnulib-tool (func_usage): Document --extract-applicability option.
28355
28356 2010-03-27  Bruno Haible  <bruno@clisp.org>
28357
28358         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
28359         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
28360         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
28361         rather than link errors.
28362
28363 2010-03-27  Bruno Haible  <bruno@clisp.org>
28364
28365         Avoid side effects from tests-related modules on the compilation of lib.
28366         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
28367         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
28368         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
28369         parameter. Emit into AM_CPPFLAGS a definition of the designated C
28370         macro.
28371         (func_import): Define a witness macro. Assign it a value that depends
28372         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
28373         tests-related modules.
28374         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
28375         Reported by Jim Meyering.
28376
28377 2010-03-27  Bruno Haible  <bruno@clisp.org>
28378
28379         Factorize common .m4 code.
28380         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
28381         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
28382         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
28383         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
28384         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
28385         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
28386         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
28387         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
28388         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
28389         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
28390         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
28391         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
28392         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
28393         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
28394         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
28395         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
28396         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
28397         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
28398         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
28399         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
28400         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
28401         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
28402         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
28403         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
28404         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
28405         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
28406         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
28407         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
28408         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
28409         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
28410         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
28411         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
28412
28413 2010-03-27  Bruno Haible  <bruno@clisp.org>
28414
28415         Fix a compilation error on Cygwin with g++ >= 4.3.
28416         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
28417         if it is undefined or if we alias it to chmod.
28418         (lstat): Don't warn about the use of this function if it is undefined
28419         or if we alias it to stat.
28420         Reported by Simon Josefsson.
28421
28422 2010-03-27  Bruno Haible  <bruno@clisp.org>
28423
28424         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
28425         * modules/getlogin (configure.ac): Update.
28426
28427         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
28428         * modules/getlogin_r (configure.ac): Update.
28429
28430         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
28431         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
28432         * modules/inet_ntop (configure.ac): Update.
28433
28434         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
28435         * modules/inet_pton (configure.ac): Update.
28436
28437         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
28438         * modules/mbslen (configure.ac): Update.
28439
28440         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
28441         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
28442         * modules/forkpty (configure.ac): Update.
28443         * modules/openpty (configure.ac): Update.
28444
28445 2010-03-26  Simon Josefsson  <simon@josefsson.org>
28446
28447         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
28448         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
28449
28450 2010-03-25  Eric Blake  <eblake@redhat.com>
28451
28452         maint: use pragma consistently across replacement headers
28453         * lib/ctype.in.h (system_header): Hoist for consistent placement.
28454         * lib/dirent.in.h (system_header): Likewise.
28455         * lib/errno.in.h (system_header): Likewise.
28456         * lib/float.in.h (system_header): Likewise.
28457         * lib/getopt.in.h (system_header): Likewise.
28458         * lib/iconv.in.h (system_header): Likewise.
28459         * lib/inttypes.in.h (system_header): Likewise.
28460         * lib/langinfo.in.h (system_header): Likewise.
28461         * lib/locale.in.h (system_header): Likewise.
28462         * lib/math.in.h (system_header): Likewise.
28463         * lib/netdb.in.h (system_header): Likewise.
28464         * lib/netinet_in.in.h (system_header): Likewise.
28465         * lib/pty.in.h (system_header): Likewise.
28466         * lib/sched.in.h (system_header): Likewise.
28467         * lib/se-selinux.in.h (system_header): Likewise.
28468         * lib/search.in.h (system_header): Likewise.
28469         * lib/spawn.in.h (system_header): Likewise.
28470         * lib/stdarg.in.h (system_header): Likewise.
28471         * lib/stdint.in.h (system_header): Likewise.
28472         * lib/string.in.h (system_header): Likewise.
28473         * lib/strings.in.h (system_header): Likewise.
28474         * lib/sys_file.in.h (system_header): Likewise.
28475         * lib/sys_ioctl.in.h (system_header): Likewise.
28476         * lib/sys_socket.in.h (system_header): Likewise.
28477         * lib/sys_times.in.h (system_header): Likewise.
28478         * lib/sys_utsname.in.h (system_header): Likewise.
28479         * lib/sys_wait.in.h (system_header): Likewise.
28480         * lib/sysexits.in.h (system_header): Likewise.
28481         * lib/unistd.in.h (system_header): Likewise.
28482         * lib/wctype.in.h (system_header): Likewise.
28483
28484         arpa/inet: fix mingw compilation warning
28485         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
28486         Reported by Matthew Bolte.
28487
28488 2010-03-25  Bruno Haible  <bruno@clisp.org>
28489
28490         Avoid collision between gnulib wrapper and libintl wrapper.
28491         * lib/printf.c (printf): Don't define if a printf wrapper is already
28492         defined in intl/printf.c.
28493         Reported by Michel Boaventura <michel@michelboaventura.com>.
28494
28495 2010-03-25  Bruno Haible  <bruno@clisp.org>
28496
28497         Use ANSI C.
28498         * lib/readutmp.h (getutent): Provide ANSI C prototype.
28499
28500 2010-03-25  Bruno Haible  <bruno@clisp.org>
28501
28502         Minor formatting changes.
28503         * lib/acosl.c: Insert space before function argument list.
28504         * lib/argz.c: Likewise.
28505         * lib/asinl.c: Likewise.
28506         * lib/expl.c: Likewise.
28507         * lib/gen-uni-tables.c: Likewise.
28508         * lib/gettext.h: Likewise.
28509         * lib/glthread/lock.h: Likewise.
28510         * lib/tanl.c: Likewise.
28511         * lib/uniname/uniname.c: Likewise.
28512         * tests/test-idpriv-drop.c: Likewise.
28513         * tests/test-idpriv-droptemp.c: Likewise.
28514         * tests/test-lock.c: Likewise.
28515         * tests/test-tls.c: Likewise.
28516         * lib/argp-help.c: Insert space before function-like macro argument
28517         list.
28518         * lib/memcmp.c: Likewise.
28519         * tests/test-base64.c: Likewise.
28520         * lib/localename.c: Insert space before sizeof's argument list.
28521         * lib/safe-alloc.h: Likewise.
28522         * lib/file-set.h: Insert space before macro argument list.
28523         * tests/test-argp.c: Likewise.
28524         * lib/argp-namefrob.h: Insert space before function parameter list.
28525         * lib/getaddrinfo.c: Likewise.
28526         * lib/netdb.in.h: Likewise.
28527         * lib/parse-duration.h: Likewise.
28528         * lib/parse-duration.c: Likewise.
28529         * lib/poll.c: Likewise.
28530         * lib/select.c: Likewise.
28531         * lib/trim.h: Likewise.
28532         * tests/test-usleep.c: Likewise.
28533         * lib/ldexpl.c: Insert space before function parameter list and before
28534         function argument list.
28535         * lib/logl.c: Likewise.
28536         * lib/sqrtl.c: Likewise.
28537         * lib/trim.c: Likewise.
28538         * lib/cosl.c: Use GNU style indentation. Insert space before function
28539         argument list.
28540         * lib/sinl.c: Likewise.
28541         * lib/tsearch.c: Insert space after 'for'.
28542         Reported by Jim Meyering.
28543
28544 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
28545
28546         * maint.mk (sc_Wundef_boolean): Check for the presence of the
28547         config header before grepping, as it's not present before
28548         autoreconf/configure are run.  Reported by Simon Josefsson.
28549
28550 2010-03-23  Bruno Haible  <bruno@clisp.org>
28551
28552         pt_chown: Make it work with automake < 1.11.
28553         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
28554         Reported by Simon Josefsson.
28555
28556 2010-03-23  Bruno Haible  <bruno@clisp.org>
28557
28558         pt_chown: Don't depend on GPLed modules.
28559         * lib/pt_chown.c: Don't include idpriv.h.
28560         (main): Don't drop privileges.
28561         * modules/pt_chown (Depends-on): Remove idpriv-drop.
28562         Reported by Simon Josefsson.
28563
28564 2010-03-24  Simon Josefsson  <simon@josefsson.org>
28565
28566         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
28567         suggestions from karl@freefriends.org (Karl Berry).
28568
28569 2010-03-22  Eric Blake  <eblake@redhat.com>
28570
28571         gethostname: further tweaks
28572         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
28573         are overriding gethostname.
28574         Suggested by Bruno Haible.
28575
28576 2010-03-21  Bruno Haible  <bruno@clisp.org>
28577
28578         Fix comments.
28579         * lib/forkpty.c (rpl_forkpty): Fix comment.
28580         * lib/openpty.c (rpl_openpty): Likewise.
28581         Reported by Eric Blake.
28582
28583 2010-03-22  Eric Blake  <eblake@redhat.com>
28584
28585         gethostname: fix build on mingw
28586         * lib/unistd.in.h (includes): Work around fact that mingw
28587         <winsock2.h> re-includes <unistd.h>, by avoiding any
28588         redeclarations if we are being included by <winsock2.h>.
28589         Reported by Matthias Bolte.
28590
28591 2010-03-21  Bruno Haible  <bruno@clisp.org>
28592
28593         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
28594         * lib/forkpty.c (forkpty): New replacement function, from glibc with
28595         modifications.
28596         * lib/pty.in.h (forkpty): Update declaration. Add comments.
28597         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
28598         provide the replacement.
28599         * modules/forkpty (Depends-on): Add openpty, login_tty.
28600         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
28601         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
28602         * doc/glibc-functions/forkpty.texi: More supported platforms.
28603         * config/srclist.txt: Add forkpty.c (commented).
28604
28605 2010-03-21  Bruno Haible  <bruno@clisp.org>
28606
28607         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
28608         (Makefile.am): Verify that PTY_LIB is defined.
28609
28610         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
28611
28612 2010-03-21  Bruno Haible  <bruno@clisp.org>
28613
28614         Tests for module 'login_tty'.
28615         * modules/login_tty-tests: New file.
28616         * tests/test-login_tty.c: New file.
28617
28618         New module 'login_tty'.
28619         * lib/login_tty.c: New file.
28620         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
28621         * modules/login_tty: New file.
28622         * doc/glibc-functions/login_tty.texi: Mention the new module.
28623
28624 2010-03-21  Bruno Haible  <bruno@clisp.org>
28625
28626         login_tty: Documentation.
28627         * doc/glibc-functions/login_tty.texi: New file.
28628         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
28629
28630 2010-03-21  Bruno Haible  <bruno@clisp.org>
28631
28632         pty: Consistent macro naming.
28633         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
28634         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
28635         * modules/pty (configure.ac): Update.
28636
28637 2010-03-21  Bruno Haible  <bruno@clisp.org>
28638
28639         Tests for openpty: Make stricter.
28640         * tests/test-openpty.c (main): Add test of canonical processing and
28641         erase.
28642         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
28643
28644         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
28645         * lib/openpty.c (openpty): New replacement function.
28646         * lib/pty.in.h: Include <termios.h>.
28647         (openpty): Update declaration. Add comments.
28648         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
28649         is not declared, arrange to provide the replacement. Check for _getpty
28650         and posix_openpt.
28651         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
28652         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
28653         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
28654         * modules/pty-tests (test_pty_c___LDADD): New variable.
28655         * doc/glibc-functions/openpty.texi: More supported platforms.
28656
28657 2010-03-21  Bruno Haible  <bruno@clisp.org>
28658
28659         setenv: Tweaks.
28660         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
28661         the test program.
28662         * doc/posix-functions/setenv.texi: Update platforms list.
28663
28664 2010-03-21  Bruno Haible  <bruno@clisp.org>
28665
28666         New module 'unlockpt'.
28667         * lib/unlockpt.c: New file, from glibc with modifications.
28668         * m4/unlockpt.m4: New file.
28669         * modules/unlockpt: New file.
28670         * lib/stdlib.in.h (unlockpt): New declaration.
28671         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
28672         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
28673         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
28674         HAVE_UNLOCKPT.
28675         * doc/posix-functions/unlockpt.texi: Mention the new module.
28676         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
28677         * config/srclist.txt: Add unlockpt.c (commented).
28678
28679 2010-03-21  Jim Meyering  <meyering@redhat.com>
28680
28681         maint.mk: prohibit inclusion of "intprops.h" without use
28682         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
28683
28684 2010-03-21  Bruno Haible  <bruno@clisp.org>
28685
28686         New module 'grantpt'.
28687         * lib/grantpt.c: New file, from glibc with modifications.
28688         * m4/grantpt.m4: New file.
28689         * modules/grantpt: New file.
28690         * lib/stdlib.in.h (grantpt): New declaration.
28691         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
28692         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
28693         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
28694         HAVE_GRANTPT.
28695         * doc/posix-functions/grantpt.texi: Mention the new module.
28696         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
28697         * config/srclist.txt: Add grantpt.c (commented).
28698
28699 2010-03-21  Bruno Haible  <bruno@clisp.org>
28700
28701         New module 'pt_chown'.
28702         * lib/pt_chown.c: New file, from glibc with modifications.
28703         * lib/pty-private.h: New file, from glibc with modifications.
28704         * modules/pt_chown: New file.
28705         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
28706
28707 2010-03-21  Bruno Haible  <bruno@clisp.org>
28708
28709         Tests for module 'ptsname'.
28710         * modules/ptsname-tests: New file.
28711         * tests/test-ptsname.c: New file.
28712
28713         New module 'ptsname'.
28714         * lib/ptsname.c: New file, from glibc with modifications.
28715         * m4/ptsname.m4: New file.
28716         * modules/ptsname: New file.
28717         * lib/stdlib.in.h (ptsname): New declaration.
28718         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
28719         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
28720         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
28721         HAVE_PTSNAME.
28722         * doc/posix-functions/ptsname.texi: Mention the new module.
28723         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
28724         * config/srclist.txt: Add ptsname.c (commented).
28725
28726 2010-03-21  Bruno Haible  <bruno@clisp.org>
28727
28728         Tests for module 'ttyname_r'.
28729         * modules/ttyname_r-tests: New file.
28730         * tests/test-ttyname_r.c: New file.
28731
28732         New module 'ttyname_r'.
28733         * lib/ttyname_r.c: New file.
28734         * m4/ttyname_r.m4: New file.
28735         * modules/ttyname_r: New file.
28736         * lib/unistd.in.h (ttyname_r): New declaration.
28737         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
28738         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
28739         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
28740         HAVE_TTYNAME_R.
28741         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
28742         * doc/posix-functions/ttyname_r.texi: Mention the new module.
28743
28744 2010-03-20  Bruno Haible  <bruno@clisp.org>
28745
28746         signal: Undefine macro definitions in C++ mode.
28747         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
28748         sigfillset): Undefine macro definitions from the system header in C++
28749         mode.
28750         Reported by John W. Eaton <jwe@gnu.org>.
28751
28752 2010-03-20  Bruno Haible  <bruno@clisp.org>
28753
28754         Ensure no #include statements inside extern "C" { ... }.
28755         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
28756         contain #include statements.
28757         * lib/time.in.h: Likewise.
28758
28759 2010-03-20  Bruno Haible  <bruno@clisp.org>
28760
28761         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
28762         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
28763         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
28764         Reported by John W. Eaton <jwe@gnu.org>.
28765
28766 2010-03-20  Bruno Haible  <bruno@clisp.org>
28767
28768         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
28769         Reported by Jim Meyering.
28770
28771 2010-03-20  Bruno Haible  <bruno@clisp.org>
28772
28773         pipe: Set errno upon failure.
28774         * lib/pipe.h: Specify that when -1 is returned, errno is set.
28775         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
28776         errno value in error message.
28777
28778 2010-03-20  Bruno Haible  <bruno@clisp.org>
28779             Jim Meyering  <meyering@redhat.com>
28780
28781         lchown: Avoid "unused variable" warning.
28782         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
28783
28784 2010-03-20  Bruno Haible  <bruno@clisp.org>
28785
28786         Work around unlink() bug on MacOS X 10.5.6.
28787         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
28788         attempting to unlink a parent directory.
28789         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
28790         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
28791         activate for the replacement function.
28792         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
28793
28794 2010-03-20  Bruno Haible  <bruno@clisp.org>
28795
28796         Fix link errors on Solaris 8.
28797         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
28798         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
28799
28800 2010-03-19  Jim Meyering  <meyering@redhat.com>
28801
28802         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
28803         The _LIBC implementation of build_range_exp correctly honors the
28804         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
28805         However, the non-_LIBC implementation would ignore that syntax-bit
28806         flag and return REG_ERANGE unconditionally.
28807         This change makes it honor that flag.
28808         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
28809         Make two pointer parameters "const".
28810         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
28811         (parse_bracket_exp): Update caller.
28812
28813         regex.m4: correct the reversed range endpoint ([b-a]) test
28814         * m4/regex.m4: When requiring that [b-a] evoke failure,
28815         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
28816         test pass once again for x86-based systems.
28817
28818 2010-03-19  Bruno Haible  <bruno@clisp.org>
28819
28820         scandir: Fix link error on Solaris 8.
28821         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
28822         macros.
28823
28824 2010-03-19  Bruno Haible  <bruno@clisp.org>
28825
28826         getusershell: Fix documentation.
28827         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
28828         module.
28829         * doc/glibc-functions/setusershell.texi: Likewise.
28830
28831         getusershell: Provide declaration, missing on Solaris 9.
28832         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
28833         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
28834         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
28835         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
28836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28837         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
28838         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
28839         HAVE_GETUSERSHELL.
28840         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
28841
28842 2010-03-19  Bruno Haible  <bruno@clisp.org>
28843
28844         wctype: Provide iswblank function.
28845         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
28846         exists and is fine.
28847         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
28848         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
28849         * tests/test-wctype.c (main): Re-enable the iswblank tests.
28850         * doc/posix-functions/iswblank.texi: Update.
28851
28852 2010-03-19  Bruno Haible  <bruno@clisp.org>
28853
28854         Tests of module 'pty' in C++ mode.
28855         * modules/pty-tests: New file.
28856         * tests/test-pty-c++.cc: New file.
28857         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28858
28859 2010-03-19  Eric Blake  <eblake@redhat.com>
28860
28861         logb: fix documentation
28862         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
28863         1.5 declaration bug.
28864
28865         forkpty, openpty: prefer glibc's const-safe prototype
28866         * lib/forkpty.c (rpl_forkpty): New file.
28867         * lib/openpty.c (rpl_openpty): Likewise.
28868         * modules/forkpty (Files): Distribute it.
28869         * modules/openpty (Files): Likewise.
28870         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
28871         check...
28872         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
28873         replacement for for non-const BSD signature.
28874         * modules/pty (Makefile.am): Substitute witnesses.
28875         * lib/pty.in.h (forkpty, openpty): Declare replacements.
28876         * tests/test-forkpty.c: Update signature check.
28877         * tests/test-openpty.c: Likewise.
28878         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
28879         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28880
28881         forkpty, openpty: split functions into new modules
28882         * modules/pty (Makefile.am): Substitute new witnesses.
28883         (Libraries): Move library detection...
28884         * modules/forkpty: ...into new module.
28885         * modules/openpty: Another new module.
28886         * modules/pty-tests: Rename and split...
28887         * modules/forkpty-tests: ...to this...
28888         * modules/openpty-tests: ...and this.
28889         * tests/test-pty.c: Rename and split...
28890         * tests/test-forkpty.c: ...to this...
28891         * tests/test-openpty.c: ...and this.
28892         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
28893         (gl_PTY): Split library searching...
28894         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
28895         (gl_FORKPTY, gl_OPENPTY): New macros.
28896         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
28897         * NEWS: Mention the split.
28898         * MODULES.html.sh (Misc): Document the modules.
28899         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
28900         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28901
28902         pty: improve replacement header
28903         * lib/pty.in.h: New file.
28904         * modules/pty (Files): Ship it.
28905         (Makefile.am): Always build replacement.
28906         * m4/pty.m4: Rename...
28907         * m4/pty_h.m4: ...to this.
28908         (gl_PTY): Modernize setting of witness macros; update check of
28909         forkpty to take proper advantage of cache.
28910         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
28911
28912         getopt: avoid compiler warning
28913         * lib/getopt.c (attribute_hidden): Remove unused macro.
28914
28915 2010-03-18  Bruno Haible  <bruno@clisp.org>
28916
28917         Fix link errors on Solaris 8.
28918         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
28919         * modules/search-tests (test_search_c___LDADD): Likewise.
28920         * modules/signal-tests (test_signal_c___LDADD): Likewise.
28921         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
28922         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
28923         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
28924         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
28925         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
28926         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
28927
28928 2010-03-18  Bruno Haible  <bruno@clisp.org>
28929
28930         Fix bug introduced on 2010-03-14.
28931         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
28932         (gl_SPAWN_H): Require it.
28933         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
28934         Reported by Simon Josefsson.
28935
28936 2010-03-18  Bruno Haible  <bruno@clisp.org>
28937
28938         Fix typo introduced on 2009-12-31.
28939         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
28940         posix_spawn_file_actions_adddup2.
28941
28942 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
28943         and Eric Blake  <eblake@redhat.com>
28944
28945         test-vc-list-files-git: make more robust
28946         * tests/test-vc-list-files-git.sh: Unset problematic environment
28947         variables.  Chain commands together.
28948
28949 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
28950
28951         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
28952         `AC_CHECK_DECL' invocation.
28953
28954 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
28955
28956         * lib/inttostr.c (inttostr): Make sure the invocation of verify
28957         appears before executable statements. Suggested by Petr Sumbera
28958         <Petr.Sumbera@Sun.COM>.
28959
28960 2010-03-14  Bruno Haible  <bruno@clisp.org>
28961
28962         * tests/test-flock.c (test_exclusive): Comment out a test that causes
28963         portability problems. Instead use a simpler test.
28964         (main): Check that invalid arguments are rejected only on Linux.
28965
28966 2010-03-14  Bruno Haible  <bruno@clisp.org>
28967
28968         Fix bug introduced on 2009-12-31.
28969         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28970         gl_PREREQ_SYS_H_WINSOCK2 always.
28971         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
28972         SYS_SOCKET_H variable.
28973         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
28974         Update comments.
28975         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
28976         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28977         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28978         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
28979         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
28980
28981 2010-03-14  Bruno Haible  <bruno@clisp.org>
28982
28983         Fix values returned by sinl, cosl.
28984         * lib/trigl.h: Add specification comments.
28985         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
28986         that combines the values from the precomputed table with the values of
28987         the Chebyshev polynomials.
28988
28989 2010-03-14  Bruno Haible  <bruno@clisp.org>
28990
28991         Fix compilation error when modules 'posix_spawn[p]' are not used.
28992         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
28993         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
28994
28995 2010-03-14  Bruno Haible  <bruno@clisp.org>
28996
28997         Fix compilation error on mingw when module 'time_r' is not used.
28998         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
28999         is 1.
29000         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
29001         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
29002         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
29003         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
29004
29005 2010-03-14  Bruno Haible  <bruno@clisp.org>
29006
29007         Fix compilation error with Sun C.
29008         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
29009         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
29010         instead of GCC specific ULONG_LONG_MAX.
29011         * lib/xstrtoll.c: Likewise.
29012         * lib/xstrtoull.c: Likewise.
29013
29014 2010-03-13  Bruno Haible  <bruno@clisp.org>
29015
29016         Allow the user to disable C++ code and tests.
29017         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
29018         (gl_PROG_ANSI_CXX): Require it.
29019
29020 2010-03-13  Bruno Haible  <bruno@clisp.org>
29021
29022         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
29023         cases.
29024
29025 2010-03-13  Bruno Haible  <bruno@clisp.org>
29026
29027         Test that gnulib does not break the standard C++ headers.
29028         * tests/test-locale-c++2.cc: New file.
29029         * modules/locale-tests (Files): Add it.
29030         (Makefile.am): Compile it for test-locale-c++.
29031         * tests/test-math-c++2.cc: New file.
29032         * modules/math-tests (Files): Add it.
29033         (Makefile.am): Compile it for test-math-c++.
29034         * tests/test-signal-c++2.cc: New file.
29035         * modules/signal-tests (Files): Add it.
29036         (Makefile.am): Compile it for test-signal-c++.
29037         * tests/test-stdio-c++2.cc: New file.
29038         * modules/stdio-tests (Files): Add it.
29039         (Makefile.am): Compile it for test-stdio-c++.
29040         * tests/test-stdlib-c++2.cc: New file.
29041         * modules/stdlib-tests (Files): Add it.
29042         (Makefile.am): Compile it for test-stdlib-c++.
29043         * tests/test-string-c++2.cc: New file.
29044         * modules/string-tests (Files): Add it.
29045         (Makefile.am): Compile it for test-string-c++.
29046         * tests/test-time-c++2.cc: New file.
29047         * modules/time-tests (Files): Add it.
29048         (Makefile.am): Compile it for test-time-c++.
29049         Reported by John W. Eaton <jwe@gnu.org>.
29050
29051 2010-03-13  Bruno Haible  <bruno@clisp.org>
29052
29053         * gnulib-tool (func_usage): Clarify which options are available for
29054         --create-testdir and --create-megatestdir.
29055
29056 2010-03-13  Bruno Haible  <bruno@clisp.org>
29057
29058         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
29059         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
29060         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
29061         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
29062         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
29063         when appropriate.
29064         Reported by Jim Meyering.
29065
29066 2010-03-12  Simon Josefsson  <simon@josefsson.org>
29067
29068         * gnulib-tool (func_import): Explain origin of code.
29069
29070 2010-03-12  Bruno Haible  <bruno@clisp.org>
29071
29072         Fix problem with automake's definition of CXXLINK.
29073         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
29074         Reported by Simon Josefsson and Ludovic Courtès.
29075
29076 2010-03-12  Bruno Haible  <bruno@clisp.org>
29077
29078         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
29079         stable releases.
29080
29081 2010-03-11  Bruno Haible  <bruno@clisp.org>
29082
29083         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
29084         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
29085         whether the system provides one variant or multiple variants of the
29086         function.
29087         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
29088         C++ compilers.
29089         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
29090         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
29091         Reported by Jim Meyering.
29092
29093 2010-03-09  Simon Josefsson  <simon@josefsson.org>
29094
29095         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
29096
29097 2010-03-08  Bruno Haible  <bruno@clisp.org>
29098
29099         gnulib-tool: Add support for --libtool in --create-testdir.
29100         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
29101         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
29102
29103 2010-03-08  Eric Blake  <eblake@redhat.com>
29104
29105         gnulib-tool.texi: mention possibility of git submodule
29106         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
29107         submodules.
29108         * doc/.gitignore: Ignore another generated file.
29109
29110 2010-03-08  Karl Berry  <karl@gnu.org>
29111
29112         * doc/gnulib-tool.texi (VCS Issues): Mention third option
29113         of committing gnulib files while skipping others.
29114
29115 2010-03-07  Bruno Haible  <bruno@clisp.org>
29116
29117         Tests of module 'wctype' in C++ mode.
29118         * tests/test-wctype-c++.cc: New file.
29119         * modules/wctype-tests (Files): Add it and tests/signature.h.
29120         (Depends-on): Add ansi-c++-opt.
29121         (Makefile.am): Arrange to compile and run test-wctype-c++.
29122
29123         Tests of module 'wchar' in C++ mode.
29124         * tests/test-wchar-c++.cc: New file.
29125         * modules/wchar-tests (Files): Add it and tests/signature.h.
29126         (Depends-on): Add ansi-c++-opt.
29127         (Makefile.am): Arrange to compile and run test-wchar-c++.
29128         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
29129         gl_MODULE_INDICATOR.
29130
29131         Tests of module 'unistd' in C++ mode.
29132         * tests/test-unistd-c++.cc: New file.
29133         * modules/unistd-tests (Files): Add it and tests/signature.h.
29134         (Depends-on): Add ansi-c++-opt.
29135         (Makefile.am): Arrange to compile and run test-unistd-c++.
29136         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
29137         gl_MODULE_INDICATOR.
29138
29139         Tests of module 'time' in C++ mode.
29140         * tests/test-time-c++.cc: New file.
29141         * modules/time-tests (Files): Add it and tests/signature.h.
29142         (Depends-on): Add ansi-c++-opt.
29143         (Makefile.am): Arrange to compile and run test-time-c++.
29144         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29145
29146         Tests of module 'sys_time' in C++ mode.
29147         * tests/test-sys_time-c++.cc: New file.
29148         * modules/sys_time-tests (Files): Add it and tests/signature.h.
29149         (Depends-on): Add ansi-c++-opt.
29150         (Makefile.am): Arrange to compile and run test-sys_time-c++.
29151         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
29152         gl_MODULE_INDICATOR.
29153
29154         Tests of module 'sys_stat' in C++ mode.
29155         * tests/test-sys_stat-c++.cc: New file.
29156         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
29157         (Depends-on): Add ansi-c++-opt.
29158         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
29159         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
29160         gl_MODULE_INDICATOR.
29161
29162         Tests of module 'sys_socket' in C++ mode.
29163         * tests/test-sys_socket-c++.cc: New file.
29164         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
29165         (Depends-on): Add ansi-c++-opt.
29166         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
29167         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
29168         gl_MODULE_INDICATOR.
29169
29170         Tests of module 'sys_select' in C++ mode.
29171         * tests/test-sys_select-c++.cc: New file.
29172         * modules/sys_select-tests (Files): Add it and tests/signature.h.
29173         (Depends-on): Add ansi-c++-opt.
29174         (Makefile.am): Arrange to compile and run test-sys_select-c++.
29175         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
29176         gl_MODULE_INDICATOR.
29177
29178         Tests of module 'sys_ioctl' in C++ mode.
29179         * tests/test-sys_ioctl-c++.cc: New file.
29180         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
29181         (Depends-on): Add ansi-c++-opt.
29182         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
29183         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
29184         gl_MODULE_INDICATOR.
29185
29186         Tests of module 'string' in C++ mode.
29187         * tests/test-string-c++.cc: New file.
29188         * modules/string-tests (Files): Add it and tests/signature.h.
29189         (Depends-on): Add ansi-c++-opt.
29190         (Makefile.am): Arrange to compile and run test-string-c++.
29191         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
29192         gl_MODULE_INDICATOR.
29193
29194         Tests of module 'stdlib' in C++ mode.
29195         * tests/test-stdlib-c++.cc: New file.
29196         * modules/stdlib-tests (Files): Add it and tests/signature.h.
29197         (Depends-on): Add ansi-c++-opt.
29198         (Makefile.am): Arrange to compile and run test-stdlib-c++.
29199         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
29200         gl_MODULE_INDICATOR.
29201
29202         Tests of module 'stdio' in C++ mode.
29203         * tests/test-stdio-c++.cc: New file.
29204         * modules/stdio-tests (Files): Add it and tests/signature.h.
29205         (Depends-on): Add ansi-c++-opt.
29206         (Makefile.am): Arrange to compile and run test-stdio-c++.
29207         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
29208         gl_MODULE_INDICATOR.
29209
29210         Tests of module 'spawn' in C++ mode.
29211         * tests/test-spawn-c++.cc: New file.
29212         * modules/spawn-tests (Files): Add it and tests/signature.h.
29213         (Depends-on): Add ansi-c++-opt.
29214         (Makefile.am): Arrange to compile and run test-spawn-c++.
29215         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
29216         gl_MODULE_INDICATOR.
29217
29218         Tests of module 'signal' in C++ mode.
29219         * tests/test-signal-c++.cc: New file.
29220         * modules/signal-tests (Files): Add it and tests/signature.h.
29221         (Depends-on): Add ansi-c++-opt.
29222         (Makefile.am): Arrange to compile and run test-signal-c++.
29223         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
29224         gl_MODULE_INDICATOR.
29225
29226         Tests of module 'search' in C++ mode.
29227         * tests/test-search-c++.cc: New file.
29228         * modules/search-tests (Files): Add it and tests/signature.h.
29229         (Depends-on): Add ansi-c++-opt.
29230         (Makefile.am): Arrange to compile and run test-search-c++.
29231         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
29232         gl_MODULE_INDICATOR.
29233
29234         Tests of module 'math' in C++ mode.
29235         * tests/test-math-c++.cc: New file.
29236         * modules/math-tests (Files): Add it and tests/signature.h.
29237         (Depends-on): Add ansi-c++-opt.
29238         (Makefile.am): Arrange to compile and run test-math-c++.
29239         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29240
29241         Tests of module 'locale' in C++ mode.
29242         * tests/test-locale-c++.cc: New file.
29243         * modules/locale-tests (Files): Add it and tests/signature.h.
29244         (Depends-on): Add ansi-c++-opt.
29245         (Makefile.am): Arrange to compile and run test-locale-c++.
29246         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
29247         gl_MODULE_INDICATOR.
29248
29249         Tests of module 'langinfo' in C++ mode.
29250         * tests/test-langinfo-c++.cc: New file.
29251         * modules/langinfo-tests (Files): Add it and tests/signature.h.
29252         (Depends-on): Add ansi-c++-opt.
29253         (Makefile.am): Arrange to compile and run test-langinfo-c++.
29254         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
29255         gl_MODULE_INDICATOR.
29256
29257         Tests of module 'iconv-h' in C++ mode.
29258         * tests/test-iconv-h-c++.cc: New file.
29259         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
29260         (Depends-on): Add ansi-c++-opt.
29261         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
29262
29263         Tests of module 'glob' in C++ mode.
29264         * tests/test-glob-c++.cc: New file.
29265         * modules/glob-tests (Files): Add it.
29266         (Depends-on): Add ansi-c++-opt.
29267         (Makefile.am): Arrange to compile and run test-glob-c++.
29268
29269         Tests of module 'fcntl-h' in C++ mode.
29270         * tests/test-fcntl-h-c++.cc: New file.
29271         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
29272         (Depends-on): Add ansi-c++-opt.
29273         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
29274         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
29275         gl_MODULE_INDICATOR.
29276
29277         Tests of module 'dirent' in C++ mode.
29278         * tests/test-dirent-c++.cc: New file.
29279         * modules/dirent-tests (Files): Add it and tests/signature.h.
29280         (Depends-on): Add ansi-c++-opt.
29281         (Makefile.am): Arrange to compile and run test-dirent-c++.
29282         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29283         gl_MODULE_INDICATOR.
29284
29285         New module 'ansi-c++-opt'.
29286         * modules/ansi-c++-opt: New file.
29287         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
29288
29289         Document C++ namespace mode.
29290         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
29291
29292         wctype: Avoid #define replacements in C++ mode.
29293         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
29294         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
29295         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
29296         In C++, define a namespaced alias symbol.
29297         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
29298         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
29299         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
29300         rule.
29301
29302         wchar: Avoid #define replacements in C++ mode.
29303         * lib/wchar.in.h: Include c++defs.h.
29304         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
29305         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
29306         symbol.
29307         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
29308         * modules/wchar (Depends-on): Add c++defs.
29309         (Makefile.am): Update wchar.h rule.
29310
29311         unistd: Avoid #define replacements in C++ mode.
29312         * lib/unistd.in.h: Include c++defs.h.
29313         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
29314         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
29315         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
29316         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
29317         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
29318         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
29319         symbol.
29320         (environ): Update.
29321         * modules/unistd (Depends-on): Add c++defs.
29322         (Makefile.am): Update unistd.h rule.
29323
29324         time: Avoid #define replacements in C++ mode.
29325         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
29326         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
29327         define a namespaced alias symbol.
29328         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
29329         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
29330         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
29331         * modules/time (Depends-on): Add c++defs, warn-on-use.
29332         (Makefile.am): Update time.h rule.
29333         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
29334         * modules/nanosleep (configure.ac): Likewise.
29335         * modules/strptime (configure.ac): Likewise.
29336         * modules/timegm (configure.ac): Likewise.
29337
29338         sys_time: Avoid #define replacements in C++ mode.
29339         * lib/sys_time.in.h: Include c++defs.h.
29340         (gettimeofday): In C++, define a namespaced alias symbol.
29341         * modules/sys_time (Depends-on): Add c++defs.
29342         (Makefile.am): Update sys/time.h rule.
29343
29344         sys_stat: Avoid #define replacements in C++ mode.
29345         * lib/sys_stat.in.h: Include c++defs.h.
29346         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
29347         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
29348         namespaced alias symbol.
29349         In C++, define a namespaced alias symbol.
29350         * modules/sys_stat (Depends-on): Add c++defs.
29351         (Makefile.am): Update sys/stat.h rule.
29352
29353         sys_socket: Avoid #define replacements in C++ mode.
29354         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
29355         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
29356         definitions also when the system has a <sys/socket.h>.
29357         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
29358         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
29359         In C++, define a namespaced alias symbol.
29360         * modules/sys_socket (Depends-on): Add c++defs.
29361         (Makefile.am): Update sys/socket.h rule.
29362
29363         sys_select: Avoid #define replacements in C++ mode.
29364         * lib/sys_select.in.h: Include c++defs.h. Enable the function
29365         definitions also when the system has a <sys/select.h>.
29366         (select): In C++, define a namespaced alias symbol.
29367         * modules/sys_select (Depends-on): Add c++defs.
29368         (Makefile.am): Update sys/select.h rule.
29369
29370         sys_ioctl: Avoid #define replacements in C++ mode.
29371         * lib/sys_ioctl.in.h: Include c++defs.h.
29372         (ioctl): In C++, define a namespaced alias symbol.
29373         * modules/sys_ioctl (Depends-on): Add c++defs.
29374         (Makefile.am): Update sys/ioctl.h rule.
29375
29376         string: Avoid #define replacements in C++ mode.
29377         * lib/string.in.h: Include c++defs.h.
29378         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
29379         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
29380         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
29381         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
29382         strsignal, strverscmp): In C++, define a namespaced alias symbol.
29383         * modules/string (Depends-on): Add c++defs.
29384         (Makefile.am): Update string.h rule.
29385
29386         stdlib: Avoid #define replacements in C++ mode.
29387         * lib/stdlib.in.h: Include c++defs.h.
29388         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
29389         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
29390         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
29391         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
29392         symbol.
29393         * modules/stdlib (Depends-on): Add c++defs.
29394         (Makefile.am): Update stdlib.h rule.
29395
29396         stdio: Avoid #define replacements in C++ mode.
29397         * lib/stdio.in.h: Include c++defs.h.
29398         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
29399         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
29400         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
29401         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
29402         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
29403         namespaced alias symbol.
29404         * modules/stdio (Depends-on): Add c++defs.
29405         (Makefile.am): Update stdio.h rule.
29406
29407         spawn: Avoid #define replacements in C++ mode.
29408         * lib/spawn.in.h: Include c++defs.h.
29409         (posix_spawn, posix_spawnp, posix_spawnattr_init,
29410         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
29411         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
29412         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
29413         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
29414         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
29415         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
29416         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
29417         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
29418         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
29419         In C++, define a namespaced alias symbol.
29420         * modules/spawn (Depends-on): Add c++defs.
29421         (Makefile.am): Update spawn.h rule.
29422
29423         signal: Avoid #define replacements in C++ mode.
29424         * lib/signal.in.h: Include c++defs.h.
29425         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
29426         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
29427         namespaced alias symbol.
29428         * modules/signal (Depends-on): Add c++defs.
29429         (Makefile.am): Update signal.h rule.
29430
29431         search: Avoid #define replacements in C++ mode.
29432         * lib/search.in.h: Include c++defs.h.
29433         (_gl_search_compar_fn, _gl_search_action_fn): New types.
29434         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
29435         symbol.
29436         * modules/search (Depends-on): Add c++defs.
29437         (Makefile.am): Update search.h rule.
29438
29439         math: Avoid #define replacements in C++ mode.
29440         * lib/math.in.h: Include c++defs.h.
29441         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
29442         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
29443         trunc, truncl): In C++, define a namespaced alias symbol.
29444         * modules/math (Depends-on): Add c++defs.
29445         (Makefile.am): Update math.h rule.
29446
29447         locale: Avoid #define replacements in C++ mode.
29448         * lib/locale.in.h: Include c++defs.h.
29449         (duplocale): In C++, define a namespaced alias symbol.
29450         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
29451         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
29452         * modules/locale (Depends-on): Add c++defs.
29453         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
29454
29455         langinfo: Avoid #define replacements in C++ mode.
29456         * lib/langinfo.in.h: Include c++defs.h.
29457         (nl_langinfo): In C++, define a namespaced alias symbol.
29458         * modules/langinfo (Depends-on): Add c++defs.
29459         (Makefile.am): Update langinfo.h rule.
29460
29461         iconv-h: Avoid #define replacements in C++ mode.
29462         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
29463         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
29464         symbol.
29465         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
29466         whenever iconv is present.
29467         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
29468         (Makefile.am): Update iconv.h rule.
29469
29470         glob: Avoid #define replacements in C++ mode.
29471         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
29472         (_gl_glob_errfunc_fn): New type.
29473         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
29474         symbol.
29475         * modules/glob (Depends-on): Add c++defs, warn-on-use.
29476         (Makefile.am): Update glob.h rule.
29477
29478         fcntl-h: Avoid #define replacements in C++ mode.
29479         * lib/fcntl.in.h: Include c++defs.h.
29480         (fcntl, open, openat): In C++, define a namespaced alias symbol.
29481         * modules/fcntl-h (Depends-on): Add c++defs.
29482         (Makefile.am): Update fcntl.h rule.
29483
29484         dirent: Avoid #define replacements in C++ mode.
29485         * lib/dirent.in.h: Include c++defs.h.
29486         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
29487         namespaced alias symbol.
29488         (dirfd): Update declaration.
29489         * modules/dirent (Depends-on): Add c++defs.
29490         (Makefile.am): Update dirent.h rule.
29491
29492         ctype: Make it usable in C++ code.
29493         * lib/ctype.in.h: Include c++defs.h.
29494         (isblank): Declare as extern "C".
29495         * modules/ctype (Depends-on): Add c++defs.
29496         (Makefile.am): Update ctype.h rule.
29497
29498         New module 'c++defs'.
29499         * modules/c++defs: New file.
29500         * build-aux/c++defs.h: New file.
29501         Reported by John W. Eaton <jwe@gnu.org>.
29502
29503 2010-03-07  Bruno Haible  <bruno@clisp.org>
29504
29505         logb: Provide missing declaration for Cygwin.
29506         * lib/math.in.h (logb): New declaration.
29507         * m4/logb.m4: New file.
29508         * modules/logb (Files): Add m4/logb.m4.
29509         (Depends-on): Add math.
29510         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
29511         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
29512         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
29513         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
29514         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
29515
29516 2010-03-07  Bruno Haible  <bruno@clisp.org>
29517
29518         Fix test-cond link error.
29519         * tests/test-cond.c: Include <stdio.h>.
29520
29521 2010-03-07  Bruno Haible  <bruno@clisp.org>
29522
29523         Fix test-dirent-safer link error.
29524         * modules/dirent-safer-tests (Makefile.am): Define
29525         test_dirent_safer_LDADD.
29526
29527 2010-03-07  Bruno Haible  <bruno@clisp.org>
29528
29529         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
29530         among default module list.
29531
29532 2010-03-07  Bruno Haible  <bruno@clisp.org>
29533
29534         Fix link error on platforms with GNU libiconv.
29535         * modules/unistr/u8-strcoll-tests (Makefile): Define
29536         test_u8_strcoll_LDADD.
29537         * modules/unistr/u16-strcoll-tests (Makefile): Define
29538         test_u16_strcoll_LDADD.
29539         * modules/unistr/u32-strcoll-tests (Makefile): Define
29540         test_u32_strcoll_LDADD.
29541
29542 2010-03-07  Bruno Haible  <bruno@clisp.org>
29543
29544         Use POSIX declarations for socket functions.
29545         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
29546         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
29547         rpl_sendto): Change declaration to match POSIX.
29548         * lib/connect.c (rpl_connect): Likewise.
29549         * lib/accept.c (rpl_accept): Likewise.
29550         * lib/bind.c (rpl_bind): Likewise.
29551         * lib/getpeername.c (rpl_getpeername): Likewise.
29552         * lib/getsockname.c (rpl_getsockname): Likewise.
29553         * lib/recv.c (rpl_recv): Likewise.
29554         * lib/send.c (rpl_send): Likewise.
29555         * lib/recvfrom.c (rpl_recvfrom): Likewise.
29556         * lib/sendto.c (rpl_sendto): Likewise.
29557
29558 2010-03-06  Bruno Haible  <bruno@clisp.org>
29559
29560         Clarify access, euidaccess, faccessat.
29561         * doc/posix-functions/faccessat.texi: Mention security problem under
29562         "Other problems", not "Portability problems".
29563         * doc/posix-functions/access.texi: Likewise. Mention a related security
29564         problem.
29565         * doc/glibc-functions/euidaccess.texi: Mention security problems.
29566         * lib/euidaccess.c: Add comments about platforms.
29567         * lib/unistd.in.h (access, euidaccess): Add warnings.
29568
29569 2010-03-07  Bruno Haible  <bruno@clisp.org>
29570
29571         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
29572         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
29573         (POSIX_SPAWN_SETSCHEDULER): Likewise.
29574         (POSIX_SPAWN_USEVFORK): Define in a way that works when
29575         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
29576         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
29577         declare when POSIX_SPAWN_SETSCHEDULER is zero.
29578         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
29579         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
29580         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
29581         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
29582         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
29583         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
29584         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
29585         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
29586         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
29587         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
29588         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
29589         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
29590         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
29591         Likewise.
29592         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
29593         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
29594         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
29595         Likewise.
29596         * tests/test-spawn.c (main): Make it work when
29597         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
29598
29599 2010-03-07  Bruno Haible  <bruno@clisp.org>
29600
29601         Fix incorrect Makefile.am generation in German locale.
29602         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29603         Execute sed command with character range in C locale.
29604
29605 2010-03-06  Bruno Haible  <bruno@clisp.org>
29606
29607         Tests for module 'iconv-h'.
29608         * modules/iconv-h-tests: New file.
29609         * tests/test-iconv-h.c: New file.
29610
29611         New module 'iconv-h'.
29612         * modules/iconv-h: New file.
29613         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
29614         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
29615         (configure.ac): Remove gl_ICONV_H.
29616         (Makefile.am): Remove rule for iconv.h.
29617
29618 2010-03-06  Bruno Haible  <bruno@clisp.org>
29619
29620         More consistent naming of *.m4 files.
29621         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
29622         * modules/wctype (Files): Update.
29623
29624         More consistent naming of *.m4 files.
29625         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
29626         * modules/wchar (Files): Update.
29627
29628 2010-03-06  Jim Meyering  <meyering@redhat.com>
29629
29630         euidaccess: relax license to LGPLv2+
29631         * modules/euidaccess (License): Relax to LGPLv2+.
29632
29633 2010-03-06  Bruno Haible  <bruno@clisp.org>
29634
29635         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
29636         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
29637         (Makefile.am): Augment lib_SOURCES instead.
29638
29639 2010-03-04  Jim Meyering  <meyering@redhat.com>
29640
29641         utime: remove obsolete module
29642         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
29643         unnecessary for years, and has been marked as obsolete for 10 months.
29644         * modules/utime: Remove file.
29645         * lib/utime.c: Remove file.
29646         * m4/utime.m4: Remove file.
29647         * m4/utimes-null.m4: Remove file.
29648         * doc/posix-functions/utime.texi (utime): Remove reference to
29649         the module.  Move the sole "fixed by gnulib" item into the
29650         "problems not fixed by Gnulib" list.
29651         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
29652
29653 2010-03-05  Simon Josefsson  <simon@josefsson.org>
29654
29655         * modules/exit (License): Relax license to LGPLv2+.
29656         (Status): Mark as obsolete.
29657         * NEWS: Mention deprecated 'exit' module.
29658         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
29659         of now obsolete 'exit'.
29660
29661 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29662
29663         fts-lgpl: remove unused module
29664         * modules/fts-lgpl: Remove.
29665         * MODULES.html.sh (func_all_modules): Adjust.
29666         * check-module (find_included_lib_files): Adjust.
29667         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
29668
29669 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
29670
29671         copy-acl: enhance Solaris ACL error handling
29672         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
29673         * lib/set-mode-acl.c (qset_acl): Likewise.
29674
29675 2010-03-02  Bruno Haible  <bruno@clisp.org>
29676
29677         spawn: Don't override the system defined values on FreeBSD 8.
29678         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
29679         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
29680         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
29681         if HAVE_POSIX_SPAWN is 1.
29682         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
29683
29684 2010-03-01  Bruno Haible  <bruno@clisp.org>
29685
29686         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
29687         regarding Automake.
29688
29689 2010-02-25  Bruno Haible  <bruno@clisp.org>
29690
29691         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
29692         * gnulib-tool: Define 'echo' as a function only before the ksh alias
29693         setting, not afterwards.
29694         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
29695
29696 2010-02-24  Eric Blake  <eblake@redhat.com>
29697
29698         bootstrap, git-version-gen: use timestamp
29699         * build-aux/git-version-gen (scriptversion): Force UTC.
29700         * build-aux/bootstrap (scriptversion): New variable.
29701
29702         bootstrap: allow older git
29703         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
29704         older than 1.6.4.  Requested by the libvirt project.
29705
29706 2010-02-23  Eric Blake  <eblake@redhat.com>
29707
29708         warn-on-use: work with old autoconf
29709         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
29710         AS_VAR semantics of autoconf 2.60.
29711         Reported by Bruno Haible.
29712
29713         bootstrap: improve some comments
29714         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
29715         clarification comments.
29716
29717         gettimeofday: provide correct function
29718         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
29719         when replacement is declared, otherwise provide gettimeofday.
29720         Reported by Michael Goffioul.
29721
29722 2010-02-23  Jim Meyering  <meyering@redhat.com>
29723
29724         lib-ignore: relax license to "unlimited", not LGPLv2+
29725         * modules/lib-ignore (License): Relax to "unlimited".
29726
29727 2010-02-23  Jim Meyering  <meyering@redhat.com>
29728
29729         lib-ignore: relax license to LGPLv2+
29730         * modules/lib-ignore (License): Relax to LGPLv2+.
29731
29732 2010-02-22  Eric Blake  <eblake@redhat.com>
29733
29734         lseek: avoid bash 3.2 broken pipe bug
29735         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
29736         warning from bash 3.2.
29737         Reported by Ben Pfaff, with analysis from Bruno Haible.
29738
29739         bootstrap: support non-FSF copyright holder
29740         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
29741         bootstrap.conf override of COPYRIGHT_HOLDER.
29742         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
29743
29744         bootstrap: interoperate with gettext 0.14.1
29745         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
29746
29747         bootstrap: allow for alternate submodule location
29748         * build-aux/bootstrap (gnulib_path): New variable; use instead of
29749         hardcoding submodule location.
29750         (gnulib_mk): Allow direct use of Makefile.am.
29751
29752         bootstrap: use GNULIB_SRCDIR to reduce disk usage
29753         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
29754         rather than reconfiguring where the submodule points.
29755
29756         gettimeofday: restore support for platforms that lack function
29757         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
29758         replacement if function is missing.
29759         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
29760         * modules/sys_time (Makefile.am): Substitute it.
29761         * lib/sys_time.in.h (gettimeofday): Check it.
29762         Reported by Michael Goffioul.
29763
29764 2010-02-21  Bruno Haible  <bruno@clisp.org>
29765
29766         * lib/stdio.in.h (obstack_printf): Fix typo.
29767
29768 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
29769
29770         vc-list-files: use bzr ls's -R option
29771         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
29772         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
29773
29774 2010-02-21  Jim Meyering  <meyering@redhat.com>
29775
29776         init.sh: fix EXEEXT shims to work also for names like test-prog
29777         * tests/init.sh: Re-exec a better shell, when needed.
29778         If the current shell lacks support for posix $(...), an init.sh-using
29779         test will now try to find a shell that supports that.  If EXEEXT is
29780         nonempty, we also require support for hyphen-in-alias-name and shell
29781         substitutions like ${var#glob}.  Failure to find such a shell results
29782         in a skipped test.
29783
29784 2010-02-21  Bruno Haible  <bruno@clisp.org>
29785
29786         Really work around around "broken pipe" error message from bash 3.2.
29787         * gnulib-tool (func_reset_sigpipe): Remove function.
29788         (echo): In bash 3.2, define to a function that uses printf.
29789         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
29790
29791 2010-02-20  Bruno Haible  <bruno@clisp.org>
29792
29793         Restore support for automake 1.9.6 with autoconf 2.61.
29794         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
29795         Reported by James Youngman <jay@gnu.org>.
29796
29797 2010-02-20  Bruno Haible  <bruno@clisp.org>
29798
29799         Improve *printf warning condition.
29800         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
29801         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
29802         and the function is overridden due to SIGPIPE emulation.
29803
29804 2010-02-20  Bruno Haible  <bruno@clisp.org>
29805
29806         * lib/stdio.in.h: Tweak comments.
29807
29808 2010-02-19  Bruno Haible  <bruno@clisp.org>
29809
29810         Make it easier to find modules. New gnulib-tool option '--find'.
29811         * gnulib-tool: New option --find.
29812         (func_usage): Document it.
29813         (func_sanitize_modulelist): New function, extracted from
29814         func_all_modules.
29815         (func_all_modules): Invoke it.
29816         * doc/gnulib-tool.texi (Which modules?): New node.
29817
29818 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
29819
29820         * lib/sys_select.in.h: Provide select replacement even if
29821         sys/select.h exists on a system, for Interix.
29822
29823 2010-02-18  Jim Meyering  <meyering@redhat.com>
29824
29825         init.sh: don't use $(...) just yet
29826         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
29827         to accommodate e.g., Solaris' /bin/sh.
29828
29829 2010-02-17  Bruno Haible  <bruno@clisp.org>
29830
29831         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
29832         Reported by Ludovic Courtès <ludo@gnu.org>.
29833
29834 2010-02-16  Simon Josefsson  <simon@josefsson.org>
29835
29836         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
29837         linking with -lintl.
29838
29839 2010-02-17  Simon Josefsson  <simon@josefsson.org>
29840
29841         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
29842         if not provided by the system's netdb.h.  Reported by
29843         ludo@gnu.org (Ludovic Courtès).
29844
29845 2010-02-15  Jim Meyering  <meyering@redhat.com>
29846
29847         init.sh: improve portability and efficiency
29848         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
29849         "dummy" in a for loop.
29850         Use '!', not '^' to select the complement of a character set used
29851         in a "case" statement.
29852         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
29853         Suggestions from Eric Blake.
29854
29855         init.sh: automatically accommodate programs with the .exe suffix
29856         Automatically arrange for an invocation of "prog" to execute the
29857         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
29858         may use the simpler "prog", yet still work when built on a system
29859         that requires specifying the added suffix.
29860         Do this by constructing a function named "prog" that invokes
29861         "prog.exe" for each .exe file in selected directories.
29862         * tests/init.sh (find_exe_basenames_): New function.
29863         (create_exe_shim_functions_): New function.
29864         (path_prepend_): Use it.
29865
29866         maint.mk: mark syntax-check sc_*.m rules as .PHONY
29867         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
29868         "make -t syntax-check" doesn't create a ton of sc_*.m files.
29869
29870 2010-02-14  Jim Meyering  <meyering@redhat.com>
29871
29872         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
29873         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
29874         (sc_prohibit_hash_pjw_without_use): New rule.
29875
29876         maint.mk: allow the default upload destination dir to be overridden
29877         * top/maint.mk (upload_dest_dir_): Define with a default that
29878         preserves the status quo.
29879         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
29880         Reported by Peter Simons.
29881
29882         maint.mk: prohibit inclusion of "hash.h" without_use
29883         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
29884
29885 2010-02-10  Jim Meyering  <meyering@redhat.com>
29886
29887         maint.mk: prohibit inclusion of "ignore-value.h" without_use
29888         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
29889
29890 2010-02-09  Eric Blake  <ebb9@byu.net>
29891         and Bruno Haible  <bruno@clisp.org>
29892
29893         obstack-printf-posix: ensure declaration
29894         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
29895         extracted from gl_FUNC_OBSTACK_PRINTF.
29896         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
29897         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
29898         Likewise.
29899         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
29900         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
29901         0.
29902
29903 2010-02-08  Bruno Haible  <bruno@clisp.org>
29904
29905         gnulib-tool: Fix typo in 2010-02-07 commit.
29906         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
29907         Reported by Eric Blake.
29908
29909 2010-02-07  Bruno Haible  <bruno@clisp.org>
29910
29911         gnulib-tool: Fix up caching patches.
29912         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
29913         option --no-cache. Use associative arrays when supported by the shell.
29914         (sed_comments): New variable.
29915         (modcache): Renamed from do_cache.
29916         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
29917         abbreviate unnecessarily.
29918         (have_associative): New variable.
29919         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
29920         way also for ksh and zsh.
29921         (func_init_sed_convert_to_cache_statements): New function, extracted
29922         from func_cache_lookup_module. Add support for associative arrays.
29923         Don't set the c_MODULE_cached variable here. Ignore all lines before
29924         the first field header. Remove only the final newline, not all trailing
29925         newlines. Support empty fields correctly. Limit the use of 'eval' to
29926         assignments.
29927         (func_get_description, func_get_status, func_get_notice,
29928         func_get_applicability, func_get_filelist, func_get_dependencies,
29929         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
29930         func_get_automake_snippet, func_get_include_directive,
29931         func_get_link_directive, func_get_license, func_get_maintainer):
29932         Update documentation. List the unoptimized code first. Add support for
29933         associative arrays. Limit the use of 'eval' to assignments.
29934         (func_get_applicability): Undo stylistic pessimisations.
29935         (func_get_automake_snippet, func_get_include_directive): Reduce code
29936         duplication.
29937         (func_modules_transitive_closure, func_modules_add_dummy,
29938         func_modules_notice, func_modules_to_filelist, func_add_file,
29939         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
29940         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
29941         func_create_testdir, func_create_megatestdir): Update documentation.
29942
29943 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29944
29945         * gnulib-tool (func_cache_lookup_module): Store the module name
29946         belonging to the cache variable; error out if two different
29947         module names map to the same cache variable name.
29948
29949 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29950
29951         gnulib-tool: Make caching optional.
29952         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
29953         Update matching short versions of --no-changelog.
29954         (func_usage): Update.
29955         (sed_extract_cache_prog): Renamed from ...
29956         (sed_extract_prog): ... this; revert to old extraction script.
29957         (func_get_description, func_get_status)
29958         (func_get_notice, func_get_applicability, func_get_filelist)
29959         (func_get_dependencies, func_get_autoconf_early_snippet)
29960         (func_get_autoconf_snippet, func_get_automake_snippet)
29961         (func_get_include_directive, func_get_link_directive)
29962         (func_get_license, func_get_maintainer): If $do_cache is false,
29963         use old, non-caching extraction scripts.
29964         Suggestion by Bruno Haible.
29965
29966 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29967
29968         gnulib-tool: cache module metainformation.
29969         * gnulib-tool (sed_extract_prog): Match newline before each
29970         header, and rewrite header to a shell variable suffix.
29971         (func_cache_var, func_cache_lookup_module): New functions,
29972         to turn a module name into a cache variable prefix, and to
29973         look up and cache module metainformation.
29974         (func_get_description, func_get_status)
29975         (func_get_notice, func_get_applicability, func_get_filelist)
29976         (func_get_dependencies, func_get_autoconf_early_snippet)
29977         (func_get_autoconf_snippet, func_get_automake_snippet)
29978         (func_get_include_directive, func_get_link_directive)
29979         (func_get_license, func_get_maintainer): Use
29980         func_cache_lookup_module.
29981
29982 2010-02-07  Bruno Haible  <bruno@clisp.org>
29983
29984         fnctl: Fix missing dependency.
29985         * modules/fcntl (Depends-on): Add getdtablesize.
29986         Reported by John W. Eaton <jwe@gnu.org>.
29987
29988 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29989
29990         Argp: fix recognition of short alias options.
29991
29992         * lib/argp-parse.c (convert_options): Fix improper use of
29993         `|' between character values.
29994         * tests/test-argp.c (group1_option): New alias option
29995         --read (-r).
29996         (group1_parser): Special handling for 'r'.
29997         (test15): New test case.
29998         (test_fun): Add test15.
29999         * tests/test-argp-2.sh: Update expected --help and --usage
30000         outputs.
30001
30002 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
30003
30004         * tests/test-argp.c: Fix indentation.
30005
30006 2010-02-04  Eric Blake  <ebb9@byu.net>
30007
30008         gettimeofday: expose type of second argument
30009         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
30010         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
30011         * tests/test-gettimeofday.c: Use it to silence warning.
30012         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
30013         the issue.
30014
30015 2010-02-03  Jim Meyering  <meyering@redhat.com>
30016
30017         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
30018         * lib/regcomp.c (TYPE_SIGNED): Define.
30019         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
30020
30021         regcomp.c: avoid a new -Wshadow warning
30022         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
30023
30024 2010-02-01  Jim Meyering  <meyering@redhat.com>
30025
30026         removing useless parentheses in cpp #define directives
30027         For motivation, see commit c0221df4, "define STREQ(a,b)
30028         consistently, removing useless parentheses"
30029         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
30030         * lib/mountlist.c (MNT_IGNORE): Likewise.
30031         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
30032
30033 2010-02-01  Eric Blake  <ebb9@byu.net>
30034
30035         sys_time: use link-warning
30036         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
30037         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
30038         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
30039         * modules/sys_time (Depends-on): Add warn-on-use.
30040         (Makefile.am): Always build replacement.
30041         (configure.ac): Update substitutions.
30042         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
30043         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
30044         bother with SYS_TIME_H.
30045         * modules/gettimeofday (configure.ac): Declare indicator.
30046         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
30047         in use.
30048
30049         closein-tests: silence compiler warning
30050         * tests/test-closein.c (main): Ignore fread result.
30051         * modules/closein-tests (Depends-on): Add ignore-value.
30052
30053         tests: silence warning about system return
30054         * tests/test-areadlink-with-size.c (main): Ignore system result.
30055         * tests/test-areadlink.c (main): Likewise.
30056         * tests/test-areadlinkat-with-size.c (main): Likewise.
30057         * tests/test-areadlinkat.c (main): Likewise.
30058         * tests/test-canonicalize-lgpl.c (main): Likewise.
30059         * tests/test-canonicalize.c (main): Likewise.
30060         * tests/test-chown.c (main): Likewise.
30061         * tests/test-fchownat.c (main): Likewise.
30062         * tests/test-fdutimensat.c (main): Likewise.
30063         * tests/test-fstatat.c (main): Likewise.
30064         * tests/test-futimens.c (main): Likewise.
30065         * tests/test-lchown.c (main): Likewise.
30066         * tests/test-link.c (main): Likewise.
30067         * tests/test-linkat.c (main): Likewise.
30068         * tests/test-lstat.c (main): Likewise.
30069         * tests/test-mkdir.c (main): Likewise.
30070         * tests/test-mkdirat.c (main): Likewise.
30071         * tests/test-mkfifo.c (main): Likewise.
30072         * tests/test-mkfifoat.c (main): Likewise.
30073         * tests/test-mknod.c (main): Likewise.
30074         * tests/test-readlink.c (main): Likewise.
30075         * tests/test-remove.c (main): Likewise.
30076         * tests/test-rename.c (main): Likewise.
30077         * tests/test-renameat.c (main): Likewise.
30078         * tests/test-rmdir.c (main): Likewise.
30079         * tests/test-symlink.c (main): Likewise.
30080         * tests/test-symlinkat.c (main): Likewise.
30081         * tests/test-unlink.c (main): Likewise.
30082         * tests/test-unlinkat.c (main): Likewise.
30083         * tests/test-utimens.c (main): Likewise.
30084         * tests/test-utimensat.c (main): Likewise.
30085         * modules/areadlink-tests (Depends-on): Add ignore-value.
30086         * modules/areadlink-with-size-tests (Depends-on): Likewise.
30087         * modules/areadlinkat-tests (Depends-on): Likewise.
30088         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
30089         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
30090         * modules/canonicalize-tests (Depends-on): Likewise.
30091         * modules/chown-tests (Depends-on): Likewise.
30092         * modules/fdutimensat-tests (Depends-on): Likewise.
30093         * modules/futimens-tests (Depends-on): Likewise.
30094         * modules/lchown-tests (Depends-on): Likewise.
30095         * modules/link-tests (Depends-on): Likewise.
30096         * modules/linkat-tests (Depends-on): Likewise.
30097         * modules/lstat-tests (Depends-on): Likewise.
30098         * modules/mkdir-tests (Depends-on): Likewise.
30099         * modules/mkfifo-tests (Depends-on): Likewise.
30100         * modules/mkfifoat-tests (Depends-on): Likewise.
30101         * modules/mknod-tests (Depends-on): Likewise.
30102         * modules/openat-tests (Depends-on): Likewise.
30103         * modules/readlink-tests (Depends-on): Likewise.
30104         * modules/remove-tests (Depends-on): Likewise.
30105         * modules/rename-tests (Depends-on): Likewise.
30106         * modules/renameat-tests (Depends-on): Likewise.
30107         * modules/rmdir-tests (Depends-on): Likewise.
30108         * modules/symlink-tests (Depends-on): Likewise.
30109         * modules/symlinkat-tests (Depends-on): Likewise.
30110         * modules/unlink-tests (Depends-on): Likewise.
30111         * modules/utimens-tests (Depends-on): Likewise.
30112         * modules/utimensat-tests (Depends-on): Likewise.
30113
30114 2010-01-31  Bruno Haible  <bruno@clisp.org>
30115
30116         Perform the same test for many <math.h> functions.
30117         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
30118         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
30119         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
30120         of gl_MATHFUNC.
30121         * modules/acos (configure.ac): Likewise.
30122         * modules/asin (configure.ac): Likewise.
30123         * modules/atan (configure.ac): Likewise.
30124         * modules/atan2 (configure.ac): Likewise.
30125         * modules/cbrt (configure.ac): Likewise.
30126         * modules/copysign (configure.ac): Likewise.
30127         * modules/cos (configure.ac): Likewise.
30128         * modules/cosh (configure.ac): Likewise.
30129         * modules/erf (configure.ac): Likewise.
30130         * modules/erfc (configure.ac): Likewise.
30131         * modules/exp (configure.ac): Likewise.
30132         * modules/fmod (configure.ac): Likewise.
30133         * modules/hypot (configure.ac): Likewise.
30134         * modules/j0 (configure.ac): Likewise.
30135         * modules/j1 (configure.ac): Likewise.
30136         * modules/jn (configure.ac): Likewise.
30137         * modules/lgamma (configure.ac): Likewise.
30138         * modules/log (configure.ac): Likewise.
30139         * modules/log10 (configure.ac): Likewise.
30140         * modules/log1p (configure.ac): Likewise.
30141         * modules/pow (configure.ac): Likewise.
30142         * modules/remainder (configure.ac): Likewise.
30143         * modules/sin (configure.ac): Likewise.
30144         * modules/sinh (configure.ac): Likewise.
30145         * modules/tan (configure.ac): Likewise.
30146         * modules/tanh (configure.ac): Likewise.
30147         * modules/y0 (configure.ac): Likewise.
30148         * modules/y1 (configure.ac): Likewise.
30149         * modules/yn (configure.ac): Likewise.
30150         Suggested by Paolo Bonzini.
30151
30152 2010-01-31  Bruno Haible  <bruno@clisp.org>
30153
30154         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
30155
30156 2010-01-31  Bruno Haible  <bruno@clisp.org>
30157
30158         Work around getdelim() bug on FreeBSD 8.0.
30159         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
30160         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
30161         not work.
30162         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
30163         is 1.
30164         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
30165         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
30166         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
30167         a non-zero size.
30168         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
30169
30170 2010-01-31  Bruno Haible  <bruno@clisp.org>
30171
30172         Work around getline() bug on FreeBSD 8.0.
30173         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
30174         and a non-zero size.
30175         * tests/test-getline.c (main): Likewise.
30176         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
30177         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
30178
30179 2010-01-28  Eric Blake  <ebb9@byu.net>
30180
30181         regex: fix build failure
30182         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
30183         platforms.
30184
30185 2010-01-28  Jim Meyering  <meyering@redhat.com>
30186
30187         regex: do not ignore memory allocation failure
30188         * lib/regex_internal.c (create_cd_newstate): Detect
30189         re_node_set_init_copy failure.   Extracted from glibc commit
30190         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30191
30192         regex: sync more white-space changes from libc
30193         * lib/regex_internal.c: White-space only changes.
30194         * lib/regexec.c: Likewise.
30195
30196         regex: add many uses of __attribute_warn_unused_result__
30197         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
30198         * lib/regexec.c: Likewise.
30199         Extracted from a messy glibc commit.
30200
30201         regcomp.c: spelling and merge-artifact from glibc
30202         * lib/regcomp.c: Merge remainder of glibc's
30203         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30204
30205         regcomp.c: sync white-space changes from glibc
30206         * lib/regcomp.c: Merge to accommodate white space
30207         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30208
30209         regcomp.c: do not ignore internal return values
30210         * lib/regcomp.c: Do not ignore internal return values.
30211         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
30212         but without its white-space changes and spelling fixes.
30213
30214         regex_internal.h: define __attribute_warn_unused_result__
30215         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
30216
30217         maint: add a syntax-check rule to check for vulnerable Makefile.in
30218         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
30219
30220 2010-01-27  Jim Meyering  <meyering@redhat.com>
30221
30222         ncftpput-ftp: clean up spaces
30223         * build-aux/ncftpput-ftp: Make Copyright line consistent.
30224         Remove trailing blanks.
30225
30226 2010-01-27  Simon Josefsson  <simon@josefsson.org>
30227
30228         * build-aux/git-version-gen: Fix copyright statement.
30229         * build-aux/gnupload: Likewise.
30230         * tests/test-arcfour.c: Likewise.
30231         * tests/test-arctwo.c: Likewise.
30232         * tests/test-count-one-bits.c: Likewise.
30233         * tests/test-crc.c: Likewise.
30234         * tests/test-des.c: Likewise.
30235         * tests/test-gc-arcfour.c: Likewise.
30236         * tests/test-gc-arctwo.c: Likewise.
30237         * tests/test-gc-des.c: Likewise.
30238         * tests/test-gc-hmac-md5.c: Likewise.
30239         * tests/test-gc-hmac-sha1.c: Likewise.
30240         * tests/test-gc-md2.c: Likewise.
30241         * tests/test-gc-md4.c: Likewise.
30242         * tests/test-gc-md5.c: Likewise.
30243         * tests/test-gc-pbkdf2-sha1.c: Likewise.
30244         * tests/test-gc-rijndael.c: Likewise.
30245         * tests/test-gc-sha1.c: Likewise.
30246         * tests/test-gc.c: Likewise.
30247         * tests/test-gethostname.c: Likewise.
30248         * tests/test-gettimeofday.c: Likewise.
30249         * tests/test-hash.c: Likewise.
30250         * tests/test-hmac-md5.c: Likewise.
30251         * tests/test-hmac-sha1.c: Likewise.
30252         * tests/test-md2.c: Likewise.
30253         * tests/test-md4.c: Likewise.
30254         * tests/test-md5.c: Likewise.
30255         * tests/test-memchr.c: Likewise.
30256         * tests/test-memchr2.c: Likewise.
30257         * tests/test-memcmp.c: Likewise.
30258         * tests/test-memmem.c: Likewise.
30259         * tests/test-memrchr.c: Likewise.
30260         * tests/test-rawmemchr.c: Likewise.
30261         * tests/test-read-file.c: Likewise.
30262         * tests/test-rijndael.c: Likewise.
30263         * tests/test-sockets.c: Likewise.
30264         * tests/test-strchrnul.c: Likewise.
30265         * tests/test-strstr.c: Likewise.
30266         * tests/test-strtod.c: Likewise.
30267         * build-aux/ncftpput-ftp: Likewise.
30268
30269 2010-01-26  Eric Blake  <ebb9@byu.net>
30270
30271         ignore-value: update recommended header name
30272         * modules/ignore-value (Include): Only use <> for headers that
30273         exist in glibc.
30274
30275 2010-01-26  Jim Meyering  <meyering@redhat.com>
30276
30277         test-userspec.c: avoid compiler warnings
30278         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
30279         and "initialization discards qualifiers..." warnings.
30280         Put the first "uid" in its own scope, and make char* members "const".
30281
30282 2010-01-25  Bruno Haible  <bruno@clisp.org>
30283
30284         gnulib-tool: Make warning diagnostics consistent.
30285         * gnulib-tool (func_warning): New function.
30286         Use it everywhere where gnulib-tool produces output to stderr and it is
30287         not a fatal error.
30288
30289 2010-01-25  Bruno Haible  <bruno@clisp.org>
30290
30291         Fix test dependencies.
30292         * modules/xstrtol-tests (Depends-on): Add inttypes.
30293         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
30294
30295 2010-01-25 Pádraig Brady <P@draigBrady.com>
30296
30297         syntax-check: detect incorrect boolean macro values in config.h
30298         * modules/maintainer-makefile (configure.ac): Parameterize the location
30299         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
30300         The logic is from Eric Blake and the location indicated by Jim Meyering.
30301         Note the more natural CONFIG_HEADER name is prohibited by automake
30302         for backwards compatibility reasons.
30303         * top/maint.mk (sc_Wundef_boolean): New rule.
30304
30305 2010-01-25  Jim Meyering  <meyering@redhat.com>
30306
30307         bootstrap: detect MacOS 10.6's shasum, too
30308         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
30309         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
30310
30311 2010-01-23  Jim Meyering  <meyering@redhat.com>
30312
30313         xstrtoll: new module
30314         * modules/xstrtoll: New file.
30315         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
30316         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
30317         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
30318         ./configure fails if you use this module and lack "long long".
30319         * modules/xstrtoll-tests: New module.
30320         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
30321         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
30322         new init.sh-based test framework.
30323
30324 2010-01-24  Bruno Haible  <bruno@clisp.org>
30325
30326         Tests for module 'yn'.
30327         * modules/yn-tests: New file.
30328         * tests/test-yn.c: New file.
30329
30330         Tests for module 'y1'.
30331         * modules/y1-tests: New file.
30332         * tests/test-y1.c: New file.
30333
30334         Tests for module 'y0'.
30335         * modules/y0-tests: New file.
30336         * tests/test-y0.c: New file.
30337
30338         Tests for module 'tanh'.
30339         * modules/tanh-tests: New file.
30340         * tests/test-tanh.c: New file.
30341
30342         Tests for module 'tan'.
30343         * modules/tan-tests: New file.
30344         * tests/test-tan.c: New file.
30345
30346         Tests for module 'sqrt'.
30347         * modules/sqrt-tests: New file.
30348         * tests/test-sqrt.c: New file.
30349
30350         Tests for module 'sinh'.
30351         * modules/sinh-tests: New file.
30352         * tests/test-sinh.c: New file.
30353
30354         Tests for module 'sin'.
30355         * modules/sin-tests: New file.
30356         * tests/test-sin.c: New file.
30357
30358         Tests for module 'rint'.
30359         * modules/rint-tests: New file.
30360         * tests/test-rint.c: New file.
30361
30362         Tests for module 'remainder'.
30363         * modules/remainder-tests: New file.
30364         * tests/test-remainder.c: New file.
30365
30366         Tests for module 'pow'.
30367         * modules/pow-tests: New file.
30368         * tests/test-pow.c: New file.
30369
30370         Tests for module 'nextafter'.
30371         * modules/nextafter-tests: New file.
30372         * tests/test-nextafter.c: New file.
30373
30374         Tests for module 'modf'.
30375         * modules/modf-tests: New file.
30376         * tests/test-modf.c: New file.
30377
30378         Tests for module 'logb'.
30379         * modules/logb-tests: New file.
30380         * tests/test-logb.c: New file.
30381
30382         Tests for module 'log1p'.
30383         * modules/log1p-tests: New file.
30384         * tests/test-log1p.c: New file.
30385
30386         Tests for module 'log10'.
30387         * modules/log10-tests: New file.
30388         * tests/test-log10.c: New file.
30389
30390         Tests for module 'log'.
30391         * modules/log-tests: New file.
30392         * tests/test-log.c: New file.
30393
30394         Tests for module 'lgamma'.
30395         * modules/lgamma-tests: New file.
30396         * tests/test-lgamma.c: New file.
30397
30398         Tests for module 'ldexp'.
30399         * modules/ldexp-tests: New file.
30400         * tests/test-ldexp.c: New file.
30401
30402         Tests for module 'jn'.
30403         * modules/jn-tests: New file.
30404         * tests/test-jn.c: New file.
30405
30406         Tests for module 'j1'.
30407         * modules/j1-tests: New file.
30408         * tests/test-j1.c: New file.
30409
30410         Tests for module 'j0'.
30411         * modules/j0-tests: New file.
30412         * tests/test-j0.c: New file.
30413
30414         Tests for module 'hypot'.
30415         * modules/hypot-tests: New file.
30416         * tests/test-hypot.c: New file.
30417
30418         Tests for module 'fmod'.
30419         * modules/fmod-tests: New file.
30420         * tests/test-fmod.c: New file.
30421
30422         Tests for module 'fabs'.
30423         * modules/fabs-tests: New file.
30424         * tests/test-fabs.c: New file.
30425
30426         Tests for module 'exp'.
30427         * modules/exp-tests: New file.
30428         * tests/test-exp.c: New file.
30429
30430         Tests for module 'erfc'.
30431         * modules/erfc-tests: New file.
30432         * tests/test-erfc.c: New file.
30433
30434         Tests for module 'erf'.
30435         * modules/erf-tests: New file.
30436         * tests/test-erf.c: New file.
30437
30438         Tests for module 'cosh'.
30439         * modules/cosh-tests: New file.
30440         * tests/test-cosh.c: New file.
30441
30442         Tests for module 'cos'.
30443         * modules/cos-tests: New file.
30444         * tests/test-cos.c: New file.
30445
30446         Tests for module 'copysign'.
30447         * modules/copysign-tests: New file.
30448         * tests/test-copysign.c: New file.
30449
30450         Tests for module 'cbrt'.
30451         * modules/cbrt-tests: New file.
30452         * tests/test-cbrt.c: New file.
30453
30454         Tests for module 'atan2'.
30455         * modules/atan2-tests: New file.
30456         * tests/test-atan2.c: New file.
30457
30458         Tests for module 'atan'.
30459         * modules/atan-tests: New file.
30460         * tests/test-atan.c: New file.
30461
30462         Tests for module 'asin'.
30463         * modules/asin-tests: New file.
30464         * tests/test-asin.c: New file.
30465
30466         Tests for module 'acos'.
30467         * modules/acos-tests: New file.
30468         * tests/test-acos.c: New file.
30469
30470 2010-01-24  Bruno Haible  <bruno@clisp.org>
30471
30472         Fix tests for common <math.h> functions.
30473         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
30474         code snippet that references the function pointer, rather than merely
30475         calling the function. Substitute the FUNC_LIBM variable.
30476         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
30477         * modules/acos (configure.ac): Likewise.
30478         * modules/asin (configure.ac): Likewise.
30479         * modules/atan (configure.ac): Likewise.
30480         * modules/atan2 (configure.ac): Likewise.
30481         * modules/cbrt (configure.ac): Likewise.
30482         * modules/copysign (configure.ac): Likewise.
30483         * modules/cos (configure.ac): Likewise.
30484         * modules/cosh (configure.ac): Likewise.
30485         * modules/erf (configure.ac): Likewise.
30486         * modules/erfc (configure.ac): Likewise.
30487         * modules/exp (configure.ac): Likewise.
30488         * modules/fabs (configure.ac): Likewise.
30489         * modules/fmod (configure.ac): Likewise.
30490         * modules/hypot (configure.ac): Likewise.
30491         * modules/j0 (configure.ac): Likewise.
30492         * modules/j1 (configure.ac): Likewise.
30493         * modules/jn (configure.ac): Likewise.
30494         * modules/ldexp (configure.ac): Likewise.
30495         * modules/lgamma (configure.ac): Likewise.
30496         * modules/log (configure.ac): Likewise.
30497         * modules/log10 (configure.ac): Likewise.
30498         * modules/log1p (configure.ac): Likewise.
30499         * modules/logb (configure.ac): Likewise.
30500         * modules/modf (configure.ac): Likewise.
30501         * modules/nextafter (configure.ac): Likewise.
30502         * modules/pow (configure.ac): Likewise.
30503         * modules/remainder (configure.ac): Likewise.
30504         * modules/rint (configure.ac): Likewise.
30505         * modules/sin (configure.ac): Likewise.
30506         * modules/sinh (configure.ac): Likewise.
30507         * modules/tan (configure.ac): Likewise.
30508         * modules/tanh (configure.ac): Likewise.
30509         * modules/y0 (configure.ac): Likewise.
30510         * modules/y1 (configure.ac): Likewise.
30511         * modules/yn (configure.ac): Likewise.
30512
30513 2010-01-24  Bruno Haible  <bruno@clisp.org>
30514
30515         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
30516         * tests/test-acosl.c (x): New variable.
30517         (main): Store argument in x and fetch it from x.
30518         * tests/test-asinl.c (x): New variable.
30519         (main): Store argument in x and fetch it from x.
30520         * tests/test-atanl.c (x): New variable.
30521         (main): Store argument in x and fetch it from x.
30522         * tests/test-cosl.c (x): New variable.
30523         (main): Store argument in x and fetch it from x.
30524         * tests/test-expl.c (x): New variable.
30525         (main): Store argument in x and fetch it from x.
30526         * tests/test-logl.c (x): New variable.
30527         (main): Store argument in x and fetch it from x.
30528         * tests/test-sinl.c (x): New variable.
30529         (main): Store argument in x and fetch it from x.
30530         * tests/test-sqrtl.c (x): New variable.
30531         (main): Store argument in x and fetch it from x.
30532         * tests/test-tanl.c (x): New variable.
30533         (main): Store argument in x and fetch it from x.
30534
30535 2010-01-24  Bruno Haible  <bruno@clisp.org>
30536
30537         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
30538         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
30539         assignments to the initial TESTS_ENVIRONMENT.
30540         * doc/gnulib.texi (Unit test modules): Document it.
30541         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
30542         TESTS_ENVIRONMENT.
30543         * modules/btowc-tests (Makefile.am): Likewise.
30544         * modules/c-stack-tests (Makefile.am): Likewise.
30545         * modules/c-strcase-tests (Makefile.am): Likewise.
30546         * modules/copy-file-tests (Makefile.am): Likewise.
30547         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
30548         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
30549         * modules/mbrtowc-tests (Makefile.am): Likewise.
30550         * modules/mbscasecmp-tests (Makefile.am): Likewise.
30551         * modules/mbscasestr-tests (Makefile.am): Likewise.
30552         * modules/mbschr-tests (Makefile.am): Likewise.
30553         * modules/mbscspn-tests (Makefile.am): Likewise.
30554         * modules/mbsinit-tests (Makefile.am): Likewise.
30555         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
30556         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
30557         * modules/mbspbrk-tests (Makefile.am): Likewise.
30558         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
30559         * modules/mbsrchr-tests (Makefile.am): Likewise.
30560         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
30561         * modules/mbsspn-tests (Makefile.am): Likewise.
30562         * modules/mbsstr-tests (Makefile.am): Likewise.
30563         * modules/nl_langinfo-tests (Makefile.am): Likewise.
30564         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
30565         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
30566         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
30567         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
30568         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
30569         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
30570         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
30571         * modules/wcrtomb-tests (Makefile.am): Likewise.
30572         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
30573         * modules/wcsrtombs-tests (Makefile.am): Likewise.
30574         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
30575         assignments from TESTS_ENVIRONMENT.
30576         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
30577         augmentation.
30578         * modules/argp-version-etc-tests (Makefile.am): Likewise.
30579         * modules/atexit-tests (Makefile.am): Likewise.
30580         * modules/binary-io-tests (Makefile.am): Likewise.
30581         * modules/closein-tests (Makefile.am): Likewise.
30582         * modules/dprintf-posix-tests (Makefile.am): Likewise.
30583         * modules/exclude-tests (Makefile.am): Likewise.
30584         * modules/fflush-tests (Makefile.am): Likewise.
30585         * modules/fpending-tests (Makefile.am): Likewise.
30586         * modules/fprintf-posix-tests (Makefile.am): Likewise.
30587         * modules/freadahead-tests (Makefile.am): Likewise.
30588         * modules/freadptr-tests (Makefile.am): Likewise.
30589         * modules/freadseek-tests (Makefile.am): Likewise.
30590         * modules/fseek-tests (Makefile.am): Likewise.
30591         * modules/fseeko-tests (Makefile.am): Likewise.
30592         * modules/ftell-tests (Makefile.am): Likewise.
30593         * modules/ftello-tests (Makefile.am): Likewise.
30594         * modules/idpriv-drop-tests (Makefile.am): Likewise.
30595         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
30596         * modules/lseek-tests (Makefile.am): Likewise.
30597         * modules/parse-duration-tests (Makefile.am): Likewise.
30598         * modules/perror-tests (Makefile.am): Likewise.
30599         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
30600         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
30601         * modules/pipe-tests (Makefile.am): Likewise.
30602         * modules/pread-tests (Makefile.am): Likewise.
30603         * modules/printf-posix-tests (Makefile.am): Likewise.
30604         * modules/select-tests (Makefile.am): Likewise.
30605         * modules/sigpipe-tests (Makefile.am): Likewise.
30606         * modules/tsearch-tests (Makefile.am): Likewise.
30607         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
30608         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
30609         * modules/uniname/uniname-tests (Makefile.am): Likewise.
30610         * modules/uniwidth/width-tests (Makefile.am): Likewise.
30611         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
30612         * modules/version-etc-tests (Makefile.am): Likewise.
30613         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
30614         * modules/vprintf-posix-tests (Makefile.am): Likewise.
30615         * modules/xalloc-die-tests (Makefile.am): Likewise.
30616         * modules/xprintf-posix-tests (Makefile.am): Likewise.
30617         * modules/xstrtoimax-tests (Makefile.am): Likewise.
30618         * modules/xstrtol-tests (Makefile.am): Likewise.
30619         * modules/xstrtoumax-tests (Makefile.am): Likewise.
30620         * modules/yesno-tests (Makefile.am): Likewise.
30621         Suggested by Jim Meyering.
30622
30623 2010-01-24  Bruno Haible  <bruno@clisp.org>
30624
30625         More documentation.
30626         * doc/gnulib.texi (Writing modules): New chapter.
30627         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
30628         the new chapter.
30629
30630 2010-01-24  Jim Meyering  <meyering@redhat.com>
30631
30632         maint.mk: do not prepend "./" after filtering
30633         * top/maint.mk (_prepend_srcdir_prefix): New variable
30634         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
30635         "./" when $(srcdir) is ".".
30636
30637         define STREQ(a,b) consistently, removing useless parentheses
30638         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
30639         since the only risk is that "a" or "b" contains an unparenthesized
30640         comma, but if either did that, STREQ would have 3 or more arguments.
30641         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
30642         * lib/fts.c (STREQ): Remove unnecessary parentheses.
30643         * lib/hash-triple.c (STREQ): Likewise.
30644         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
30645         * lib/getugroups.c (STREQ): Likewise.
30646
30647 2010-01-23  Jim Meyering  <meyering@redhat.com>
30648
30649         maint.mk: fix syntax-check in a non-srcdir build directory
30650         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
30651         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
30652
30653 2010-01-22  Jim Meyering  <meyering@redhat.com>
30654
30655         userspec: add unit tests
30656         * tests/test-userspec.c: New file.
30657         * modules/userspec-tests: Likewise.
30658
30659 2010-01-21  Jim Meyering  <meyering@redhat.com>
30660
30661         maint.mk: handle source file names containing "." robustly
30662         * top/maint.mk (_dot_escaped_srcdir): Define.
30663         (VC_LIST): Use it in LHS of sed substitution.
30664
30665 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
30666
30667         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
30668         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
30669         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
30670         from a non-srcdir build.
30671
30672 2010-01-20  Eric Blake  <ebb9@byu.net>
30673
30674         warn-on-use: use instead of link-warning
30675         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
30676         * modules/unistd (Depends-on, Makefile.am): Likewise.
30677         * modules/arpa_inet (Depends-on): Replace link-warning with
30678         warn-on-use.
30679         (Makefile.am): Update rules accordingly.
30680         * modules/ctype (Depends-on, Makefile.am): Likewise.
30681         * modules/dirent (Depends-on, Makefile.am): Likewise.
30682         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
30683         * modules/inttypes (Depends-on, Makefile.am): Likewise.
30684         * modules/langinfo (Depends-on, Makefile.am): Likewise.
30685         * modules/locale (Depends-on, Makefile.am): Likewise.
30686         * modules/math (Depends-on, Makefile.am): Likewise.
30687         * modules/search (Depends-on, Makefile.am): Likewise.
30688         * modules/signal (Depends-on, Makefile.am): Likewise.
30689         * modules/spawn (Depends-on, Makefile.am): Likewise.
30690         * modules/stdlib (Depends-on, Makefile.am): Likewise.
30691         * modules/string (Depends-on, Makefile.am): Likewise.
30692         * modules/strings (Depends-on, Makefile.am): Likewise.
30693         * modules/sys_file (Depends-on, Makefile.am): Likewise.
30694         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
30695         * modules/sys_select (Depends-on, Makefile.am): Likewise.
30696         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
30697         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
30698         * modules/sys_times (Depends-on, Makefile.am): Likewise.
30699         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
30700         * modules/wchar (Depends-on, Makefile.am): Likewise.
30701         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
30702         should be poisoned.
30703         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
30704         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
30705         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
30706         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
30707         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30708         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30709         * m4/math_h.m4 (gl_MATH_H): Likewise.
30710         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
30711         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
30712         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
30713         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
30714         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
30715         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
30716         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
30717         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
30718         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
30719         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
30720         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
30721         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
30722         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30723         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30724         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
30725         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
30726         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
30727         GL_LINK_WARNING.
30728         * lib/ctype.in.h: Likewise.
30729         * lib/dirent.in.h: Likewise.
30730         * lib/fcntl.in.h: Likewise.
30731         * lib/inttypes.in.h: Likewise.
30732         * lib/langinfo.in.h: Likewise.
30733         * lib/locale.in.h: Likewise.
30734         * lib/math.in.h: Likewise.
30735         * lib/search.in.h: Likewise.
30736         * lib/signal.in.h: Likewise.
30737         * lib/spawn.in.h: Likewise.
30738         * lib/stdio.in.h: Likewise.
30739         * lib/stdlib.in.h: Likewise.
30740         * lib/string.in.h: Likewise.
30741         * lib/strings.in.h: Likewise.
30742         * lib/sys_file.in.h: Likewise.
30743         * lib/sys_ioctl.in.h: Likewise.
30744         * lib/sys_select.in.h: Likewise.
30745         * lib/sys_socket.in.h: Likewise.
30746         * lib/sys_stat.in.h: Likewise.
30747         * lib/sys_times.in.h: Likewise.
30748         * lib/sys_utsname.in.h: Likewise.
30749         * lib/unistd.in.h: Likewise.
30750         * lib/wchar.in.h: Likewise.
30751
30752 2010-01-20  Bruno Haible  <bruno@clisp.org>
30753
30754         Avoid duplicate -lm.
30755         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
30756         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
30757         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
30758         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
30759         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
30760         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
30761         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
30762         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
30763         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
30764         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
30765         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
30766         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30767         Reported by Paolo Bonzini.
30768
30769 2010-01-19  Bruno Haible  <bruno@clisp.org>
30770
30771         langinfo, nl_langinfo: Relicense under LGPLv2+.
30772         * modules/langinfo (License): Change to LGPLv2+.
30773         * modules/nl_langinfo (License): Likewise.
30774         Patch by David Lutterkort <lutter@redhat.com>.
30775
30776 2010-01-19  Bruno Haible  <bruno@clisp.org>
30777
30778         Avoid compilation error with cc on OSF/1 5.1.
30779         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
30780         statement, not before.
30781         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30782
30783 2010-01-18  Bruno Haible  <bruno@clisp.org>
30784
30785         Avoid a link error due to the __printf__ symbol.
30786         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
30787         and 2.6.x.
30788         (__format__, __printf__): Remove definitions.
30789         * lib/argp-fmtstream.h: Likewise.
30790         * lib/argp.h: Likewise.
30791         * lib/error.h: Likewise.
30792         * lib/vasnprintf.h: Likewise.
30793         * lib/xprintf.h: Likewise.
30794         * lib/xvasprintf.h: Likewise.
30795         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30796
30797 2010-01-18  Bruno Haible  <bruno@clisp.org>
30798
30799         Tests for module 'tanl'.
30800         * modules/tanl-tests: New file.
30801         * tests/test-tanl.c: New file.
30802
30803         Tests for module 'sqrtl'.
30804         * modules/sqrtl-tests: New file.
30805         * tests/test-sqrtl.c: New file.
30806
30807         Tests for module 'sinl'.
30808         * modules/sinl-tests: New file.
30809         * tests/test-sinl.c: New file.
30810
30811         Tests for module 'logl'.
30812         * modules/logl-tests: New file.
30813         * tests/test-logl.c: New file.
30814
30815         Tests for module 'expl'.
30816         * modules/expl-tests: New file.
30817         * tests/test-expl.c: New file.
30818
30819         Tests for module 'cosl'.
30820         * modules/cosl-tests: New file.
30821         * tests/test-cosl.c: New file.
30822
30823         Tests for module 'atanl'.
30824         * modules/atanl-tests: New file.
30825         * tests/test-atanl.c: New file.
30826
30827         Tests for module 'asinl'.
30828         * modules/asinl-tests: New file.
30829         * tests/test-asinl.c: New file.
30830
30831         Tests for module 'acosl'.
30832         * modules/acosl-tests: New file.
30833         * tests/test-acosl.c: New file.
30834
30835         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30836         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
30837         tanl): Use the standard gnulib idiom.
30838         * lib/cosl.c: Don't include trigl.c and sincosl.c.
30839         * lib/sinl.c: Likewise.
30840         * lib/tanl.c: Don't include trigl.c.
30841         (kernel_tanl): Make static.
30842         * lib/sincosl.c: Include trigl.h first.
30843         * lib/trigl.c: Likewise.
30844         * m4/acosl.m4: New file.
30845         * m4/asinl.m4: New file.
30846         * m4/atanl.m4: New file.
30847         * m4/cosl.m4: New file.
30848         * m4/expl.m4: New file.
30849         * m4/logl.m4: New file.
30850         * m4/sinl.m4: New file.
30851         * m4/sqrtl.m4: New file.
30852         * m4/tanl.m4: New file.
30853         * m4/mathl.m4: Remove file.
30854         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
30855         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30856         Don't initialize GNULIB_MATHL.
30857         * modules/acosl: New file.
30858         * modules/asinl: New file.
30859         * modules/atanl: New file.
30860         * modules/cosl: New file.
30861         * modules/expl: New file.
30862         * modules/logl: New file.
30863         * modules/sinl: New file.
30864         * modules/sqrtl: New file.
30865         * modules/tanl: New file.
30866         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
30867         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
30868         substitute GNULIB_MATHL.
30869         * modules/mathl: Rewritten.
30870         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
30871         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
30872         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
30873         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
30874         * doc/posix-functions/expl.texi: Mention the 'expl' module.
30875         * doc/posix-functions/logl.texi: Mention the 'logl' module.
30876         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
30877         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
30878         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
30879
30880 2010-01-18  Bruno Haible  <bruno@clisp.org>
30881
30882         sqrt: Make gl_FUNC_SQRT requirable.
30883         * m4/sqrt.m4: New file.
30884         * modules/sqrt (Files): Add it.
30885         (configure.ac): Invoke gl_FUNC_SQRT.
30886
30887 2010-01-18  Bruno Haible  <bruno@clisp.org>
30888
30889         New modules for common <math.h> functions.
30890         * m4/mathfunc.m4: New file.
30891         * modules/acos: New file.
30892         * modules/asin: New file.
30893         * modules/atan: New file.
30894         * modules/atan2: New file.
30895         * modules/cbrt: New file.
30896         * modules/copysign: New file.
30897         * modules/cos: New file.
30898         * modules/cosh: New file.
30899         * modules/erf: New file.
30900         * modules/erfc: New file.
30901         * modules/exp: New file.
30902         * modules/fabs: New file.
30903         * modules/fmod: New file.
30904         * modules/hypot: New file.
30905         * modules/j0: New file.
30906         * modules/j1: New file.
30907         * modules/jn: New file.
30908         * modules/ldexp: New file.
30909         * modules/lgamma: New file.
30910         * modules/log: New file.
30911         * modules/log10: New file.
30912         * modules/log1p: New file.
30913         * modules/logb: New file.
30914         * modules/modf: New file.
30915         * modules/nextafter: New file.
30916         * modules/pow: New file.
30917         * modules/remainder: New file.
30918         * modules/rint: New file.
30919         * modules/sin: New file.
30920         * modules/sinh: New file.
30921         * modules/sqrt: New file.
30922         * modules/tan: New file.
30923         * modules/tanh: New file.
30924         * modules/y0: New file.
30925         * modules/y1: New file.
30926         * modules/yn: New file.
30927         * doc/posix-functions/acos.texi: Mention the 'acos' module.
30928         * doc/posix-functions/asin.texi: Mention the 'asin' module.
30929         * doc/posix-functions/atan.texi: Mention the 'atan' module.
30930         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
30931         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
30932         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
30933         * doc/posix-functions/cos.texi: Mention the 'cos' module.
30934         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
30935         * doc/posix-functions/erf.texi: Mention the 'erf' module.
30936         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
30937         * doc/posix-functions/exp.texi: Mention the 'exp' module.
30938         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
30939         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
30940         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
30941         * doc/posix-functions/j0.texi: Mention the 'j0' module.
30942         * doc/posix-functions/j1.texi: Mention the 'j1' module.
30943         * doc/posix-functions/jn.texi: Mention the 'jn' module.
30944         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
30945         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
30946         * doc/posix-functions/log.texi: Mention the 'log' module.
30947         * doc/posix-functions/log10.texi: Mention the 'log10' module.
30948         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
30949         * doc/posix-functions/logb.texi: Mention the 'logb' module.
30950         * doc/posix-functions/modf.texi: Mention the 'modf' module.
30951         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
30952         * doc/posix-functions/pow.texi: Mention the 'pow' module.
30953         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
30954         * doc/posix-functions/rint.texi: Mention the 'rint' module.
30955         * doc/posix-functions/sin.texi: Mention the 'sin' module.
30956         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
30957         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
30958         * doc/posix-functions/tan.texi: Mention the 'tan' module.
30959         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
30960         * doc/posix-functions/y0.texi: Mention the 'y0' module.
30961         * doc/posix-functions/y1.texi: Mention the 'y1' module.
30962         * doc/posix-functions/yn.texi: Mention the 'yn' module.
30963
30964 2010-01-18  Jim Meyering  <meyering@redhat.com>
30965
30966         ignore-value: relax license to LGPLv2+
30967         * modules/ignore-value (License): Relax to LGPLv2+.
30968
30969         getdate: don't leak when TZ contains two or more '"'s
30970         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
30971         double quote in TZ after the first one.
30972
30973         readtokens: do not leak internal token_lengths buffer
30974         * lib/readtokens.c (readtokens): Free the local, lengths,
30975         when the supplied "token_lengths" parameter is NULL.
30976
30977 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30978
30979         Fix a couple of missing LIBTHREAD link failures on AIX.
30980         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
30981         $(LIBTHREAD).
30982         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
30983
30984         Link test-poll against INET_PTON_LIB.
30985         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
30986         for inet_pton on Solaris 10.
30987
30988 2010-01-17  Bruno Haible  <bruno@clisp.org>
30989
30990         unistdio/*-sprintf: Fix typo in module description.
30991         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
30992         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
30993         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
30994         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
30995         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
30996         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
30997         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
30998         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30999
31000 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31001
31002         gnulib-tool: fix filelist for AIX, HP-UX ksh.
31003         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
31004         variables in shell case patterns, for AIX and HP-UX ksh.
31005
31006         Split large sed scripts, for HP-UX sed.
31007         * modules/stdio: Split sed scripts around 50 sed commands,
31008         to avoid HP-UX limit of 99 commands, in the near future.
31009         * modules/string: Likewise.
31010         * modules/unistd: Likewise.
31011
31012         gnulib-tool: avoid writing in the current directory.
31013         * gnulib-tool (func_emit_lib_Makefile_am)
31014         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
31015         not in the current directory, so concurrent gnulib-tool
31016         instances do not interfere.
31017
31018 2010-01-16  Jim Meyering  <meyering@redhat.com>
31019
31020         doc: update users.txt
31021         * users.txt: Add grep.
31022         (diffutils, gzip): Update URLs.
31023
31024 2010-01-12  Bruno Haible  <bruno@clisp.org>
31025
31026         posix_spawn: Avoid test failure on Cygwin.
31027         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
31028         characters.
31029         Reported by Simon Josefsson.
31030
31031 2010-01-12  Bruno Haible  <bruno@clisp.org>
31032
31033         * tests/test-cond.c (main): When skipping the test, show the reason.
31034
31035 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31036
31037         * lib/striconv.c (str_cd_iconv): Avoid if before free.
31038
31039 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31040
31041         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
31042         VC_LIST_ALWAYS_EXCLUDE_REGEX.
31043
31044 2010-01-12  Eric Blake  <ebb9@byu.net>
31045
31046         build: guarantee AS_VAR_IF
31047         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
31048         (gl_AS_VAR_IF): Move...
31049         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
31050         Reported by Simon Josefsson.
31051
31052 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31053
31054         * lib/stdio.in.h: Fix typo.
31055
31056 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31057
31058         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
31059         libgpg-error.
31060
31061 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31062
31063         * tests/test-xalloc-die.sh: Use $EXEEXT.
31064
31065 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31066             Bruno Haible  <bruno@clisp.org>
31067
31068         getlogin, getlogin_r: Avoid test failure.
31069         * tests/test-getlogin.c: Include <stdio.h>.
31070         (main): Skip the test when the function fails because stdin is not a
31071         tty.
31072         * tests/test-getlogin_r.c: Include <stdio.h>.
31073         (main): Skip the test when the function fails because stdin is not a
31074         tty.
31075
31076 2010-01-11  Eric Blake  <ebb9@byu.net>
31077
31078         tests: avoid more large file warnings
31079         * tests/test-fflush.c: Avoid warning about ftell use.
31080         * tests/test-fseek.c: Avoid warning about fseek use.
31081
31082 2010-01-10  Bruno Haible  <bruno@clisp.org>
31083
31084         nproc: Work better on Linux when /proc and /sys are not mounted.
31085         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
31086         as lower bound when, on glibc/Linux systems,
31087         sysconf (_SC_NPROCESSORS_CONF) returns 1.
31088         Suggested by Pádraig Brady <P@draigbrady.com>.
31089         Reported by Dmitry V. Levin <ldv@altlinux.org>.
31090
31091         nproc: Refactor.
31092         * lib/nproc.c (num_processors_via_affinity_mask): New function,
31093         extracted from num_processors.
31094         (num_processors): Call it.
31095
31096 2010-01-11  Jim Meyering  <meyering@redhat.com>
31097
31098         utimecmp: avoid new warning from upcoming gcc-4.5.0
31099         * lib/utimecmp.c (BILLION): Define using #define rather than an
31100         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
31101
31102 2010-01-11  Eric Blake  <ebb9@byu.net>
31103
31104         math: add portability warnings for classification macros
31105         * modules/math (Depends-on): Add warn-on-use.
31106         (Makefile.am): Provide new substitutions.
31107         * m4/math_h.m4 (gl_MATH_H): Require inline.
31108         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
31109         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
31110         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
31111         implement warnings.
31112
31113         unistd: warn on use of environ without module
31114         * modules/unistd (Depends-on): Add warn-on-use.
31115         (Makefile.am): Provide new substitutions.
31116         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
31117         * lib/unistd.in.h (environ): Wrap with a warning helper function.
31118
31119         stdio: warn on suspicious uses
31120         * modules/stdio (Depends-on): Add warn-on-use.
31121         (Makefile.am): Provide new substitutions.
31122         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
31123         fseeko.
31124         * lib/stdio.in.h (gets): Always warn on use.
31125         (fseek, ftell): Adjust when warnings are issued, and honor
31126         _GL_NO_LARGE_FILES as a way to silence the warning.
31127         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
31128         any warning about large file offsets.
31129         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
31130         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
31131         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
31132         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
31133         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
31134         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
31135         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
31136         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
31137
31138         warn-on-use: new module
31139         * modules/warn-on-use: New file.
31140         * build-aux/warn-on-use.h: Likewise.
31141         * m4/warn-on-use.m4: Likewise.
31142         * MODULES.html.sh (Support for building): Mention it.
31143
31144 2010-01-10  Bruno Haible  <bruno@clisp.org>
31145
31146         Tests for module 'unistr/u32-strdup'.
31147         * modules/unistr/u32-strdup-tests: New file.
31148         * tests/unistr/test-u32-strdup.c: New file.
31149
31150         Tests for module 'unistr/u16-strdup'.
31151         * modules/unistr/u16-strdup-tests: New file.
31152         * tests/unistr/test-u16-strdup.c: New file.
31153
31154         Tests for module 'unistr/u8-strdup'.
31155         * modules/unistr/u8-strdup-tests: New file.
31156         * tests/unistr/test-u8-strdup.c: New file.
31157         * tests/unistr/test-strdup.h: New file.
31158
31159         Tests for module 'unistr/u32-strncmp'.
31160         * modules/unistr/u32-strncmp-tests: New file.
31161         * tests/unistr/test-u32-strncmp.c: New file.
31162
31163         Tests for module 'unistr/u16-strncmp'.
31164         * modules/unistr/u16-strncmp-tests: New file.
31165         * tests/unistr/test-u16-strncmp.c: New file.
31166
31167         Tests for module 'unistr/u8-strncmp'.
31168         * modules/unistr/u8-strncmp-tests: New file.
31169         * tests/unistr/test-u8-strncmp.c: New file.
31170         * tests/unistr/test-strncmp.h: New file.
31171
31172         Tests for module 'unistr/u32-strcoll'.
31173         * modules/unistr/u32-strcoll-tests: New file.
31174         * tests/unistr/test-u32-strcoll.c: New file.
31175
31176         Tests for module 'unistr/u16-strcoll'.
31177         * modules/unistr/u16-strcoll-tests: New file.
31178         * tests/unistr/test-u16-strcoll.c: New file.
31179
31180         Tests for module 'unistr/u8-strcoll'.
31181         * modules/unistr/u8-strcoll-tests: New file.
31182         * tests/unistr/test-u8-strcoll.c: New file.
31183
31184         Tests for module 'unistr/u32-strcmp'.
31185         * modules/unistr/u32-strcmp-tests: New file.
31186         * tests/unistr/test-u32-strcmp.c: New file.
31187         * tests/unistr/test-u32-strcmp.h: New file.
31188
31189         Tests for module 'unistr/u16-strcmp'.
31190         * modules/unistr/u16-strcmp-tests: New file.
31191         * tests/unistr/test-u16-strcmp.c: New file.
31192         * tests/unistr/test-u16-strcmp.h: New file.
31193
31194         Tests for module 'unistr/u8-strcmp'.
31195         * modules/unistr/u8-strcmp-tests: New file.
31196         * tests/unistr/test-u8-strcmp.c: New file.
31197         * tests/unistr/test-u8-strcmp.h: New file.
31198         * tests/unistr/test-strcmp.h: New file.
31199
31200         Tests for module 'unistr/u32-strncat'.
31201         * modules/unistr/u32-strncat-tests: New file.
31202         * tests/unistr/test-u32-strncat.c: New file.
31203
31204         Tests for module 'unistr/u16-strncat'.
31205         * modules/unistr/u16-strncat-tests: New file.
31206         * tests/unistr/test-u16-strncat.c: New file.
31207
31208         Tests for module 'unistr/u8-strncat'.
31209         * modules/unistr/u8-strncat-tests: New file.
31210         * tests/unistr/test-u8-strncat.c: New file.
31211         * tests/unistr/test-strncat.h: New file.
31212
31213         Tests for module 'unistr/u32-strcat'.
31214         * modules/unistr/u32-strcat-tests: New file.
31215         * tests/unistr/test-u32-strcat.c: New file.
31216
31217         Tests for module 'unistr/u16-strcat'.
31218         * modules/unistr/u16-strcat-tests: New file.
31219         * tests/unistr/test-u16-strcat.c: New file.
31220
31221         Tests for module 'unistr/u8-strcat'.
31222         * modules/unistr/u8-strcat-tests: New file.
31223         * tests/unistr/test-u8-strcat.c: New file.
31224         * tests/unistr/test-strcat.h: New file.
31225
31226         Tests for module 'unistr/u32-stpncpy'.
31227         * modules/unistr/u32-stpncpy-tests: New file.
31228         * tests/unistr/test-u32-stpncpy.c: New file.
31229
31230         Tests for module 'unistr/u16-stpncpy'.
31231         * modules/unistr/u16-stpncpy-tests: New file.
31232         * tests/unistr/test-u16-stpncpy.c: New file.
31233
31234         Tests for module 'unistr/u8-stpncpy'.
31235         * modules/unistr/u8-stpncpy-tests: New file.
31236         * tests/unistr/test-u8-stpncpy.c: New file.
31237         * tests/unistr/test-stpncpy.h: New file.
31238
31239         Tests for module 'unistr/u32-strncpy'.
31240         * modules/unistr/u32-strncpy-tests: New file.
31241         * tests/unistr/test-u32-strncpy.c: New file.
31242
31243         Tests for module 'unistr/u16-strncpy'.
31244         * modules/unistr/u16-strncpy-tests: New file.
31245         * tests/unistr/test-u16-strncpy.c: New file.
31246
31247         Tests for module 'unistr/u8-strncpy'.
31248         * modules/unistr/u8-strncpy-tests: New file.
31249         * tests/unistr/test-u8-strncpy.c: New file.
31250         * tests/unistr/test-strncpy.h: New file.
31251
31252         Tests for module 'unistr/u32-stpcpy'.
31253         * modules/unistr/u32-stpcpy-tests: New file.
31254         * tests/unistr/test-u32-stpcpy.c: New file.
31255
31256         Tests for module 'unistr/u16-stpcpy'.
31257         * modules/unistr/u16-stpcpy-tests: New file.
31258         * tests/unistr/test-u16-stpcpy.c: New file.
31259
31260         Tests for module 'unistr/u8-stpcpy'.
31261         * modules/unistr/u8-stpcpy-tests: New file.
31262         * tests/unistr/test-u8-stpcpy.c: New file.
31263         * tests/unistr/test-stpcpy.h: New file.
31264
31265         Tests for module 'unistr/u32-strcpy'.
31266         * modules/unistr/u32-strcpy-tests: New file.
31267         * tests/unistr/test-u32-strcpy.c: New file.
31268
31269         Tests for module 'unistr/u16-strcpy'.
31270         * modules/unistr/u16-strcpy-tests: New file.
31271         * tests/unistr/test-u16-strcpy.c: New file.
31272
31273         Tests for module 'unistr/u8-strcpy'.
31274         * modules/unistr/u8-strcpy-tests: New file.
31275         * tests/unistr/test-u8-strcpy.c: New file.
31276         * tests/unistr/test-strcpy.h: New file.
31277
31278         Tests for module 'unistr/u32-strnlen'.
31279         * modules/unistr/u32-strnlen-tests: New file.
31280         * tests/unistr/test-u32-strnlen.c: New file.
31281
31282         Tests for module 'unistr/u16-strnlen'.
31283         * modules/unistr/u16-strnlen-tests: New file.
31284         * tests/unistr/test-u16-strnlen.c: New file.
31285
31286         Tests for module 'unistr/u8-strnlen'.
31287         * modules/unistr/u8-strnlen-tests: New file.
31288         * tests/unistr/test-u8-strnlen.c: New file.
31289         * tests/unistr/test-strnlen.h: New file.
31290
31291         Tests for module 'unistr/u32-strlen'.
31292         * modules/unistr/u32-strlen-tests: New file.
31293         * tests/unistr/test-u32-strlen.c: New file.
31294
31295         Tests for module 'unistr/u16-strlen'.
31296         * modules/unistr/u16-strlen-tests: New file.
31297         * tests/unistr/test-u16-strlen.c: New file.
31298
31299         Tests for module 'unistr/u8-strlen'.
31300         * modules/unistr/u8-strlen-tests: New file.
31301         * tests/unistr/test-u8-strlen.c: New file.
31302
31303         Tests for module 'unistr/u32-prev'.
31304         * modules/unistr/u32-prev-tests: New file.
31305         * tests/unistr/test-u32-prev.c: New file.
31306
31307         Tests for module 'unistr/u16-prev'.
31308         * modules/unistr/u16-prev-tests: New file.
31309         * tests/unistr/test-u16-prev.c: New file.
31310
31311         Tests for module 'unistr/u8-prev'.
31312         * modules/unistr/u8-prev-tests: New file.
31313         * tests/unistr/test-u8-prev.c: New file.
31314
31315         Tests for module 'unistr/u32-next'.
31316         * modules/unistr/u32-next-tests: New file.
31317         * tests/unistr/test-u32-next.c: New file.
31318
31319         Tests for module 'unistr/u16-next'.
31320         * modules/unistr/u16-next-tests: New file.
31321         * tests/unistr/test-u16-next.c: New file.
31322
31323         Tests for module 'unistr/u8-next'.
31324         * modules/unistr/u8-next-tests: New file.
31325         * tests/unistr/test-u8-next.c: New file.
31326
31327         Tests for module 'unistr/u32-strmbtouc'.
31328         * modules/unistr/u32-strmbtouc-tests: New file.
31329         * tests/unistr/test-u32-strmbtouc.c: New file.
31330
31331         Tests for module 'unistr/u16-strmbtouc'.
31332         * modules/unistr/u16-strmbtouc-tests: New file.
31333         * tests/unistr/test-u16-strmbtouc.c: New file.
31334
31335         Tests for module 'unistr/u8-strmbtouc'.
31336         * modules/unistr/u8-strmbtouc-tests: New file.
31337         * tests/unistr/test-u8-strmbtouc.c: New file.
31338
31339         Tests for module 'unistr/u32-strmblen'.
31340         * modules/unistr/u32-strmblen-tests: New file.
31341         * tests/unistr/test-u32-strmblen.c: New file.
31342
31343         Tests for module 'unistr/u16-strmblen'.
31344         * modules/unistr/u16-strmblen-tests: New file.
31345         * tests/unistr/test-u16-strmblen.c: New file.
31346
31347         Tests for module 'unistr/u8-strmblen'.
31348         * modules/unistr/u8-strmblen-tests: New file.
31349         * tests/unistr/test-u8-strmblen.c: New file.
31350
31351         Tests for module 'unistr/u32-cpy-alloc'.
31352         * modules/unistr/u32-cpy-alloc-tests: New file.
31353         * tests/unistr/test-u32-cpy-alloc.c: New file.
31354
31355         Tests for module 'unistr/u16-cpy-alloc'.
31356         * modules/unistr/u16-cpy-alloc-tests: New file.
31357         * tests/unistr/test-u16-cpy-alloc.c: New file.
31358
31359         Tests for module 'unistr/u8-cpy-alloc'.
31360         * modules/unistr/u8-cpy-alloc-tests: New file.
31361         * tests/unistr/test-u8-cpy-alloc.c: New file.
31362         * tests/unistr/test-cpy-alloc.h: New file.
31363
31364         Tests for module 'unistr/u32-mbsnlen'.
31365         * modules/unistr/u32-mbsnlen-tests: New file.
31366         * tests/unistr/test-u32-mbsnlen.c: New file.
31367
31368         Tests for module 'unistr/u16-mbsnlen'.
31369         * modules/unistr/u16-mbsnlen-tests: New file.
31370         * tests/unistr/test-u16-mbsnlen.c: New file.
31371
31372         Tests for module 'unistr/u8-mbsnlen'.
31373         * modules/unistr/u8-mbsnlen-tests: New file.
31374         * tests/unistr/test-u8-mbsnlen.c: New file.
31375
31376         Tests for module 'unistr/u32-chr'.
31377         * modules/unistr/u32-chr-tests: New file.
31378         * tests/unistr/test-u32-chr.c: New file.
31379
31380         Tests for module 'unistr/u16-chr'.
31381         * modules/unistr/u16-chr-tests: New file.
31382         * tests/unistr/test-u16-chr.c: New file.
31383
31384         Tests for module 'unistr/u8-chr'.
31385         * modules/unistr/u8-chr-tests: New file.
31386         * tests/unistr/test-u8-chr.c: New file.
31387         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
31388
31389         Tests for module 'unistr/u32-cmp2'.
31390         * modules/unistr/u32-cmp2-tests: New file.
31391         * tests/unistr/test-u32-cmp2.c: New file.
31392
31393         Tests for module 'unistr/u16-cmp2'.
31394         * modules/unistr/u16-cmp2-tests: New file.
31395         * tests/unistr/test-u16-cmp2.c: New file.
31396
31397         Tests for module 'unistr/u8-cmp2'.
31398         * modules/unistr/u8-cmp2-tests: New file.
31399         * tests/unistr/test-u8-cmp2.c: New file.
31400         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
31401
31402         Tests for module 'unistr/u32-cmp'.
31403         * modules/unistr/u32-cmp-tests: New file.
31404         * tests/unistr/test-u32-cmp.c: New file.
31405
31406         Tests for module 'unistr/u16-cmp'.
31407         * modules/unistr/u16-cmp-tests: New file.
31408         * tests/unistr/test-u16-cmp.c: New file.
31409
31410         Tests for module 'unistr/u8-cmp'.
31411         * modules/unistr/u8-cmp-tests: New file.
31412         * tests/unistr/test-u8-cmp.c: New file.
31413         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
31414
31415         Tests for module 'unistr/u32-set'.
31416         * modules/unistr/u32-set-tests: New file.
31417         * tests/unistr/test-u32-set.c: New file.
31418
31419         Tests for module 'unistr/u16-set'.
31420         * modules/unistr/u16-set-tests: New file.
31421         * tests/unistr/test-u16-set.c: New file.
31422
31423         Tests for module 'unistr/u8-set'.
31424         * modules/unistr/u8-set-tests: New file.
31425         * tests/unistr/test-u8-set.c: New file.
31426         * tests/unistr/test-set.h: New file.
31427
31428         Tests for module 'unistr/u32-move'.
31429         * modules/unistr/u32-move-tests: New file.
31430         * tests/unistr/test-u32-move.c: New file.
31431
31432         Tests for module 'unistr/u16-move'.
31433         * modules/unistr/u16-move-tests: New file.
31434         * tests/unistr/test-u16-move.c: New file.
31435
31436         Tests for module 'unistr/u8-move'.
31437         * modules/unistr/u8-move-tests: New file.
31438         * tests/unistr/test-u8-move.c: New file.
31439         * tests/unistr/test-move.h: New file.
31440
31441         Tests for module 'unistr/u32-cpy'.
31442         * modules/unistr/u32-cpy-tests: New file.
31443         * tests/unistr/test-u32-cpy.c: New file.
31444
31445         Tests for module 'unistr/u16-cpy'.
31446         * modules/unistr/u16-cpy-tests: New file.
31447         * tests/unistr/test-u16-cpy.c: New file.
31448
31449         Tests for module 'unistr/u8-cpy'.
31450         * modules/unistr/u8-cpy-tests: New file.
31451         * tests/unistr/test-u8-cpy.c: New file.
31452         * tests/unistr/test-cpy.h: New file.
31453
31454 2010-01-09  Bruno Haible  <bruno@clisp.org>
31455
31456         Tests for module 'unistr/u32-uctomb'.
31457         * modules/unistr/u32-uctomb-tests: New file.
31458         * tests/unistr/test-u32-uctomb.c: New file.
31459
31460         Tests for module 'unistr/u16-uctomb'.
31461         * modules/unistr/u16-uctomb-tests: New file.
31462         * tests/unistr/test-u16-uctomb.c: New file.
31463
31464         Tests for module 'unistr/u8-uctomb'.
31465         * modules/unistr/u8-uctomb-tests: New file.
31466         * tests/unistr/test-u8-uctomb.c: New file.
31467
31468         Tests for module 'unistr/u32-mbtoucr'.
31469         * modules/unistr/u32-mbtoucr-tests: New file.
31470         * tests/unistr/test-u32-mbtoucr.c: New file.
31471
31472         Tests for module 'unistr/u16-mbtoucr'.
31473         * modules/unistr/u16-mbtoucr-tests: New file.
31474         * tests/unistr/test-u16-mbtoucr.c: New file.
31475
31476         Tests for module 'unistr/u8-mbtoucr'.
31477         * modules/unistr/u8-mbtoucr-tests: New file.
31478         * tests/unistr/test-u8-mbtoucr.c: New file.
31479
31480         Tests for module 'unistr/u32-mbtouc'.
31481         * modules/unistr/u32-mbtouc-tests: New file.
31482         * tests/unistr/test-u32-mbtouc.c: New file.
31483
31484         Tests for module 'unistr/u16-mbtouc'.
31485         * modules/unistr/u16-mbtouc-tests: New file.
31486         * tests/unistr/test-u16-mbtouc.c: New file.
31487
31488         Tests for module 'unistr/u8-mbtouc'.
31489         * modules/unistr/u8-mbtouc-tests: New file.
31490         * tests/unistr/test-u8-mbtouc.c: New file.
31491
31492         Tests for module 'unistr/u32-mbtouc-unsafe'.
31493         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
31494         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
31495         * tests/unistr/test-u32-mbtouc.h: New file.
31496
31497         Tests for module 'unistr/u16-mbtouc-unsafe'.
31498         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
31499         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
31500         * tests/unistr/test-u16-mbtouc.h: New file.
31501
31502         Tests for module 'unistr/u8-mbtouc-unsafe'.
31503         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
31504         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
31505         * tests/unistr/test-u8-mbtouc.h: New file.
31506
31507         Tests for module 'unistr/u32-mblen'.
31508         * modules/unistr/u32-mblen-tests: New file.
31509         * tests/unistr/test-u32-mblen.c: New file.
31510
31511         Tests for module 'unistr/u16-mblen'.
31512         * modules/unistr/u16-mblen-tests: New file.
31513         * tests/unistr/test-u16-mblen.c: New file.
31514
31515         Tests for module 'unistr/u8-mblen'.
31516         * modules/unistr/u8-mblen-tests: New file.
31517         * tests/unistr/test-u8-mblen.c: New file.
31518
31519         Tests for module 'unistr/u32-to-u16'.
31520         * modules/unistr/u32-to-u16-tests: New file.
31521         * tests/unistr/test-u32-to-u16.c: New file.
31522
31523         Tests for module 'unistr/u32-to-u8'.
31524         * modules/unistr/u32-to-u8-tests: New file.
31525         * tests/unistr/test-u32-to-u8.c: New file.
31526
31527         Tests for module 'unistr/u16-to-u32'.
31528         * modules/unistr/u16-to-u32-tests: New file.
31529         * tests/unistr/test-u16-to-u32.c: New file.
31530
31531         Tests for module 'unistr/u16-to-u8'.
31532         * modules/unistr/u16-to-u8-tests: New file.
31533         * tests/unistr/test-u16-to-u8.c: New file.
31534
31535         Tests for module 'unistr/u8-to-u32'.
31536         * modules/unistr/u8-to-u32-tests: New file.
31537         * tests/unistr/test-u8-to-u32.c: New file.
31538
31539         Tests for module 'unistr/u8-to-u16'.
31540         * modules/unistr/u8-to-u16-tests: New file.
31541         * tests/unistr/test-u8-to-u16.c: New file.
31542
31543         Tests for module 'unistr/u32-check'.
31544         * modules/unistr/u32-check-tests: New file.
31545         * tests/unistr/test-u32-check.c: New file.
31546
31547         Tests for module 'unistr/u16-check'.
31548         * modules/unistr/u16-check-tests: New file.
31549         * tests/unistr/test-u16-check.c: New file.
31550
31551         Tests for module 'unistr/u8-check'.
31552         * modules/unistr/u8-check-tests: New file.
31553         * tests/unistr/test-u8-check.c: New file.
31554
31555         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
31556         (category_equals): New function.
31557         (main): Add more tests.
31558         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
31559
31560         * tests/unictype/test-bidi_byname.c (main): Add more tests.
31561
31562 2010-01-10  Bruno Haible  <bruno@clisp.org>
31563
31564         unistr/u*-strcoll: Try harder to distinguish different strings.
31565         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
31566         compare s1 and s2 to see if they are different.
31567
31568 2010-01-10  Bruno Haible  <bruno@clisp.org>
31569
31570         unistr/u*-stpncpy: Fix the return value.
31571         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
31572         description of the return value consistent with stpncpy in glibc.
31573         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
31574         written non-NUL unit.
31575
31576 2010-01-10  Bruno Haible  <bruno@clisp.org>
31577
31578         unistr/u*-next: Add missing dependencies.
31579         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
31580         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
31581         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
31582
31583 2010-01-10  Bruno Haible  <bruno@clisp.org>
31584
31585         unistr/u8-mbsnlen: Fix return value for incomplete character.
31586         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
31587         u8_mblen.
31588         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
31589         Remove unistr/u8-mblen.
31590         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
31591         u16_mblen.
31592         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
31593         Remove unistr/u16-mblen.
31594
31595 2010-01-10  Bruno Haible  <bruno@clisp.org>
31596
31597         wchar: Fix compilation error when <wchar.h> is used from coreutils.
31598         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
31599         Reported by Brian Gough <bjg@gnu.org> and
31600         Chris Clayton <chris2553@googlemail.com> via
31601         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
31602
31603 2010-01-09  Bruno Haible  <bruno@clisp.org>
31604
31605         unistr/u16-to-u32: Reject invalid input.
31606         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
31607         u16_mbtouc.
31608         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
31609         Remove unistr/u16-mbtouc.
31610
31611         unistr/u16-to-u8: Reject invalid input.
31612         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
31613         u16_mbtouc.
31614         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
31615         Remove unistr/u16-mbtouc.
31616
31617         unistr/u8-to-u32: Reject invalid input.
31618         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
31619         u8_mbtouc.
31620         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
31621         Remove unistr/u8-mbtouc.
31622
31623         unistr/u8-to-u16: Reject invalid input.
31624         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
31625         u8_mbtouc.
31626         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
31627         Remove unistr/u8-mbtouc.
31628
31629 2010-01-09  Bruno Haible  <bruno@clisp.org>
31630
31631         Tests for module 'getlogin'.
31632         * modules/getlogin-tests: New file.
31633         * tests/test-getlogin.c: New file.
31634
31635         New module 'getlogin'.
31636         * lib/unistd.in.h (getlogin): New declaration.
31637         * lib/getlogin.c: New file.
31638         * m4/getlogin.m4: New file.
31639         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
31640         HAVE_GETLOGIN.
31641         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
31642         HAVE_GETLOGIN.
31643         * modules/getlogin: New file.
31644         * doc/posix-functions/getlogin.texi: Mention the new module.
31645         Reported by John W. Eaton <jwe@gnu.org>.
31646
31647 2010-01-09  Bruno Haible  <bruno@clisp.org>
31648
31649         getlogin_r: Support for native Windows.
31650         * lib/getlogin_r.c: Include <windows.h>
31651         (getlogin_r): Implement for native Windows.
31652         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
31653         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
31654         via John W. Eaton <jwe@gnu.org>.
31655
31656 2010-01-09  Bruno Haible  <bruno@clisp.org>
31657
31658         getlogin_r: Small fixes.
31659         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
31660         succeeds.
31661         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
31662         before testing whether getlogin_r is declared. No need to set
31663         HAVE_DECL_GETLOGIN_R to 1.
31664         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
31665
31666 2010-01-09  Bruno Haible  <bruno@clisp.org>
31667
31668         * lib/unistd.in.h (getlogin_r): Add comment.
31669
31670 2010-01-09  Bruno Haible  <bruno@clisp.org>
31671
31672         Tests for module 'getlogin_r'.
31673         * modules/getlogin_r-tests: New file.
31674         * tests/test-getlogin_r.c: New file.
31675
31676 2010-01-09  Jim Meyering  <meyering@redhat.com>
31677
31678         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
31679         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
31680         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
31681
31682 2010-01-08  Simon Josefsson  <simon@josefsson.org>
31683
31684         * lib/dup2.c (rpl_dup2): Improve comment.
31685
31686 2010-01-08  Eric Blake  <ebb9@byu.net>
31687
31688         maint.mk: allow packages to add makefile @@ exceptions
31689         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
31690         (sc_makefile_check): Rename...
31691         (sc_makefile_at_at_check): ...to this, and use hook.
31692
31693         dup2: work around mingw bug
31694         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
31695         Reported by Simon Josefsson.
31696
31697 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
31698
31699         glob: Fix C++ compilation.
31700         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
31701         C++.
31702
31703 2010-01-07  Bruno Haible  <bruno@clisp.org>
31704
31705         Fix indentation of wctype.in.h, broken since 2007-01-06.
31706         * lib/wctype.in.h: Fix indentation of preprocessor directives.
31707
31708 2010-01-07  Bruno Haible  <bruno@clisp.org>
31709
31710         mbslen: Avoid collision with system function.
31711         * lib/string.in.h [MirBSD]: Include <wchar.h>.
31712         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
31713         * m4/mbslen.m4: New file.
31714         * modules/mbslen (Files): Add it.
31715         (configure.ac): Invoke gl_MBSLEN.
31716         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
31717         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
31718         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
31719         via Ian Beckwith <ianb@erislabs.net>.
31720
31721 2010-01-07  Bruno Haible  <bruno@clisp.org>
31722
31723         dirent: Document the last fix.
31724         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
31725
31726 2010-01-07  Bruno Haible  <bruno@clisp.org>
31727
31728         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
31729         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
31730         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
31731         va_list are defined.
31732         * doc/posix-headers/stdio.texi: Document the bug of missing types.
31733         Reported by Eric Blake.
31734
31735 2010-01-07  Bruno Haible  <bruno@clisp.org>
31736
31737         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
31738         * modules/xlist (Depends-on): Add 'list',
31739         * modules/xoset (Depends-on): Add 'oset'.
31740         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31741
31742 2010-01-07  Bruno Haible  <bruno@clisp.org>
31743
31744         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
31745         * doc/posix-functions/strncasecmp.texi: Likewise.
31746
31747 2010-01-07  Bruno Haible  <bruno@clisp.org>
31748
31749         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
31750
31751 2010-01-07  John W. Eaton  <jwe@octave.org>
31752
31753         wctype: allow C++ use
31754         * lib/wctype.in.h: Add extern "C" block for C++.
31755
31756 2010-01-06  Eric Blake  <ebb9@byu.net>
31757
31758         maint.mk: detect incorrect GFDL usage
31759         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
31760
31761 2010-01-06  Jim Meyering  <meyering@redhat.com>
31762         and Eric Blake  <ebb9@byu.net>
31763
31764         maint.mk: ignore multi-line copyright in NEWS
31765         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
31766
31767 2010-01-06  Eric Blake  <ebb9@byu.net>
31768
31769         select: add missing dependency
31770         * modules/select-tests (Depends-on): Move sockets dependency...
31771         * modules/select (Depends-on): ...here.
31772         Reported by Ian Beckwith.
31773
31774         doc: regenerate INSTALL
31775         * doc/INSTALL: Reflect recent autoconf update.
31776         * doc/INSTALL.ISO: Likewise.
31777         * doc/INSTALL.UTF-8: Likewise.
31778
31779         pread: fix compilation on glibc
31780         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
31781         Reported by Ralf Wildenhues.
31782
31783         dirent: fix test failure
31784         * lib/dirent.in.h (includes): Guarantee ino_t.
31785         Reported by Ralf Wildenhues.
31786
31787 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
31788
31789         linkat, renameat: avoid bad free
31790         * lib/at-func2.c (at_func2): Fix typo.
31791         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
31792
31793 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31794
31795         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
31796         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
31797         to avoid failure of symlink test later.
31798
31799 2010-01-06  Eric Blake  <ebb9@byu.net>
31800
31801         stdio, unistd: guarantee ssize_t
31802         * lib/unistd.in.h (includes): Ensure that types required by POSIX
31803         2008 are exposed when needed.
31804         * lib/stdio.in.h (includes): Likewise.
31805         Reported by Ralf Wildenhues.
31806
31807 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
31808
31809         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
31810         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
31811         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
31812
31813 2010-01-06  Jim Meyering  <meyering@redhat.com>
31814
31815         readtokens: this module *does* require xalloc.h
31816         It uses only functions that were omitted by the old syntax-check rule.
31817         * lib/readtokens.c: Include "xalloc.h" once again.
31818         * modules/readtokens (Depends-on): Add xalloc.
31819         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
31820
31821 2010-01-05  Eric Blake  <ebb9@byu.net>
31822
31823         maint: support 'make announcement' from a VPATH build
31824         * top/maint.mk (announcement): Look for correct NEWS file.
31825
31826 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
31827
31828         utimens (fdutimens): ignore a negative FD, per contract
31829         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
31830         when we have a valid file descriptor.  Otherwise, using a brand
31831         new glibc (with just-patched futimens that now fails with EBADF)
31832         would cause this function to fail with ENOSYS.
31833         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
31834         See also http://bugzilla.redhat.com/552320.
31835
31836 2010-01-05  Eric Blake  <ebb9@byu.net>
31837
31838         strcase: document what it provides
31839         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
31840         gnulib module.
31841         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
31842         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
31843
31844 2010-01-05  Jim Meyering  <meyering@redhat.com>
31845
31846         maint: remove useless inclusions of "xalloc.h"
31847         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
31848         * lib/readtokens.c: Likewise.
31849         * lib/same.c: Likewise.
31850         * modules/getloadavg (Depends-on): Remove xalloc.
31851         * modules/readtokens: Likewise.
31852         * modules/same: Likewise.
31853
31854         maint.mk: include 4 more function names in alloca.h-checking regexp
31855         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
31856         regexp.  Before, we would give a false-positive (saying alloca.h
31857         is included unnecessarily) when the only uses involved omitted symbols.
31858
31859         xalloc.h: use consistent formatting
31860         * lib/xalloc.h: Move declarations to start in the first column.
31861
31862 2010-01-05  Eric Blake  <ebb9@byu.net>
31863
31864         mkdir: avoid xalloc
31865         * lib/mkdir.c (includes): Drop unused header.
31866         Reported by John W. Eaton.
31867
31868 2010-01-04  Jim Meyering  <meyering@redhat.com>
31869
31870         nl_langinfo: avoid configure-time syntax error
31871         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
31872         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
31873         the empty string.  Don't let that provoke a shell syntax error.
31874
31875         regcomp, regexec, fnmatch: avoid array bounds read error
31876         * lib/regcomp.c (build_equiv_class): From glibc:
31877         Use only the low 24 bits of a findidx return value as an index
31878         into the weights array.  Patch by Ulrich Drepper:
31879         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
31880         * lib/regexec.c (check_node_accept_bytes): Likewise.
31881         * lib/fnmatch_loop.c (FCT): Likewise.
31882
31883         regcomp: skip collseq lookup when there are no rules
31884         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
31885         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
31886
31887         regcomp: recognize ill-formed { } expressions
31888         * lib/regcomp.c (parse_dup_op): From glibc:
31889         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
31890
31891         regcomp: fix typo in comment
31892         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
31893         s/satisfy/satisfies/.
31894
31895         regcomp: sync from glibc: remove dead store
31896         * lib/regcomp.c (duplicate_node_closure): Remove useless
31897         search_duplicated_node call and dead store.
31898
31899         regcomp: sync from glibc; always use nl_langinfo
31900         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
31901         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
31902         * modules/regex (Depends-on): Add nl_langinfo.
31903
31904 2010-01-04  Eric Blake  <ebb9@byu.net>
31905
31906         fdopendir: fix configure test
31907         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
31908
31909 2010-01-01  Bruno Haible  <bruno@clisp.org>
31910
31911         wchar: Remove unused configure check.
31912         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
31913
31914 2010-01-01  Eric Blake  <ebb9@byu.net>
31915
31916         headers: make check of system header explicit
31917         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
31918         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
31919         ourselves.
31920         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31921         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31922         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
31923         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
31924         internals.
31925         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
31926         missing.
31927         Suggested by Bruno Haible.
31928
31929 2010-01-01  Jim Meyering  <meyering@redhat.com>
31930
31931         ChangeLog: tweak to eliminate unnecessary copyright line
31932         * ChangeLog: Remove a copyright line that was mistakenly updated
31933         by today's update-copyright run.  Reported by Eric Blake.
31934
31935         test-update-copyright: don't let envvar setting cause test failure
31936         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
31937
31938 2010-01-01  Bruno Haible  <bruno@clisp.org>
31939
31940         localename: Avoid gcc warning.
31941         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
31942         function if it is not used.
31943
31944 2010-01-01  Jim Meyering  <meyering@redhat.com>
31945
31946         update nearly all FSF copyright year lists to include 2010
31947         Use the same procedure as for 2009, outlined in
31948         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
31949
31950         version-etc: set COPYRIGHT_YEAR to 2010
31951         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
31952
31953 2009-12-31  Eric Blake  <ebb9@byu.net>
31954
31955         doc: correct availability of cygwin 1.5.x getopt
31956         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
31957         variables.
31958         * doc/posix-functions/opterr.texi (opterr): Likewise.
31959         * doc/posix-functions/optind.texi (optind): Likewise.
31960         * doc/posix-functions/optopt.texi (optopt): Likewise.
31961         * doc/posix-functions/tzname.texi (tzname): Likewise.
31962
31963         openat: update maintainer
31964         * modules/openat (Maintainer): Add myself.
31965
31966         utimens: avoid shadowing warning
31967         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
31968         buffers into one, to avoid shadowing, as well as avoiding a
31969         redundant stat.
31970         Reported by Jim Meyering.
31971
31972         test-dup2: avoid compiler warning
31973         * tests/test-dup2.c (is_inheritable): Only define if used.
31974
31975 2010-01-01  Bruno Haible  <bruno@clisp.org>
31976
31977         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
31978         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
31979         defined, use wctomb instead of wcrtomb.
31980
31981 2010-01-01  Bruno Haible  <bruno@clisp.org>
31982
31983         iconv: Reject native Solaris iconv.
31984         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
31985         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
31986
31987 2009-12-31  Bruno Haible  <bruno@clisp.org>
31988
31989         * tests/test-signal.c (main): Remove test of 'SIG'.
31990
31991 2009-12-31  Bruno Haible  <bruno@clisp.org>
31992
31993         spawn: Fix incomplete fix.
31994         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31995         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31996         warnings for GNULIB_POSIXCHECK again.
31997         Reported by Eric Blake.
31998
31999 2009-12-31  Bruno Haible  <bruno@clisp.org>
32000
32001         Avoid namespace pollution on glibc systems.
32002         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
32003         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
32004         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
32005         glibc systems.
32006
32007 2009-12-31  Bruno Haible  <bruno@clisp.org>
32008
32009         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
32010         (gl_REPLACE_WCHAR_H): Turn into a no-op.
32011         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
32012         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
32013         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
32014         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
32015         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
32016
32017 2009-12-31  Bruno Haible  <bruno@clisp.org>
32018
32019         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
32020         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
32021         afterwards.
32022
32023 2009-12-31  Bruno Haible  <bruno@clisp.org>
32024
32025         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
32026         SYS_UTSNAME_H.
32027
32028 2009-12-31  Bruno Haible  <bruno@clisp.org>
32029
32030         spawn: Fix misapplied patch.
32031         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
32032         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
32033         warnings for GNULIB_POSIXCHECK.
32034
32035 2009-12-31  Bruno Haible  <bruno@clisp.org>
32036
32037         times: Update after sys_times changed.
32038         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
32039         * modules/times (Files): Add it.
32040         (configure.ac): Invoke gl_FUNC_TIMES.
32041
32042 2009-12-31  Bruno Haible  <bruno@clisp.org>
32043
32044         Use AC_C_INLINE where necessary.
32045         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
32046         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
32047         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
32048         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
32049         * m4/mbfile.m4 (gl_MBFILE): Likewise.
32050         * m4/mbiter.m4 (gl_MBITER): Likewise.
32051         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32052         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
32053         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
32054         * modules/u64 (configure.ac): Likewise.
32055
32056 2009-12-31  Bruno Haible  <bruno@clisp.org>
32057
32058         Use AC_C_INLINE instead of module 'inline' where possible.
32059         * modules/inline (Description): Clarify purpose.
32060         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
32061         * modules/count-one-bits (Depends-on): Remove inline.
32062         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
32063         * modules/openat (Depends-on): Remove inline.
32064         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
32065         instead of depending on module 'inline'.
32066         * modules/filevercmp (Depends-on, configure.ac): Likewise.
32067         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
32068         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
32069         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
32070         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
32071         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
32072         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
32073         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
32074         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
32075         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
32076         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
32077         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
32078         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
32079         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
32080         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
32081         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
32082         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
32083         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
32084         Likewise.
32085         * modules/unictype/property-ascii-hex-digit (Depends-on,
32086         configure.ac): Likewise.
32087         * modules/unictype/property-bidi-arabic-digit (Depends-on,
32088         configure.ac): Likewise.
32089         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
32090         configure.ac): Likewise.
32091         * modules/unictype/property-bidi-block-separator (Depends-on,
32092         configure.ac): Likewise.
32093         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
32094         configure.ac): Likewise.
32095         * modules/unictype/property-bidi-common-separator (Depends-on,
32096         configure.ac): Likewise.
32097         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
32098         Likewise.
32099         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
32100         configure.ac): Likewise.
32101         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
32102         configure.ac): Likewise.
32103         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
32104         configure.ac): Likewise.
32105         * modules/unictype/property-bidi-european-digit (Depends-on,
32106         configure.ac): Likewise.
32107         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
32108         configure.ac): Likewise.
32109         * modules/unictype/property-bidi-left-to-right (Depends-on,
32110         configure.ac): Likewise.
32111         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
32112         configure.ac): Likewise.
32113         * modules/unictype/property-bidi-other-neutral (Depends-on,
32114         configure.ac): Likewise.
32115         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
32116         Likewise.
32117         * modules/unictype/property-bidi-segment-separator (Depends-on,
32118         configure.ac): Likewise.
32119         * modules/unictype/property-bidi-whitespace (Depends-on,
32120         configure.ac): Likewise.
32121         * modules/unictype/property-combining (Depends-on, configure.ac):
32122         Likewise.
32123         * modules/unictype/property-composite (Depends-on, configure.ac):
32124         Likewise.
32125         * modules/unictype/property-currency-symbol (Depends-on,
32126         configure.ac): Likewise.
32127         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
32128         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
32129         Likewise.
32130         * modules/unictype/property-default-ignorable-code-point (Depends-on,
32131         configure.ac): Likewise.
32132         * modules/unictype/property-deprecated (Depends-on, configure.ac):
32133         Likewise.
32134         * modules/unictype/property-diacritic (Depends-on, configure.ac):
32135         Likewise.
32136         * modules/unictype/property-extender (Depends-on, configure.ac):
32137         Likewise.
32138         * modules/unictype/property-format-control (Depends-on, configure.ac):
32139         Likewise.
32140         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
32141         Likewise.
32142         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
32143         Likewise.
32144         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
32145         Likewise.
32146         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
32147         Likewise.
32148         * modules/unictype/property-hyphen (Depends-on, configure.ac):
32149         Likewise.
32150         * modules/unictype/property-id-continue (Depends-on, configure.ac):
32151         Likewise.
32152         * modules/unictype/property-id-start (Depends-on, configure.ac):
32153         Likewise.
32154         * modules/unictype/property-ideographic (Depends-on, configure.ac):
32155         Likewise.
32156         * modules/unictype/property-ids-binary-operator (Depends-on,
32157         configure.ac): Likewise.
32158         * modules/unictype/property-ids-trinary-operator (Depends-on,
32159         configure.ac): Likewise.
32160         * modules/unictype/property-ignorable-control (Depends-on,
32161         configure.ac): Likewise.
32162         * modules/unictype/property-iso-control (Depends-on, configure.ac):
32163         Likewise.
32164         * modules/unictype/property-join-control (Depends-on, configure.ac):
32165         Likewise.
32166         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
32167         Likewise.
32168         * modules/unictype/property-line-separator (Depends-on, configure.ac):
32169         Likewise.
32170         * modules/unictype/property-logical-order-exception (Depends-on,
32171         configure.ac): Likewise.
32172         * modules/unictype/property-lowercase (Depends-on, configure.ac):
32173         Likewise.
32174         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
32175         * modules/unictype/property-non-break (Depends-on, configure.ac):
32176         Likewise.
32177         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
32178         Likewise.
32179         * modules/unictype/property-numeric (Depends-on, configure.ac):
32180         Likewise.
32181         * modules/unictype/property-other-alphabetic (Depends-on,
32182         configure.ac): Likewise.
32183         * modules/unictype/property-other-default-ignorable-code-point
32184         (Depends-on, configure.ac): Likewise.
32185         * modules/unictype/property-other-grapheme-extend (Depends-on,
32186         configure.ac): Likewise.
32187         * modules/unictype/property-other-id-continue (Depends-on,
32188         configure.ac): Likewise.
32189         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
32190         Likewise.
32191         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
32192         Likewise.
32193         * modules/unictype/property-other-math (Depends-on, configure.ac):
32194         Likewise.
32195         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
32196         Likewise.
32197         * modules/unictype/property-paired-punctuation (Depends-on,
32198         configure.ac): Likewise.
32199         * modules/unictype/property-paragraph-separator (Depends-on,
32200         configure.ac): Likewise.
32201         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
32202         Likewise.
32203         * modules/unictype/property-pattern-white-space (Depends-on,
32204         configure.ac): Likewise.
32205         * modules/unictype/property-private-use (Depends-on, configure.ac):
32206         Likewise.
32207         * modules/unictype/property-punctuation (Depends-on, configure.ac):
32208         Likewise.
32209         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
32210         Likewise.
32211         * modules/unictype/property-radical (Depends-on, configure.ac):
32212         Likewise.
32213         * modules/unictype/property-sentence-terminal (Depends-on,
32214         configure.ac): Likewise.
32215         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
32216         Likewise.
32217         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
32218         * modules/unictype/property-terminal-punctuation (Depends-on,
32219         configure.ac): Likewise.
32220         * modules/unictype/property-titlecase (Depends-on, configure.ac):
32221         Likewise.
32222         * modules/unictype/property-unassigned-code-value (Depends-on,
32223         configure.ac): Likewise.
32224         * modules/unictype/property-unified-ideograph (Depends-on,
32225         configure.ac): Likewise.
32226         * modules/unictype/property-uppercase (Depends-on, configure.ac):
32227         Likewise.
32228         * modules/unictype/property-variation-selector (Depends-on,
32229         configure.ac): Likewise.
32230         * modules/unictype/property-white-space (Depends-on, configure.ac):
32231         Likewise.
32232         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
32233         Likewise.
32234         * modules/unictype/property-xid-start (Depends-on, configure.ac):
32235         Likewise.
32236         * modules/unictype/property-zero-width (Depends-on, configure.ac):
32237         Likewise.
32238         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
32239         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
32240         Likewise.
32241
32242 2009-12-31  Bruno Haible  <bruno@clisp.org>
32243
32244         Remove unnecessary AC_C_INLINE invocation.
32245         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
32246         since 2009-08-21.
32247
32248 2009-12-31  Jim Meyering  <meyering@redhat.com>
32249
32250         maint.mk: don't require explicit gpg_key_ID in cfg.mk
32251         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
32252         With this change, we can all remove the gpg_key_ID = ... definition
32253         from our respective cfg.mk files.
32254
32255         maint.mk: create announcement template in ~/, not in /tmp
32256         * top/maint.mk (emit_upload_commands): Adjust.
32257         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
32258         Remove temporary file, .ci-msg.
32259
32260 2009-12-31  Eric Blake  <ebb9@byu.net>
32261
32262         link-warning: always build headers with link warnings
32263         * modules/arpa_inet (Makefile.am): Always build replacement
32264         header.
32265         * modules/ctype (Makefile.am): Likewise.
32266         * modules/dirent (Makefile.am): Likewise.
32267         * modules/inttypes (Makefile.am): Likewise.
32268         * modules/langinfo (Makefile.am): Likewise.
32269         * modules/locale (Makefile.am): Likewise.
32270         * modules/spawn (Makefile.am): Likewise.
32271         * modules/sys_file (Makefile.am): Likewise.
32272         * modules/sys_ioctl (Makefile.am): Likewise.
32273         * modules/sys_select (Makefile.am): Likewise.
32274         * modules/sys_socket (Makefile.am): Likewise.
32275         * modules/sys_times (Makefile.am): Likewise.
32276         * modules/sys_utsname (Makefile.am): Likewise.
32277         * modules/sys_wait (Makefile.am): Likewise.
32278         * modules/wchar (Makefile.am): Likewise.
32279         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
32280         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
32281         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
32282         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
32283         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
32284         Likewise.
32285         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32286         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32287         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
32288         Likewise.
32289         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
32290         Likewise.
32291         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
32292         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
32293         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
32294         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32295         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32296         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
32297         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
32298         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
32299         (gl_WCHAR_H_DEFAULTS): Likewise.
32300
32301 2009-12-31  Eric Blake  <ebb9@byu.net>
32302
32303         signal, spawn: use link warnings
32304         * lib/signal.in.h (sigset_t): Make unconditional.
32305         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
32306         (sigpending, sigprocmask, sigaction): Add link warnings.
32307         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
32308         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
32309         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
32310         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
32311         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
32312         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
32313         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
32314         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
32315         (posix_spawn_file_actions_destroy)
32316         (posix_spawn_file_actions_addopen)
32317         (posix_spawn_file_actions_addclose)
32318         (posix_spawn_file_actions_adddup2): Likewise.
32319         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
32320         * tests/test-signal.c (main): Enhance test.
32321
32322         spawn: improve wrapper support
32323         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
32324         (gl_SPAWN_H_DEFAULTS): New defaults.
32325         * modules/spawn (Makefile.am): Substitute them.
32326         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
32327         Only declare if missing or broken.
32328
32329         sys_times, sys_utsname: use include_next
32330         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
32331         header.
32332         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
32333         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
32334         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
32335         * modules/sys_times (Depends-on): Add include_next.
32336         (Makefile.am): Substitute additional values.
32337         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
32338         * lib/sys_times.in.h (includes): Include native header, if
32339         available.
32340         * lib/sys_utsname.in.h (includes): Likewise.
32341         * tests/test-sys_times.c (main): Enhance test.
32342
32343         fdutimensat: revert prior patch
32344         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
32345         utimens.h.
32346         Reported by Bruno Haible.
32347
32348 2009-12-30  Eric Blake  <ebb9@byu.net>
32349
32350         sys_wait: drop link-warning dependency
32351         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
32352         link-warning efforts.
32353         * lib/sys_wait.in.h: Likewise.
32354
32355         fdutimensat: remove bogus dependency
32356         * modules/fdutimensat (Depends-on): Drop inline.
32357
32358         unistd: fix typo
32359         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
32360
32361 2009-12-30  Bruno Haible  <bruno@clisp.org>
32362
32363         Fix compilation error with Solaris cc.
32364         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
32365         * lib/unicase/u16-is-invariant.c: Likewise.
32366         * lib/unicase/u32-is-invariant.c: Likewise.
32367         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
32368
32369 2009-12-30  Bruno Haible  <bruno@clisp.org>
32370
32371         Fix test crash.
32372         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
32373         locales.
32374         Reported by Simon Josefsson <simon@josefsson.org>.
32375
32376 2009-12-30  Bruno Haible  <bruno@clisp.org>
32377
32378         Fix compilation error on most platforms.
32379         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
32380         Reported by Simon Josefsson <simon@josefsson.org>
32381         and Nelson H. F. Beebe <beebe@math.utah.edu>.
32382
32383 2009-12-30  Eric Blake  <ebb9@byu.net>
32384
32385         futimens, utimensat: work around ntfs-3g bug
32386         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
32387         a ctime bug is present, and expand workaround to cover ntfs-3g.
32388         * lib/utimens.c (fdutimens, lutimens): Likewise.
32389         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
32390         (validate_timespec): Adjust return value.
32391         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
32392         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
32393         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
32394
32395 2009-12-29  Eric Blake  <ebb9@byu.net>
32396
32397         link-warning: make usage consistent
32398         * modules/ctype (Depends-on): Add link-warning.
32399         (Makefile.am): Update rules accordingly.
32400         * modules/langinfo (Depends-on, Makefile.am): Likewise.
32401         * modules/locale (Depends-on, Makefile.am): Likewise.
32402         * modules/sys_file (Makefile.am): Likewise.
32403         * modules/getopt-posix (Makefile.am): Delete unused link warning
32404         efforts.
32405         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
32406         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
32407         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
32408         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
32409
32410         stdio: remove unused variables
32411         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
32412         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
32413         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
32414
32415         tests: test more substitute headers
32416         * modules/ctype-tests: New file.
32417         * modules/dirent-tests: Likewise.
32418         * modules/spawn-tests: Likewise.
32419         * modules/sys_file-tests: Likewise.
32420         * modules/sys_ioctl-tests: Likewise.
32421         * modules/sys_wait-tests: Likewise.
32422         * tests/test-ctype.c: Likewise.
32423         * tests/test-dirent.c: Likewise.
32424         * tests/test-spawn.c: Likewise.
32425         * tests/test-sys_file.c: Likewise.
32426         * tests/test-sys_ioctl.c: Likewise.
32427         * tests/test-sys_wait.c: Likewise.
32428         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
32429         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
32430         whether or not flock is in use.
32431
32432         tests: remove License section from module
32433         * modules/arpa_inet-tests: Remove unneeded section.
32434         * modules/byteswap-tests: Likewise.
32435         * modules/ceilf-tests: Likewise.
32436         * modules/ceill-tests: Likewise.
32437         * modules/crypto/des-tests: Likewise.
32438         * modules/crypto/gc-arcfour-tests: Likewise.
32439         * modules/crypto/gc-arctwo-tests: Likewise.
32440         * modules/crypto/gc-des-tests: Likewise.
32441         * modules/crypto/gc-hmac-md5-tests: Likewise.
32442         * modules/crypto/gc-hmac-sha1-tests: Likewise.
32443         * modules/crypto/gc-md2-tests: Likewise.
32444         * modules/crypto/gc-md4-tests: Likewise.
32445         * modules/crypto/gc-md5-tests: Likewise.
32446         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
32447         * modules/crypto/gc-rijndael-tests: Likewise.
32448         * modules/crypto/gc-sha1-tests: Likewise.
32449         * modules/crypto/gc-tests: Likewise.
32450         * modules/crypto/md2-tests: Likewise.
32451         * modules/crypto/md4-tests: Likewise.
32452         * modules/fcntl-h-tests: Likewise.
32453         * modules/floorf-tests: Likewise.
32454         * modules/floorl-tests: Likewise.
32455         * modules/frexp-nolibm-tests: Likewise.
32456         * modules/frexp-tests: Likewise.
32457         * modules/frexpl-nolibm-tests: Likewise.
32458         * modules/frexpl-tests: Likewise.
32459         * modules/getaddrinfo-tests: Likewise.
32460         * modules/inttypes-tests: Likewise.
32461         * modules/isfinite-tests: Likewise.
32462         * modules/isinf-tests: Likewise.
32463         * modules/ldexpl-tests: Likewise.
32464         * modules/locale-tests: Likewise.
32465         * modules/math-tests: Likewise.
32466         * modules/netdb-tests: Likewise.
32467         * modules/netinet_in-tests: Likewise.
32468         * modules/printf-frexp-tests: Likewise.
32469         * modules/printf-frexpl-tests: Likewise.
32470         * modules/priv-set-tests: Likewise.
32471         * modules/random_r-tests: Likewise.
32472         * modules/round-tests: Likewise.
32473         * modules/roundf-tests: Likewise.
32474         * modules/roundl-tests: Likewise.
32475         * modules/search-tests: Likewise.
32476         * modules/select-tests: Likewise.
32477         * modules/signal-tests: Likewise.
32478         * modules/stdbool-tests: Likewise.
32479         * modules/stddef-tests: Likewise.
32480         * modules/stdint-tests: Likewise.
32481         * modules/stdio-tests: Likewise.
32482         * modules/stdlib-tests: Likewise.
32483         * modules/string-tests: Likewise.
32484         * modules/strings-tests: Likewise.
32485         * modules/sys_select-tests: Likewise.
32486         * modules/sys_socket-tests: Likewise.
32487         * modules/sys_stat-tests: Likewise.
32488         * modules/sys_time-tests: Likewise.
32489         * modules/sys_utsname-tests: Likewise.
32490         * modules/sysexits-tests: Likewise.
32491         * modules/time-tests: Likewise.
32492         * modules/trunc-tests: Likewise.
32493         * modules/truncf-tests: Likewise.
32494         * modules/truncl-tests: Likewise.
32495         * modules/tsearch-tests: Likewise.
32496         * modules/unistd-tests: Likewise.
32497         * modules/wchar-tests: Likewise.
32498         * modules/wctype-tests: Likewise.
32499
32500         tests: fix license on several tests
32501         * tests/test-des.c: Update to GPLv3+.
32502         * tests/test-flock.c: Likewise.
32503         * tests/test-fsync.c: Likewise.
32504         * tests/test-futimens.h: Likewise.
32505         * tests/test-gc-arcfour.c: Likewise.
32506         * tests/test-gc-arctwo.c: Likewise.
32507         * tests/test-gc-des.c: Likewise.
32508         * tests/test-gc-hmac-md5.c: Likewise.
32509         * tests/test-gc-hmac-sha1.c: Likewise.
32510         * tests/test-gc-md2.c: Likewise.
32511         * tests/test-gc-md4.c: Likewise.
32512         * tests/test-gc-md5.c: Likewise.
32513         * tests/test-gc-pbkdf2-sha1.c: Likewise.
32514         * tests/test-gc-rijndael.c: Likewise.
32515         * tests/test-gc-sha1.c: Likewise.
32516         * tests/test-gc.c: Likewise.
32517         * tests/test-getcwd.c: Likewise.
32518         * tests/test-link.c: Likewise.
32519         * tests/test-link.h: Likewise.
32520         * tests/test-lutimens.h: Likewise.
32521         * tests/test-md2.c: Likewise.
32522         * tests/test-md4.c: Likewise.
32523         * tests/test-mkdir.h: Likewise.
32524         * tests/test-rename.c: Likewise.
32525         * tests/test-rename.h: Likewise.
32526         * tests/test-safe-alloc.c: Likewise.
32527         * tests/test-utimens-common.h: Likewise.
32528         * tests/test-utimens.h: Likewise.
32529
32530         maint: sync license texts
32531         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
32532         * doc/gpl-3.0.texi: Revert copyright year update.
32533         * doc/lgpl-3.0.texi: Likewise.
32534
32535 2009-12-29  Jim Meyering  <meyering@redhat.com>
32536
32537         update nearly all FSF copyright year lists to include 2009
32538         The files named by the following are exempted:
32539             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
32540               test -f "$dst" && { echo "$dst"; continue; }
32541               test -d "$dst" || continue
32542               echo "$dst"/$(basename "$src")
32543             done > exempt
32544             git ls-files tests/unictype >> exempt
32545         In the remaining files, convert to all-interval notation if
32546         - there is already at least one year interval like 2000-2003
32547         - the file is maintained by me
32548         - the file is in lib/uni*/, where that style already prevails
32549         Otherwise, use update-copyright's default.
32550
32551 2009-12-29  Simon Josefsson  <simon@josefsson.org>
32552         and Eric Blake  <ebb9@byu.net>
32553
32554         tests: don't require debug system() to pass
32555         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
32556         * tests/test-rmdir.h (test_rmdir_func): Likewise.
32557         * tests/test-unlink.h (test_unlink_func): Likewise.
32558         * tests/test-fstatat.c (main): ...into callers.
32559         * tests/test-lstat.c (main): Likewise.
32560         * tests/test-rmdir.c (main): Likewise.
32561         * tests/test-unlink.c (main): Likewise.
32562         * tests/test-unlinkat.c (main): Likewise.
32563         * tests/test-areadlink-with-size.c (main): Don't require a
32564         debug-only system call to pass, aiding cross-testing to mingw.
32565         * tests/test-areadlink.c (main): Likewise.
32566         * tests/test-areadlinkat-with-size.c (main): Likewise.
32567         * tests/test-areadlinkat.c (main): Likewise.
32568         * tests/test-canonicalize-lgpl.c (main): Likewise.
32569         * tests/test-canonicalize.c (main): Likewise.
32570         * tests/test-chown.c (main): Likewise.
32571         * tests/test-fchownat.c (main): Likewise.
32572         * tests/test-lchown.c (main): Likewise.
32573         * tests/test-fdutimensat.c (main): Likewise.
32574         * tests/test-futimens.c (main): Likewise.
32575         * tests/test-link.c (main): Likewise.
32576         * tests/test-linkat.c (main): Likewise.
32577         * tests/test-mkdir.c (main): Likewise.
32578         * tests/test-mkdirat.c (main): Likewise.
32579         * tests/test-mkfifo.c (main): Likewise.
32580         * tests/test-mkfifoat.c (main): Likewise.
32581         * tests/test-mknod.c (main): Likewise.
32582         * tests/test-readlink.c (main): Likewise.
32583         * tests/test-remove.c (main): Likewise.
32584         * tests/test-rename.c (main): Likewise.
32585         * tests/test-renameat.c (main): Likewise.
32586         * tests/test-symlink.c (main): Likewise.
32587         * tests/test-symlinkat.c (main): Likewise.
32588         * tests/test-utimens.c (main): Likewise.
32589         * tests/test-utimensat.c (main): Likewise.
32590
32591 2009-12-29  Simon Josefsson  <simon@josefsson.org>
32592
32593         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
32594         on $(UNUSED_PARAMETER_H) to avoid build failure.
32595
32596 2009-12-28  Jim Meyering  <meyering@redhat.com>
32597
32598         update-copyright: you may specify a max. line length other than 72
32599         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
32600
32601         maint: use consistent FSF copyright line syntax
32602         * lib/posixtm.c: Add missing comma in FSF copyright line.
32603         * lib/posixtm.h: Likewise.
32604         * lib/getugroups.c: Add missing ", Inc.".
32605
32606         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
32607         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
32608         FSF copyright line.  Remove trailing blanks.
32609
32610 2009-12-28  Eric Blake  <ebb9@byu.net>
32611
32612         test-dup2: reduce dependencies
32613         * modules/cloexec (Configure.ac): Set witness.
32614         * modules/dup2-tests (Depends-on): Drop cloexec.
32615         * tests/test-dup2.c (main): Skip portion of test if cloexec module
32616         not present.
32617         Suggested by Bruno Haible.
32618
32619 2009-12-26  Bruno Haible  <bruno@clisp.org>
32620
32621         Remove an unneeded dependency.
32622         * modules/fseterr (Depends-on): Remove dup2.
32623
32624 2009-12-26  Eric Blake  <ebb9@byu.net>
32625
32626         tests: use macros.h in more places
32627         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
32628         (ASSERT_STREAM): Provide default of stderr.
32629         * tests/test-dirent-safer.c: Include macros.h, using alternate
32630         stream for assertions.
32631         * tests/test-dup-safer.c: Likewise.
32632         * tests/test-freopen-safer.c: Likewise.
32633         * tests/test-getopt.c: Likewise.
32634         * tests/test-openat-safer.c: Likewise.
32635         * tests/test-pipe.c: Likewise.
32636         * tests/test-popen-safer.c: Likewise.
32637         * modules/dirent-safer-tests (Files): Include macros.h.
32638         * modules/unistd-safer-tests (Files): Likewise.
32639         * modules/freopen-safer-tests (Files): Likewise.
32640         * modules/getopt-posix-tests (Files): Likewise.
32641         * modules/openat-safer-tests (Files): Likewise.
32642         * modules/pipe-tests (Files): Likewise.
32643
32644 2009-12-26  Bruno Haible  <bruno@clisp.org>
32645
32646         javacomp: Portability fix.
32647         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
32648         that it also works on Solaris.
32649
32650 2009-12-26  Bruno Haible  <bruno@clisp.org>
32651
32652         localename: Fix storage allocation of gl_locale_name_thread's result.
32653         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
32654         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
32655         all platforms that have 'uselocale'.
32656         (gl_locale_name_thread_unsafe): New function, extracted from
32657         gl_locale_name_thread.
32658         (gl_locale_name_thread): Call struniq on all platforms that have
32659         'uselocale'.
32660         * tests/test-localename.c (test_locale_name_thread): Check that the
32661         resulting strings are permanently allocated.
32662         * modules/localename-tests (Depends-on): Add strdup.
32663
32664 2009-12-26  Bruno Haible  <bruno@clisp.org>
32665
32666         * tests/test-localename.c (categories): Fill in the strings.
32667
32668 2009-12-26  Jim Meyering  <meyering@redhat.com>
32669
32670         isdir: complete the removal of m4/isdir.m4
32671         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
32672
32673         isdir: clean up, since at least grep still uses it
32674         * lib/isdir.c: Include "isdir.h".
32675         (S_ISDIR): Remove now-unneeded definition.
32676         * modules/isdir (Files): Add lib/isdir.h.
32677         * lib/isdir.h: New file, with declaration.
32678         * m4/isdir.m4: Remove file -- unneeded.
32679
32680 2009-12-25  Bruno Haible  <bruno@clisp.org>
32681
32682         selinux-h: Make generated .h files standalone.
32683         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
32684         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
32685         * lib/se-selinux.in.h: Likewise.
32686         * modules/selinux-h (Depends-on): Add unused-parameter.
32687         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
32688         selinux/selinux.h and selinux/context.h.
32689         Suggested by Eric Blake.
32690
32691 2009-12-25  Bruno Haible  <bruno@clisp.org>
32692
32693         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
32694         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
32695         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
32696         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
32697         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
32698
32699 2009-12-24  Bruno Haible  <bruno@clisp.org>
32700
32701         openat: Fix warning.
32702         * lib/openat-proc.c: Include <unistd.h>.
32703
32704 2009-12-24  Bruno Haible  <bruno@clisp.org>
32705
32706         New module 'unused-parameter'.
32707         * build-aux/unused-parameter.h: New file, extracted from earlier
32708         gnulib-common.m4.
32709         * modules/unused-parameter: New file.
32710         * lib/unistr.h: Include unused-parameter.h.
32711         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
32712         _GL_UNUSED.
32713         * modules/unistr/base (Depends-on): Add unused-parameter.
32714
32715 2009-12-24  Bruno Haible  <bruno@clisp.org>
32716
32717         Add missing dependencies to 'extensions' module.
32718         * m4/extensions.m4: Add comment.
32719         * modules/accept4 (Depends-on): Add extensions.
32720         * modules/dup3 (Depends-on): Likewise.
32721         * modules/fcntl (Depends-on): Likewise.
32722         * modules/futimens (Depends-on): Likewise.
32723         * modules/mknod (Depends-on): Likewise.
32724         * modules/pipe2 (Depends-on): Likewise.
32725         * modules/stat-time (Depends-on): Likewise.
32726         * modules/strcasestr-simple (Depends-on): Likewise.
32727         * modules/strsignal (Depends-on): Likewise.
32728         * modules/utimensat (Depends-on): Likewise.
32729         * modules/localcharset (Depends-on): Likewise. Needed because of
32730         gl_FCNTL_O_FLAGS.
32731         * modules/wcrtomb (Depends-on): Likewise. Needed because of
32732         AC_TYPE_MBSTATE_T.
32733         * modules/wcsnrtombs (Depends-on): Likewise.
32734         * modules/wcsrtombs (Depends-on): Likewise.
32735
32736 2009-12-24  Bruno Haible  <bruno@clisp.org>
32737
32738         binary-io: Avoid gcc warning due to SET_BINARY.
32739         * lib/binary-io.h (SET_BINARY): Cast the result to void.
32740         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
32741
32742 2009-12-24  Bruno Haible  <bruno@clisp.org>
32743
32744         Avoid future namespace pollution on glibc systems.
32745         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
32746         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
32747         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
32748         glibc systems.
32749
32750 2009-12-24  Bruno Haible  <bruno@clisp.org>
32751
32752         Refactor common macros used in tests.
32753         * tests/macros.h: New file.
32754         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
32755         and/or <stdlib.h>, if appropriate.
32756         (ASSERT, SIZEOF): Remove macros.
32757         * tests/test-areadlink-with-size.c: Likewise.
32758         * tests/test-areadlinkat.c: Likewise.
32759         * tests/test-areadlinkat-with-size.c: Likewise.
32760         * tests/test-argmatch.c: Likewise.
32761         * tests/test-argv-iter.c: Likewise.
32762         * tests/test-array-mergesort.c: Likewise.
32763         * tests/test-array_list.c: Likewise.
32764         * tests/test-array_oset.c: Likewise.
32765         * tests/test-avltree_list.c: Likewise.
32766         * tests/test-avltree_oset.c: Likewise.
32767         * tests/test-avltreehash_list.c: Likewise.
32768         * tests/test-base64.c: Likewise.
32769         * tests/test-binary-io.c: Likewise.
32770         * tests/test-bitrotate.c: Likewise.
32771         * tests/test-btowc.c: Likewise.
32772         * tests/test-byteswap.c: Likewise.
32773         * tests/test-c-ctype.c: Likewise.
32774         * tests/test-c-stack.c: Likewise.
32775         * tests/test-c-strcasecmp.c: Likewise.
32776         * tests/test-c-strcasestr.c: Likewise.
32777         * tests/test-c-strncasecmp.c: Likewise.
32778         * tests/test-c-strstr.c: Likewise.
32779         * tests/test-canonicalize-lgpl.c: Likewise.
32780         * tests/test-canonicalize.c: Likewise.
32781         * tests/test-carray_list.c: Likewise.
32782         * tests/test-ceilf1.c: Likewise.
32783         * tests/test-ceilf2.c: Likewise.
32784         * tests/test-ceill.c: Likewise.
32785         * tests/test-chown.c: Likewise.
32786         * tests/test-cloexec.c: Likewise.
32787         * tests/test-copy-acl.c: Likewise.
32788         * tests/test-copy-file.c: Likewise.
32789         * tests/test-count-one-bits.c: Likewise.
32790         * tests/test-dprintf-posix.c: Likewise.
32791         * tests/test-dup2.c: Likewise.
32792         * tests/test-dup3.c: Likewise.
32793         * tests/test-duplocale.c: Likewise.
32794         * tests/test-fbufmode.c: Likewise.
32795         * tests/test-fchdir.c: Likewise.
32796         * tests/test-fchownat.c: Likewise.
32797         * tests/test-fcntl-safer.c: Likewise.
32798         * tests/test-fcntl.c: Likewise.
32799         * tests/test-fdopendir.c: Likewise.
32800         * tests/test-fdutimensat.c: Likewise.
32801         * tests/test-fflush2.c: Likewise.
32802         * tests/test-file-has-acl.c: Likewise.
32803         * tests/test-filevercmp.c: Likewise.
32804         * tests/test-flock.c: Likewise.
32805         * tests/test-floorf1.c: Likewise.
32806         * tests/test-floorf2.c: Likewise.
32807         * tests/test-floorl.c: Likewise.
32808         * tests/test-fnmatch.c: Likewise.
32809         * tests/test-fopen.h: Likewise.
32810         * tests/test-fpending.c: Likewise.
32811         * tests/test-fprintf-posix.c: Likewise.
32812         * tests/test-fpurge.c: Likewise.
32813         * tests/test-freadable.c: Likewise.
32814         * tests/test-freadahead.c: Likewise.
32815         * tests/test-freading.c: Likewise.
32816         * tests/test-freadptr.c: Likewise.
32817         * tests/test-freadptr2.c: Likewise.
32818         * tests/test-freadseek.c: Likewise.
32819         * tests/test-freopen.c: Likewise.
32820         * tests/test-frexp.c: Likewise.
32821         * tests/test-frexpl.c: Likewise.
32822         * tests/test-fseek.c: Likewise.
32823         * tests/test-fseeko.c: Likewise.
32824         * tests/test-fstatat.c: Likewise.
32825         * tests/test-fstrcmp.c: Likewise.
32826         * tests/test-fsync.c: Likewise.
32827         * tests/test-ftell.c: Likewise.
32828         * tests/test-ftello.c: Likewise.
32829         * tests/test-func.c: Likewise.
32830         * tests/test-futimens.c: Likewise.
32831         * tests/test-fwritable.c: Likewise.
32832         * tests/test-fwriting.c: Likewise.
32833         * tests/test-getcwd.c: Likewise.
32834         * tests/test-getdate.c: Likewise.
32835         * tests/test-getdelim.c: Likewise.
32836         * tests/test-getdtablesize.c: Likewise.
32837         * tests/test-getgroups.c: Likewise.
32838         * tests/test-getline.c: Likewise.
32839         * tests/test-getndelim2.c: Likewise.
32840         * tests/test-glob.c: Likewise.
32841         * tests/test-hash.c: Likewise.
32842         * tests/test-i-ring.c: Likewise.
32843         * tests/test-iconv-utf.c: Likewise.
32844         * tests/test-iconv.c: Likewise.
32845         * tests/test-idpriv-drop.c: Likewise.
32846         * tests/test-idpriv-droptemp.c: Likewise.
32847         * tests/test-inet_ntop.c: Likewise.
32848         * tests/test-inet_pton.c: Likewise.
32849         * tests/test-isblank.c: Likewise.
32850         * tests/test-isfinite.c: Likewise.
32851         * tests/test-isinf.c: Likewise.
32852         * tests/test-isnan.c: Likewise.
32853         * tests/test-isnand.h: Likewise.
32854         * tests/test-isnanf.h: Likewise.
32855         * tests/test-isnanl.h: Likewise.
32856         * tests/test-lchown.c: Likewise.
32857         * tests/test-ldexpl.c: Likewise.
32858         * tests/test-link.c: Likewise.
32859         * tests/test-linkat.c: Likewise.
32860         * tests/test-linked_list.c: Likewise.
32861         * tests/test-linkedhash_list.c: Likewise.
32862         * tests/test-localename.c: Likewise.
32863         * tests/test-lseek.c: Likewise.
32864         * tests/test-lstat.c: Likewise.
32865         * tests/test-mbmemcasecmp.c: Likewise.
32866         * tests/test-mbmemcasecoll.c: Likewise.
32867         * tests/test-mbrtowc.c: Likewise.
32868         * tests/test-mbscasecmp.c: Likewise.
32869         * tests/test-mbscasestr1.c: Likewise.
32870         * tests/test-mbscasestr2.c: Likewise.
32871         * tests/test-mbscasestr3.c: Likewise.
32872         * tests/test-mbscasestr4.c: Likewise.
32873         * tests/test-mbschr.c: Likewise.
32874         * tests/test-mbscspn.c: Likewise.
32875         * tests/test-mbsinit.c: Likewise.
32876         * tests/test-mbsncasecmp.c: Likewise.
32877         * tests/test-mbsnrtowcs.c: Likewise.
32878         * tests/test-mbspbrk.c: Likewise.
32879         * tests/test-mbspcasecmp.c: Likewise.
32880         * tests/test-mbsrchr.c: Likewise.
32881         * tests/test-mbsrtowcs.c: Likewise.
32882         * tests/test-mbsspn.c: Likewise.
32883         * tests/test-mbsstr1.c: Likewise.
32884         * tests/test-mbsstr2.c: Likewise.
32885         * tests/test-mbsstr3.c: Likewise.
32886         * tests/test-memchr.c: Likewise.
32887         * tests/test-memchr2.c: Likewise.
32888         * tests/test-memcmp.c: Likewise.
32889         * tests/test-memmem.c: Likewise.
32890         * tests/test-memrchr.c: Likewise.
32891         * tests/test-mkdir.c: Likewise.
32892         * tests/test-mkdirat.c: Likewise.
32893         * tests/test-mkfifo.c: Likewise.
32894         * tests/test-mkfifoat.c: Likewise.
32895         * tests/test-mknod.c: Likewise.
32896         * tests/test-nanosleep.c: Likewise.
32897         * tests/test-nl_langinfo.c: Likewise.
32898         * tests/test-obstack-printf.c: Likewise.
32899         * tests/test-open.c: Likewise.
32900         * tests/test-openat.c: Likewise.
32901         * tests/test-pipe-filter-gi1.c: Likewise.
32902         * tests/test-pipe-filter-gi2-main.c: Likewise.
32903         * tests/test-pipe-filter-ii1.c: Likewise.
32904         * tests/test-pipe-filter-ii2-main.c: Likewise.
32905         * tests/test-pipe2.c: Likewise.
32906         * tests/test-popen.h: Likewise.
32907         * tests/test-posixtm.c: Likewise.
32908         * tests/test-pread.c: Likewise.
32909         * tests/test-printf-frexp.c: Likewise.
32910         * tests/test-printf-frexpl.c: Likewise.
32911         * tests/test-printf-posix.c: Likewise.
32912         * tests/test-priv-set.c: Likewise.
32913         * tests/test-quotearg.c: Likewise.
32914         * tests/test-random_r.c: Likewise.
32915         * tests/test-rawmemchr.c: Likewise.
32916         * tests/test-rbtree_list.c: Likewise.
32917         * tests/test-rbtree_oset.c: Likewise.
32918         * tests/test-rbtreehash_list.c: Likewise.
32919         * tests/test-readlink.c: Likewise.
32920         * tests/test-remove.c: Likewise.
32921         * tests/test-rename.c: Likewise.
32922         * tests/test-renameat.c: Likewise.
32923         * tests/test-rmdir.c: Likewise.
32924         * tests/test-round1.c: Likewise.
32925         * tests/test-roundf1.c: Likewise.
32926         * tests/test-roundl.c: Likewise.
32927         * tests/test-safe-alloc.c: Likewise.
32928         * tests/test-sameacls.c: Likewise.
32929         * tests/test-set-mode-acl.c: Likewise.
32930         * tests/test-setenv.c: Likewise.
32931         * tests/test-sigaction.c: Likewise.
32932         * tests/test-signbit.c: Likewise.
32933         * tests/test-sleep.c: Likewise.
32934         * tests/test-snprintf-posix.c: Likewise.
32935         * tests/test-snprintf.c: Likewise.
32936         * tests/test-sprintf-posix.c: Likewise.
32937         * tests/test-stat-time.c: Likewise.
32938         * tests/test-stat.c: Likewise.
32939         * tests/test-strcasestr.c: Likewise.
32940         * tests/test-strchrnul.c: Likewise.
32941         * tests/test-strerror.c: Likewise.
32942         * tests/test-striconv.c: Likewise.
32943         * tests/test-striconveh.c: Likewise.
32944         * tests/test-striconveha.c: Likewise.
32945         * tests/test-strsignal.c: Likewise.
32946         * tests/test-strstr.c: Likewise.
32947         * tests/test-strtod.c: Likewise.
32948         * tests/test-strverscmp.c: Likewise.
32949         * tests/test-symlink.c: Likewise.
32950         * tests/test-symlinkat.c: Likewise.
32951         * tests/test-trunc1.c: Likewise.
32952         * tests/test-trunc2.c: Likewise.
32953         * tests/test-truncf1.c: Likewise.
32954         * tests/test-truncf2.c: Likewise.
32955         * tests/test-truncl.c: Likewise.
32956         * tests/test-uname.c: Likewise.
32957         * tests/test-unlink.c: Likewise.
32958         * tests/test-unlinkat.c: Likewise.
32959         * tests/test-unsetenv.c: Likewise.
32960         * tests/test-usleep.c: Likewise.
32961         * tests/test-utimens.c: Likewise.
32962         * tests/test-utimensat.c: Likewise.
32963         * tests/test-vasnprintf-posix.c: Likewise.
32964         * tests/test-vasnprintf-posix2.c: Likewise.
32965         * tests/test-vasnprintf.c: Likewise.
32966         * tests/test-vasprintf-posix.c: Likewise.
32967         * tests/test-vasprintf.c: Likewise.
32968         * tests/test-vdprintf-posix.c: Likewise.
32969         * tests/test-vfprintf-posix.c: Likewise.
32970         * tests/test-vprintf-posix.c: Likewise.
32971         * tests/test-vsnprintf-posix.c: Likewise.
32972         * tests/test-vsnprintf.c: Likewise.
32973         * tests/test-vsprintf-posix.c: Likewise.
32974         * tests/test-wcrtomb.c: Likewise.
32975         * tests/test-wcsnrtombs.c: Likewise.
32976         * tests/test-wcsrtombs.c: Likewise.
32977         * tests/test-wctype.c: Likewise.
32978         * tests/test-wcwidth.c: Likewise.
32979         * tests/test-xfprintf-posix.c: Likewise.
32980         * tests/test-xmemdup0.c: Likewise.
32981         * tests/test-xprintf-posix.c: Likewise.
32982         * tests/test-xvasprintf.c: Likewise.
32983         * tests/unicase/test-locale-language.c: Likewise.
32984         * tests/unicase/test-mapping-part1.h: Likewise.
32985         * tests/unicase/test-predicate-part1.h: Likewise.
32986         * tests/unicase/test-u8-casecmp.c: Likewise.
32987         * tests/unicase/test-u8-casecoll.c: Likewise.
32988         * tests/unicase/test-u8-casefold.c: Likewise.
32989         * tests/unicase/test-u8-is-cased.c: Likewise.
32990         * tests/unicase/test-u8-is-casefolded.c: Likewise.
32991         * tests/unicase/test-u8-is-lowercase.c: Likewise.
32992         * tests/unicase/test-u8-is-titlecase.c: Likewise.
32993         * tests/unicase/test-u8-is-uppercase.c: Likewise.
32994         * tests/unicase/test-u8-tolower.c: Likewise.
32995         * tests/unicase/test-u8-totitle.c: Likewise.
32996         * tests/unicase/test-u8-toupper.c: Likewise.
32997         * tests/unicase/test-u16-casecmp.c: Likewise.
32998         * tests/unicase/test-u16-casecoll.c: Likewise.
32999         * tests/unicase/test-u16-casefold.c: Likewise.
33000         * tests/unicase/test-u16-is-cased.c: Likewise.
33001         * tests/unicase/test-u16-is-casefolded.c: Likewise.
33002         * tests/unicase/test-u16-is-lowercase.c: Likewise.
33003         * tests/unicase/test-u16-is-titlecase.c: Likewise.
33004         * tests/unicase/test-u16-is-uppercase.c: Likewise.
33005         * tests/unicase/test-u16-tolower.c: Likewise.
33006         * tests/unicase/test-u16-totitle.c: Likewise.
33007         * tests/unicase/test-u16-toupper.c: Likewise.
33008         * tests/unicase/test-u32-casecmp.c: Likewise.
33009         * tests/unicase/test-u32-casecoll.c: Likewise.
33010         * tests/unicase/test-u32-casefold.c: Likewise.
33011         * tests/unicase/test-u32-is-cased.c: Likewise.
33012         * tests/unicase/test-u32-is-casefolded.c: Likewise.
33013         * tests/unicase/test-u32-is-lowercase.c: Likewise.
33014         * tests/unicase/test-u32-is-titlecase.c: Likewise.
33015         * tests/unicase/test-u32-is-uppercase.c: Likewise.
33016         * tests/unicase/test-u32-tolower.c: Likewise.
33017         * tests/unicase/test-u32-totitle.c: Likewise.
33018         * tests/unicase/test-u32-toupper.c: Likewise.
33019         * tests/unicase/test-ulc-casecmp.c: Likewise.
33020         * tests/unicase/test-ulc-casecoll.c: Likewise.
33021         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
33022         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
33023         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
33024         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
33025         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
33026         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
33027         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
33028         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
33029         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
33030         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
33031         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
33032         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
33033         * tests/unictype/test-bidi_byname.c: Likewise.
33034         * tests/unictype/test-bidi_name.c: Likewise.
33035         * tests/unictype/test-bidi_of.c: Likewise.
33036         * tests/unictype/test-bidi_test.c: Likewise.
33037         * tests/unictype/test-block_list.c: Likewise.
33038         * tests/unictype/test-block_of.c: Likewise.
33039         * tests/unictype/test-block_test.c: Likewise.
33040         * tests/unictype/test-categ_and.c: Likewise.
33041         * tests/unictype/test-categ_and_not.c: Likewise.
33042         * tests/unictype/test-categ_byname.c: Likewise.
33043         * tests/unictype/test-categ_name.c: Likewise.
33044         * tests/unictype/test-categ_none.c: Likewise.
33045         * tests/unictype/test-categ_of.c: Likewise.
33046         * tests/unictype/test-categ_or.c: Likewise.
33047         * tests/unictype/test-categ_test_withtable.c: Likewise.
33048         * tests/unictype/test-combining.c: Likewise.
33049         * tests/unictype/test-decdigit.c: Likewise.
33050         * tests/unictype/test-digit.c: Likewise.
33051         * tests/unictype/test-mirror.c: Likewise.
33052         * tests/unictype/test-numeric.c: Likewise.
33053         * tests/unictype/test-pr_byname.c: Likewise.
33054         * tests/unictype/test-pr_test.c: Likewise.
33055         * tests/unictype/test-predicate-part1.h: Likewise.
33056         * tests/unictype/test-scripts.c: Likewise.
33057         * tests/unictype/test-sy_c_ident.c: Likewise.
33058         * tests/unictype/test-sy_java_ident.c: Likewise.
33059         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
33060         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
33061         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
33062         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
33063         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
33064         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
33065         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
33066         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
33067         * tests/uninorm/test-canonical-decomposition.c: Likewise.
33068         * tests/uninorm/test-compat-decomposition.c: Likewise.
33069         * tests/uninorm/test-composition.c: Likewise.
33070         * tests/uninorm/test-decomposing-form.c: Likewise.
33071         * tests/uninorm/test-decomposition.c: Likewise.
33072         * tests/uninorm/test-u8-nfc.c: Likewise.
33073         * tests/uninorm/test-u8-nfd.c: Likewise.
33074         * tests/uninorm/test-u8-nfkc.c: Likewise.
33075         * tests/uninorm/test-u8-nfkd.c: Likewise.
33076         * tests/uninorm/test-u8-normcmp.c: Likewise.
33077         * tests/uninorm/test-u8-normcoll.c: Likewise.
33078         * tests/uninorm/test-u16-nfc.c: Likewise.
33079         * tests/uninorm/test-u16-nfd.c: Likewise.
33080         * tests/uninorm/test-u16-nfkc.c: Likewise.
33081         * tests/uninorm/test-u16-nfkd.c: Likewise.
33082         * tests/uninorm/test-u16-normcmp.c: Likewise.
33083         * tests/uninorm/test-u16-normcoll.c: Likewise.
33084         * tests/uninorm/test-u32-nfc.c: Likewise.
33085         * tests/uninorm/test-u32-nfd.c: Likewise.
33086         * tests/uninorm/test-u32-nfkc.c: Likewise.
33087         * tests/uninorm/test-u32-nfkd.c: Likewise.
33088         * tests/uninorm/test-u32-normalize-big.c: Likewise.
33089         * tests/uninorm/test-u32-normcmp.c: Likewise.
33090         * tests/uninorm/test-u32-normcoll.c: Likewise.
33091         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
33092         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
33093         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
33094         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
33095         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
33096         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
33097         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
33098         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
33099         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
33100         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
33101         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
33102         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
33103         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
33104         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
33105         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
33106         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
33107         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
33108         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
33109         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
33110         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
33111         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
33112         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
33113         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
33114         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
33115         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
33116         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
33117         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
33118         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
33119         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
33120         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
33121         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
33122         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
33123         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
33124         * tests/uniwidth/test-u8-strwidth.c: Likewise.
33125         * tests/uniwidth/test-u8-width.c: Likewise.
33126         * tests/uniwidth/test-u16-strwidth.c: Likewise.
33127         * tests/uniwidth/test-u16-width.c: Likewise.
33128         * tests/uniwidth/test-u32-strwidth.c: Likewise.
33129         * tests/uniwidth/test-u32-width.c: Likewise.
33130         * tests/uniwidth/test-uc_width.c: Likewise.
33131         * tests/uniwidth/test-uc_width2.c: Likewise.
33132         * modules/acl-tests (Files): Add tests/macros.h.
33133         * modules/areadlink-tests (Files): Likewise.
33134         * modules/areadlink-with-size-tests (Files): Likewise.
33135         * modules/areadlinkat-tests (Files): Likewise.
33136         * modules/areadlinkat-with-size-tests (Files): Likewise.
33137         * modules/argmatch-tests (Files): Likewise.
33138         * modules/argv-iter-tests (Files): Likewise.
33139         * modules/array-list-tests (Files): Likewise.
33140         * modules/array-mergesort-tests (Files): Likewise.
33141         * modules/array-oset-tests (Files): Likewise.
33142         * modules/avltree-list-tests (Files): Likewise.
33143         * modules/avltree-oset-tests (Files): Likewise.
33144         * modules/avltreehash-list-tests (Files): Likewise.
33145         * modules/base64-tests (Files): Likewise.
33146         * modules/binary-io-tests (Files): Likewise.
33147         * modules/bitrotate-tests (Files): Likewise.
33148         * modules/btowc-tests (Files): Likewise.
33149         * modules/byteswap-tests (Files): Likewise.
33150         * modules/c-ctype-tests (Files): Likewise.
33151         * modules/c-stack-tests (Files): Likewise.
33152         * modules/c-strcase-tests (Files): Likewise.
33153         * modules/c-strcasestr-tests (Files): Likewise.
33154         * modules/c-strstr-tests (Files): Likewise.
33155         * modules/canonicalize-lgpl-tests (Files): Likewise.
33156         * modules/canonicalize-tests (Files): Likewise.
33157         * modules/carray-list-tests (Files): Likewise.
33158         * modules/ceilf-tests (Files): Likewise.
33159         * modules/ceill-tests (Files): Likewise.
33160         * modules/chown-tests (Files): Likewise.
33161         * modules/cloexec-tests (Files): Likewise.
33162         * modules/copy-file-tests (Files): Likewise.
33163         * modules/count-one-bits-tests (Files): Likewise.
33164         * modules/dprintf-posix-tests (Files): Likewise.
33165         * modules/dup2-tests (Files): Likewise.
33166         * modules/dup3-tests (Files): Likewise.
33167         * modules/duplocale-tests (Files): Likewise.
33168         * modules/fbufmode-tests (Files): Likewise.
33169         * modules/fchdir-tests (Files): Likewise.
33170         * modules/fcntl-safer-tests (Files): Likewise.
33171         * modules/fcntl-tests (Files): Likewise.
33172         * modules/fdopendir-tests (Files): Likewise.
33173         * modules/fdutimensat-tests (Files): Likewise.
33174         * modules/fflush-tests (Files): Likewise.
33175         * modules/filevercmp-tests (Files): Likewise.
33176         * modules/flock-tests (Files): Likewise.
33177         * modules/floorf-tests (Files): Likewise.
33178         * modules/floorl-tests (Files): Likewise.
33179         * modules/fnmatch-tests (Files): Likewise.
33180         * modules/fopen-safer-tests (Files): Likewise.
33181         * modules/fopen-tests (Files): Likewise.
33182         * modules/fpending-tests (Files): Likewise.
33183         * modules/fprintf-posix-tests (Files): Likewise.
33184         * modules/fpurge-tests (Files): Likewise.
33185         * modules/freadable-tests (Files): Likewise.
33186         * modules/freadahead-tests (Files): Likewise.
33187         * modules/freading-tests (Files): Likewise.
33188         * modules/freadptr-tests (Files): Likewise.
33189         * modules/freadseek-tests (Files): Likewise.
33190         * modules/freopen-tests (Files): Likewise.
33191         * modules/frexp-nolibm-tests (Files): Likewise.
33192         * modules/frexp-tests (Files): Likewise.
33193         * modules/frexpl-nolibm-tests (Files): Likewise.
33194         * modules/frexpl-tests (Files): Likewise.
33195         * modules/fseek-tests (Files): Likewise.
33196         * modules/fseeko-tests (Files): Likewise.
33197         * modules/fstrcmp-tests (Files): Likewise.
33198         * modules/fsync-tests (Files): Likewise.
33199         * modules/ftell-tests (Files): Likewise.
33200         * modules/ftello-tests (Files): Likewise.
33201         * modules/func-tests (Files): Likewise.
33202         * modules/futimens-tests (Files): Likewise.
33203         * modules/fwritable-tests (Files): Likewise.
33204         * modules/fwriting-tests (Files): Likewise.
33205         * modules/getcwd-tests (Files): Likewise.
33206         * modules/getdate-tests (Files): Likewise.
33207         * modules/getdelim-tests (Files): Likewise.
33208         * modules/getdtablesize-tests (Files): Likewise.
33209         * modules/getgroups-tests (Files): Likewise.
33210         * modules/getline-tests (Files): Likewise.
33211         * modules/getndelim2-tests (Files): Likewise.
33212         * modules/glob-tests (Files): Likewise.
33213         * modules/hash-tests (Files): Likewise.
33214         * modules/i-ring-tests (Files): Likewise.
33215         * modules/iconv-tests (Files): Likewise.
33216         * modules/iconv_open-utf-tests (Files): Likewise.
33217         * modules/idpriv-drop-tests (Files): Likewise.
33218         * modules/idpriv-droptemp-tests (Files): Likewise.
33219         * modules/inet_ntop-tests (Files): Likewise.
33220         * modules/inet_pton-tests (Files): Likewise.
33221         * modules/isblank-tests (Files): Likewise.
33222         * modules/isfinite-tests (Files): Likewise.
33223         * modules/isinf-tests (Files): Likewise.
33224         * modules/isnan-tests (Files): Likewise.
33225         * modules/isnand-nolibm-tests (Files): Likewise.
33226         * modules/isnand-tests (Files): Likewise.
33227         * modules/isnanf-nolibm-tests (Files): Likewise.
33228         * modules/isnanf-tests (Files): Likewise.
33229         * modules/isnanl-nolibm-tests (Files): Likewise.
33230         * modules/isnanl-tests (Files): Likewise.
33231         * modules/lchown-tests (Files): Likewise.
33232         * modules/ldexpl-tests (Files): Likewise.
33233         * modules/link-tests (Files): Likewise.
33234         * modules/linkat-tests (Files): Likewise.
33235         * modules/linked-list-tests (Files): Likewise.
33236         * modules/linkedhash-list-tests (Files): Likewise.
33237         * modules/localename-tests (Files): Likewise.
33238         * modules/lseek-tests (Files): Likewise.
33239         * modules/lstat-tests (Files): Likewise.
33240         * modules/mbmemcasecmp-tests (Files): Likewise.
33241         * modules/mbmemcasecoll-tests (Files): Likewise.
33242         * modules/mbrtowc-tests (Files): Likewise.
33243         * modules/mbscasecmp-tests (Files): Likewise.
33244         * modules/mbscasestr-tests (Files): Likewise.
33245         * modules/mbschr-tests (Files): Likewise.
33246         * modules/mbscspn-tests (Files): Likewise.
33247         * modules/mbsinit-tests (Files): Likewise.
33248         * modules/mbsncasecmp-tests (Files): Likewise.
33249         * modules/mbsnrtowcs-tests (Files): Likewise.
33250         * modules/mbspbrk-tests (Files): Likewise.
33251         * modules/mbspcasecmp-tests (Files): Likewise.
33252         * modules/mbsrchr-tests (Files): Likewise.
33253         * modules/mbsrtowcs-tests (Files): Likewise.
33254         * modules/mbsspn-tests (Files): Likewise.
33255         * modules/mbsstr-tests (Files): Likewise.
33256         * modules/memchr-tests (Files): Likewise.
33257         * modules/memchr2-tests (Files): Likewise.
33258         * modules/memcmp-tests (Files): Likewise.
33259         * modules/memmem-tests (Files): Likewise.
33260         * modules/memrchr-tests (Files): Likewise.
33261         * modules/mkdir-tests (Files): Likewise.
33262         * modules/mkfifo-tests (Files): Likewise.
33263         * modules/mkfifoat-tests (Files): Likewise.
33264         * modules/mknod-tests (Files): Likewise.
33265         * modules/nanosleep-tests (Files): Likewise.
33266         * modules/nl_langinfo-tests (Files): Likewise.
33267         * modules/obstack-printf-tests (Files): Likewise.
33268         * modules/open-tests (Files): Likewise.
33269         * modules/openat-tests (Files): Likewise.
33270         * modules/pipe-filter-gi-tests (Files): Likewise.
33271         * modules/pipe-filter-ii-tests (Files): Likewise.
33272         * modules/pipe2-tests (Files): Likewise.
33273         * modules/popen-safer-tests (Files): Likewise.
33274         * modules/popen-tests (Files): Likewise.
33275         * modules/posixtm-tests (Files): Likewise.
33276         * modules/pread-tests (Files): Likewise.
33277         * modules/printf-frexp-tests (Files): Likewise.
33278         * modules/printf-frexpl-tests (Files): Likewise.
33279         * modules/printf-posix-tests (Files): Likewise.
33280         * modules/priv-set-tests (Files): Likewise.
33281         * modules/quotearg-tests (Files): Likewise.
33282         * modules/random_r-tests (Files): Likewise.
33283         * modules/rawmemchr-tests (Files): Likewise.
33284         * modules/rbtree-list-tests (Files): Likewise.
33285         * modules/rbtree-oset-tests (Files): Likewise.
33286         * modules/rbtreehash-list-tests (Files): Likewise.
33287         * modules/readlink-tests (Files): Likewise.
33288         * modules/remove-tests (Files): Likewise.
33289         * modules/rename-tests (Files): Likewise.
33290         * modules/renameat-tests (Files): Likewise.
33291         * modules/rmdir-tests (Files): Likewise.
33292         * modules/round-tests (Files): Likewise.
33293         * modules/roundf-tests (Files): Likewise.
33294         * modules/roundl-tests (Files): Likewise.
33295         * modules/safe-alloc-tests (Files): Likewise.
33296         * modules/setenv-tests (Files): Likewise.
33297         * modules/sigaction-tests (Files): Likewise.
33298         * modules/signbit-tests (Files): Likewise.
33299         * modules/sleep-tests (Files): Likewise.
33300         * modules/snprintf-posix-tests (Files): Likewise.
33301         * modules/snprintf-tests (Files): Likewise.
33302         * modules/sprintf-posix-tests (Files): Likewise.
33303         * modules/stat-tests (Files): Likewise.
33304         * modules/stat-time-tests (Files): Likewise.
33305         * modules/strcasestr-tests (Files): Likewise.
33306         * modules/strchrnul-tests (Files): Likewise.
33307         * modules/strerror-tests (Files): Likewise.
33308         * modules/striconv-tests (Files): Likewise.
33309         * modules/striconveh-tests (Files): Likewise.
33310         * modules/striconveha-tests (Files): Likewise.
33311         * modules/strsignal-tests (Files): Likewise.
33312         * modules/strstr-tests (Files): Likewise.
33313         * modules/strtod-tests (Files): Likewise.
33314         * modules/strverscmp-tests (Files): Likewise.
33315         * modules/symlink-tests (Files): Likewise.
33316         * modules/symlinkat-tests (Files): Likewise.
33317         * modules/trunc-tests (Files): Likewise.
33318         * modules/truncf-tests (Files): Likewise.
33319         * modules/truncl-tests (Files): Likewise.
33320         * modules/uname-tests (Files): Likewise.
33321         * modules/unicase/cased-tests (Files): Likewise.
33322         * modules/unicase/ignorable-tests (Files): Likewise.
33323         * modules/unicase/locale-language-tests (Files): Likewise.
33324         * modules/unicase/tolower-tests (Files): Likewise.
33325         * modules/unicase/totitle-tests (Files): Likewise.
33326         * modules/unicase/toupper-tests (Files): Likewise.
33327         * modules/unicase/u8-casecmp-tests (Files): Likewise.
33328         * modules/unicase/u8-casecoll-tests (Files): Likewise.
33329         * modules/unicase/u8-casefold-tests (Files): Likewise.
33330         * modules/unicase/u8-is-cased-tests (Files): Likewise.
33331         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
33332         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
33333         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
33334         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
33335         * modules/unicase/u8-tolower-tests (Files): Likewise.
33336         * modules/unicase/u8-totitle-tests (Files): Likewise.
33337         * modules/unicase/u8-toupper-tests (Files): Likewise.
33338         * modules/unicase/u16-casecmp-tests (Files): Likewise.
33339         * modules/unicase/u16-casecoll-tests (Files): Likewise.
33340         * modules/unicase/u16-casefold-tests (Files): Likewise.
33341         * modules/unicase/u16-is-cased-tests (Files): Likewise.
33342         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
33343         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
33344         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
33345         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
33346         * modules/unicase/u16-tolower-tests (Files): Likewise.
33347         * modules/unicase/u16-totitle-tests (Files): Likewise.
33348         * modules/unicase/u16-toupper-tests (Files): Likewise.
33349         * modules/unicase/u32-casecmp-tests (Files): Likewise.
33350         * modules/unicase/u32-casecoll-tests (Files): Likewise.
33351         * modules/unicase/u32-casefold-tests (Files): Likewise.
33352         * modules/unicase/u32-is-cased-tests (Files): Likewise.
33353         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
33354         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
33355         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
33356         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
33357         * modules/unicase/u32-tolower-tests (Files): Likewise.
33358         * modules/unicase/u32-totitle-tests (Files): Likewise.
33359         * modules/unicase/u32-toupper-tests (Files): Likewise.
33360         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
33361         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
33362         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
33363         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
33364         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
33365         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
33366         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
33367         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
33368         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
33369         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
33370         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
33371         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
33372         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
33373         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
33374         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
33375         * modules/unictype/bidicategory-name-tests (Files): Likewise.
33376         * modules/unictype/bidicategory-of-tests (Files): Likewise.
33377         * modules/unictype/bidicategory-test-tests (Files): Likewise.
33378         * modules/unictype/block-list-tests (Files): Likewise.
33379         * modules/unictype/block-of-tests (Files): Likewise.
33380         * modules/unictype/block-test-tests (Files): Likewise.
33381         * modules/unictype/category-C-tests (Files): Likewise.
33382         * modules/unictype/category-Cc-tests (Files): Likewise.
33383         * modules/unictype/category-Cf-tests (Files): Likewise.
33384         * modules/unictype/category-Cn-tests (Files): Likewise.
33385         * modules/unictype/category-Co-tests (Files): Likewise.
33386         * modules/unictype/category-Cs-tests (Files): Likewise.
33387         * modules/unictype/category-L-tests (Files): Likewise.
33388         * modules/unictype/category-Ll-tests (Files): Likewise.
33389         * modules/unictype/category-Lm-tests (Files): Likewise.
33390         * modules/unictype/category-Lo-tests (Files): Likewise.
33391         * modules/unictype/category-Lt-tests (Files): Likewise.
33392         * modules/unictype/category-Lu-tests (Files): Likewise.
33393         * modules/unictype/category-M-tests (Files): Likewise.
33394         * modules/unictype/category-Mc-tests (Files): Likewise.
33395         * modules/unictype/category-Me-tests (Files): Likewise.
33396         * modules/unictype/category-Mn-tests (Files): Likewise.
33397         * modules/unictype/category-N-tests (Files): Likewise.
33398         * modules/unictype/category-Nd-tests (Files): Likewise.
33399         * modules/unictype/category-Nl-tests (Files): Likewise.
33400         * modules/unictype/category-No-tests (Files): Likewise.
33401         * modules/unictype/category-P-tests (Files): Likewise.
33402         * modules/unictype/category-Pc-tests (Files): Likewise.
33403         * modules/unictype/category-Pd-tests (Files): Likewise.
33404         * modules/unictype/category-Pe-tests (Files): Likewise.
33405         * modules/unictype/category-Pf-tests (Files): Likewise.
33406         * modules/unictype/category-Pi-tests (Files): Likewise.
33407         * modules/unictype/category-Po-tests (Files): Likewise.
33408         * modules/unictype/category-Ps-tests (Files): Likewise.
33409         * modules/unictype/category-S-tests (Files): Likewise.
33410         * modules/unictype/category-Sc-tests (Files): Likewise.
33411         * modules/unictype/category-Sk-tests (Files): Likewise.
33412         * modules/unictype/category-Sm-tests (Files): Likewise.
33413         * modules/unictype/category-So-tests (Files): Likewise.
33414         * modules/unictype/category-Z-tests (Files): Likewise.
33415         * modules/unictype/category-Zl-tests (Files): Likewise.
33416         * modules/unictype/category-Zp-tests (Files): Likewise.
33417         * modules/unictype/category-Zs-tests (Files): Likewise.
33418         * modules/unictype/category-and-not-tests (Files): Likewise.
33419         * modules/unictype/category-and-tests (Files): Likewise.
33420         * modules/unictype/category-byname-tests (Files): Likewise.
33421         * modules/unictype/category-name-tests (Files): Likewise.
33422         * modules/unictype/category-none-tests (Files): Likewise.
33423         * modules/unictype/category-of-tests (Files): Likewise.
33424         * modules/unictype/category-or-tests (Files): Likewise.
33425         * modules/unictype/category-test-withtable-tests (Files): Likewise.
33426         * modules/unictype/combining-class-tests (Files): Likewise.
33427         * modules/unictype/ctype-alnum-tests (Files): Likewise.
33428         * modules/unictype/ctype-alpha-tests (Files): Likewise.
33429         * modules/unictype/ctype-blank-tests (Files): Likewise.
33430         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
33431         * modules/unictype/ctype-digit-tests (Files): Likewise.
33432         * modules/unictype/ctype-graph-tests (Files): Likewise.
33433         * modules/unictype/ctype-lower-tests (Files): Likewise.
33434         * modules/unictype/ctype-print-tests (Files): Likewise.
33435         * modules/unictype/ctype-punct-tests (Files): Likewise.
33436         * modules/unictype/ctype-space-tests (Files): Likewise.
33437         * modules/unictype/ctype-upper-tests (Files): Likewise.
33438         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
33439         * modules/unictype/decimal-digit-tests (Files): Likewise.
33440         * modules/unictype/digit-tests (Files): Likewise.
33441         * modules/unictype/mirror-tests (Files): Likewise.
33442         * modules/unictype/numeric-tests (Files): Likewise.
33443         * modules/unictype/property-alphabetic-tests (Files): Likewise.
33444         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
33445         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
33446         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
33447         Likewise.
33448         * modules/unictype/property-bidi-block-separator-tests (Files):
33449         Likewise.
33450         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
33451         Likewise.
33452         * modules/unictype/property-bidi-common-separator-tests (Files):
33453         Likewise.
33454         * modules/unictype/property-bidi-control-tests (Files): Likewise.
33455         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
33456         Likewise.
33457         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
33458         Likewise.
33459         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
33460         Likewise.
33461         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
33462         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
33463         Likewise.
33464         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
33465         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
33466         Likewise.
33467         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
33468         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
33469         * modules/unictype/property-bidi-segment-separator-tests (Files):
33470         Likewise.
33471         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
33472         * modules/unictype/property-byname-tests (Files): Likewise.
33473         * modules/unictype/property-combining-tests (Files): Likewise.
33474         * modules/unictype/property-composite-tests (Files): Likewise.
33475         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
33476         * modules/unictype/property-dash-tests (Files): Likewise.
33477         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
33478         * modules/unictype/property-default-ignorable-code-point-tests (Files):
33479         Likewise.
33480         * modules/unictype/property-deprecated-tests (Files): Likewise.
33481         * modules/unictype/property-diacritic-tests (Files): Likewise.
33482         * modules/unictype/property-extender-tests (Files): Likewise.
33483         * modules/unictype/property-format-control-tests (Files): Likewise.
33484         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
33485         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
33486         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
33487         * modules/unictype/property-hex-digit-tests (Files): Likewise.
33488         * modules/unictype/property-hyphen-tests (Files): Likewise.
33489         * modules/unictype/property-id-continue-tests (Files): Likewise.
33490         * modules/unictype/property-id-start-tests (Files): Likewise.
33491         * modules/unictype/property-ideographic-tests (Files): Likewise.
33492         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
33493         * modules/unictype/property-ids-trinary-operator-tests (Files):
33494         Likewise.
33495         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
33496         * modules/unictype/property-iso-control-tests (Files): Likewise.
33497         * modules/unictype/property-join-control-tests (Files): Likewise.
33498         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
33499         * modules/unictype/property-line-separator-tests (Files): Likewise.
33500         * modules/unictype/property-logical-order-exception-tests (Files):
33501         Likewise.
33502         * modules/unictype/property-lowercase-tests (Files): Likewise.
33503         * modules/unictype/property-math-tests (Files): Likewise.
33504         * modules/unictype/property-non-break-tests (Files): Likewise.
33505         * modules/unictype/property-not-a-character-tests (Files): Likewise.
33506         * modules/unictype/property-numeric-tests (Files): Likewise.
33507         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
33508         * modules/unictype/property-other-default-ignorable-code-point-tests
33509         (Files): Likewise.
33510         * modules/unictype/property-other-grapheme-extend-tests (Files):
33511         Likewise.
33512         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
33513         * modules/unictype/property-other-id-start-tests (Files): Likewise.
33514         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
33515         * modules/unictype/property-other-math-tests (Files): Likewise.
33516         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
33517         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
33518         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
33519         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
33520         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
33521         * modules/unictype/property-private-use-tests (Files): Likewise.
33522         * modules/unictype/property-punctuation-tests (Files): Likewise.
33523         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
33524         * modules/unictype/property-radical-tests (Files): Likewise.
33525         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
33526         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
33527         * modules/unictype/property-space-tests (Files): Likewise.
33528         * modules/unictype/property-terminal-punctuation-tests (Files):
33529         Likewise.
33530         * modules/unictype/property-test-tests (Files): Likewise.
33531         * modules/unictype/property-titlecase-tests (Files): Likewise.
33532         * modules/unictype/property-unassigned-code-value-tests (Files):
33533         Likewise.
33534         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
33535         * modules/unictype/property-uppercase-tests (Files): Likewise.
33536         * modules/unictype/property-variation-selector-tests (Files): Likewise.
33537         * modules/unictype/property-white-space-tests (Files): Likewise.
33538         * modules/unictype/property-xid-continue-tests (Files): Likewise.
33539         * modules/unictype/property-xid-start-tests (Files): Likewise.
33540         * modules/unictype/property-zero-width-tests (Files): Likewise.
33541         * modules/unictype/scripts-tests (Files): Likewise.
33542         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
33543         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
33544         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
33545         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
33546         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
33547         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
33548         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
33549         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
33550         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
33551         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
33552         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
33553         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
33554         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
33555         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
33556         * modules/uninorm/composition-tests (Files): Likewise.
33557         * modules/uninorm/decomposing-form-tests (Files): Likewise.
33558         * modules/uninorm/decomposition-tests (Files): Likewise.
33559         * modules/uninorm/filter-tests (Files): Likewise.
33560         * modules/uninorm/nfc-tests (Files): Likewise.
33561         * modules/uninorm/nfd-tests (Files): Likewise.
33562         * modules/uninorm/nfkc-tests (Files): Likewise.
33563         * modules/uninorm/nfkd-tests (Files): Likewise.
33564         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
33565         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
33566         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
33567         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
33568         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
33569         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
33570         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
33571         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
33572         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
33573         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
33574         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
33575         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
33576         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
33577         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
33578         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
33579         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
33580         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
33581         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
33582         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
33583         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
33584         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
33585         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
33586         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
33587         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
33588         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
33589         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
33590         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
33591         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
33592         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
33593         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
33594         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
33595         * modules/uniwidth/u8-width-tests (Files): Likewise.
33596         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
33597         * modules/uniwidth/u16-width-tests (Files): Likewise.
33598         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
33599         * modules/uniwidth/u32-width-tests (Files): Likewise.
33600         * modules/uniwidth/width-tests (Files): Likewise.
33601         * modules/unlink-tests (Files): Likewise.
33602         * modules/unsetenv-tests (Files): Likewise.
33603         * modules/usleep-tests (Files): Likewise.
33604         * modules/utimens-tests (Files): Likewise.
33605         * modules/utimensat-tests (Files): Likewise.
33606         * modules/vasnprintf-posix-tests (Files): Likewise.
33607         * modules/vasnprintf-tests (Files): Likewise.
33608         * modules/vasprintf-posix-tests (Files): Likewise.
33609         * modules/vasprintf-tests (Files): Likewise.
33610         * modules/vdprintf-posix-tests (Files): Likewise.
33611         * modules/vfprintf-posix-tests (Files): Likewise.
33612         * modules/vprintf-posix-tests (Files): Likewise.
33613         * modules/vsnprintf-posix-tests (Files): Likewise.
33614         * modules/vsnprintf-tests (Files): Likewise.
33615         * modules/vsprintf-posix-tests (Files): Likewise.
33616         * modules/wcrtomb-tests (Files): Likewise.
33617         * modules/wcsnrtombs-tests (Files): Likewise.
33618         * modules/wcsrtombs-tests (Files): Likewise.
33619         * modules/wctype-tests (Files): Likewise.
33620         * modules/wcwidth-tests (Files): Likewise.
33621         * modules/xmemdup0-tests (Files): Likewise.
33622         * modules/xprintf-posix-tests (Files): Likewise.
33623         * modules/xvasprintf-tests (Files): Likewise.
33624
33625 2009-12-24  Eric Blake  <ebb9@byu.net>
33626
33627         test-nanosleep: fix typo
33628         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
33629         patch.
33630         Reported by Bruno Haible.
33631
33632 2009-12-24  Bruno Haible  <bruno@clisp.org>
33633
33634         Reduce namespace pollution on glibc systems.
33635         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
33636         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
33637         systems.
33638         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
33639         <getopt.h> on glibc systems.
33640         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
33641         systems.
33642         * lib/fcntl.c: Include <unistd.h> here instead.
33643
33644 2009-12-24  Bruno Haible  <bruno@clisp.org>
33645
33646         * lib/stdlib.in.h (includes): Fix typo in today's commit.
33647
33648 2009-12-24  Eric Blake  <ebb9@byu.net>
33649
33650         tests: add signature checks
33651         * tests/signature.h (SIGNATURE_CHECK): New file.
33652         * modules/atexit-tests (Files): Use it.
33653         * modules/btowc-tests (Files): Likewise.
33654         * modules/canonicalize-lgpl-tests (Files): Likewise.
33655         * modules/ceilf-tests (Files): Likewise.
33656         * modules/ceill-tests (Files): Likewise.
33657         * modules/chown-tests (Files): Likewise.
33658         * modules/dprintf-posix-tests (Files): Likewise.
33659         * modules/dup2-tests (Files): Likewise.
33660         * modules/dup3-tests (Files): Likewise.
33661         * modules/duplocale-tests (Files): Likewise.
33662         * modules/fchdir-tests (Files): Likewise.
33663         * modules/fcntl-tests (Files): Likewise.
33664         * modules/fdopendir-tests (Files): Likewise.
33665         * modules/fflush-tests (Files): Likewise.
33666         * modules/flock-tests (Files): Likewise.
33667         * modules/floorf-tests (Files): Likewise.
33668         * modules/floorl-tests (Files): Likewise.
33669         * modules/fnmatch-tests (Files): Likewise.
33670         * modules/fopen-tests (Files): Likewise.
33671         * modules/fprintf-posix-tests (Files): Likewise.
33672         * modules/freopen-tests (Files): Likewise.
33673         * modules/frexp-nolibm-tests (Files): Likewise.
33674         * modules/frexp-tests (Files): Likewise.
33675         * modules/frexpl-nolibm-tests (Files): Likewise.
33676         * modules/frexpl-tests (Files): Likewise.
33677         * modules/fseek-tests (Files): Likewise.
33678         * modules/fseeko-tests (Files): Likewise.
33679         * modules/fsync-tests (Files): Likewise.
33680         * modules/ftell-tests (Files): Likewise.
33681         * modules/ftello-tests (Files): Likewise.
33682         * modules/futimens-tests (Files): Likewise.
33683         * modules/getaddrinfo-tests (Files): Likewise.
33684         * modules/getcwd-tests (Files): Likewise.
33685         * modules/getdelim-tests (Files): Likewise.
33686         * modules/getdtablesize-tests (Files): Likewise.
33687         * modules/getgroups-tests (Files): Likewise.
33688         * modules/gethostname-tests (Files): Likewise.
33689         * modules/getline-tests (Files): Likewise.
33690         * modules/getopt-posix-tests (Files): Likewise.
33691         * modules/gettimeofday-tests (Files): Likewise.
33692         * modules/glob-tests (Files): Likewise.
33693         * modules/iconv-tests (Files): Likewise.
33694         * modules/inet_ntop-tests (Files): Likewise.
33695         * modules/inet_pton-tests (Files): Likewise.
33696         * modules/isblank-tests (Files): Likewise.
33697         * modules/lchown-tests (Files): Likewise.
33698         * modules/ldexpl-tests (Files): Likewise.
33699         * modules/link-tests (Files): Likewise.
33700         * modules/linkat-tests (Files): Likewise.
33701         * modules/lseek-tests (Files): Likewise.
33702         * modules/lstat-tests (Files): Likewise.
33703         * modules/mbrtowc-tests (Files): Likewise.
33704         * modules/mbsinit-tests (Files): Likewise.
33705         * modules/mbsnrtowcs-tests (Files): Likewise.
33706         * modules/mbsrtowcs-tests (Files): Likewise.
33707         * modules/memchr-tests (Files): Likewise.
33708         * modules/memcmp-tests (Files): Likewise.
33709         * modules/memmem-tests (Files): Likewise.
33710         * modules/memrchr-tests (Files): Likewise.
33711         * modules/mkdir-tests (Files): Likewise.
33712         * modules/mkfifo-tests (Files): Likewise.
33713         * modules/mkfifoat-tests (Files): Likewise.
33714         * modules/mknod-tests (Files): Likewise.
33715         * modules/nanosleep-tests (Files): Likewise.
33716         * modules/nl_langinfo-tests (Files): Likewise.
33717         * modules/obstack-printf-tests (Files): Likewise.
33718         * modules/open-tests (Files): Likewise.
33719         * modules/openat-tests (Files): Likewise.
33720         * modules/perror-tests (Files): Likewise.
33721         * modules/pipe2-tests (Files): Likewise.
33722         * modules/poll-tests (Files): Likewise.
33723         * modules/popen-tests (Files): Likewise.
33724         * modules/posix_spawn-tests (Files): Likewise.
33725         * modules/posix_spawnp-tests (Files): Likewise.
33726         * modules/pread-tests (Files): Likewise.
33727         * modules/printf-posix-tests (Files): Likewise.
33728         * modules/pty-tests (Files): Likewise.
33729         * modules/random_r-tests (Files): Likewise.
33730         * modules/rawmemchr-tests (Files): Likewise.
33731         * modules/readlink-tests (Files): Likewise.
33732         * modules/remove-tests (Files): Likewise.
33733         * modules/rename-tests (Files): Likewise.
33734         * modules/renameat-tests (Files): Likewise.
33735         * modules/rmdir-tests (Files): Likewise.
33736         * modules/round-tests (Files): Likewise.
33737         * modules/roundf-tests (Files): Likewise.
33738         * modules/roundl-tests (Files): Likewise.
33739         * modules/select-tests (Files): Likewise.
33740         * modules/setenv-tests (Files): Likewise.
33741         * modules/sigaction-tests (Files): Likewise.
33742         * modules/sleep-tests (Files): Likewise.
33743         * modules/snprintf-posix-tests (Files): Likewise.
33744         * modules/snprintf-tests (Files): Likewise.
33745         * modules/sprintf-posix-tests (Files): Likewise.
33746         * modules/stat-tests (Files): Likewise.
33747         * modules/strcasestr-tests (Files): Likewise.
33748         * modules/strchrnul-tests (Files): Likewise.
33749         * modules/strerror-tests (Files): Likewise.
33750         * modules/strsignal-tests (Files): Likewise.
33751         * modules/strstr-tests (Files): Likewise.
33752         * modules/strtod-tests (Files): Likewise.
33753         * modules/strverscmp-tests (Files): Likewise.
33754         * modules/symlink-tests (Files): Likewise.
33755         * modules/symlinkat-tests (Files): Likewise.
33756         * modules/times-tests (Files): Likewise.
33757         * modules/trunc-tests (Files): Likewise.
33758         * modules/truncf-tests (Files): Likewise.
33759         * modules/truncl-tests (Files): Likewise.
33760         * modules/tsearch-tests (Files): Likewise.
33761         * modules/uname-tests (Files): Likewise.
33762         * modules/unlink-tests (Files): Likewise.
33763         * modules/unsetenv-tests (Files): Likewise.
33764         * modules/usleep-tests (Files): Likewise.
33765         * modules/utimensat-tests (Files): Likewise.
33766         * modules/vasprintf-tests (Files): Likewise.
33767         * modules/vdprintf-posix-tests (Files): Likewise.
33768         * modules/vfprintf-posix-tests (Files): Likewise.
33769         * modules/vprintf-posix-tests (Files): Likewise.
33770         * modules/vsnprintf-posix-tests (Files): Likewise.
33771         * modules/vsnprintf-tests (Files): Likewise.
33772         * modules/vsprintf-posix-tests (Files): Likewise.
33773         * modules/wcrtomb-tests (Files): Likewise.
33774         * modules/wcsnrtombs-tests (Files): Likewise.
33775         * modules/wcsrtombs-tests (Files): Likewise.
33776         * modules/wcwidth-tests (Files): Likewise.
33777         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
33778         * tests/test-isinf.c (isinf): Likewise.
33779         * tests/test-isnan.c (isnan): Likewise.
33780         * tests/test-signbit.c (signbit): Likewise.
33781         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
33782         declaration, either as macro or with correct signature.
33783         (select): Ensure function under test is declared with correct
33784         signature in correct header.
33785         * tests/test-atexit.c (atexit): Likewise.
33786         * tests/test-btowc.c (btowc): Likewise.
33787         * tests/test-canonicalize-lgpl.c (realpath)
33788         (canonicalize_file_name): Likewise.
33789         * tests/test-ceilf1.c (ceilf): Likewise.
33790         * tests/test-ceill.c (ceill): Likewise.
33791         * tests/test-chown.c (chown): Likewise.
33792         * tests/test-dprintf-posix.c (dprintf): Likewise.
33793         * tests/test-dup2.c (dup2): Likewise.
33794         * tests/test-dup3.c (dup3): Likewise.
33795         * tests/test-duplocale.c (duplocale): Likewise.
33796         * tests/test-fchdir.c (fchdir): Likewise.
33797         * tests/test-fchownat.c (fchownat): Likewise.
33798         * tests/test-fcntl.c (fcntl): Likewise.
33799         * tests/test-fdopendir.c (fdopendir): Likewise.
33800         * tests/test-fflush.c (fflush): Likewise.
33801         * tests/test-flock.c (flock): Likewise.
33802         * tests/test-floorf1.c (floorf): Likewise.
33803         * tests/test-floorl.c (floorl): Likewise.
33804         * tests/test-fnmatch.c (fnmatch): Likewise.
33805         * tests/test-fopen.c (fopen): Likewise.
33806         * tests/test-fprintf-posix.c (fprintf): Likewise.
33807         * tests/test-freopen.c (freopen): Likewise.
33808         * tests/test-frexp.c (frexp): Likewise.
33809         * tests/test-frexpl.c (frexpl): Likewise.
33810         * tests/test-fseek.c (fseek): Likewise.
33811         * tests/test-fseeko.c (fseeko): Likewise.
33812         * tests/test-fstatat.c (fstatat): Likewise.
33813         * tests/test-fsync.c (fsync): Likewise.
33814         * tests/test-ftell.c (ftell): Likewise.
33815         * tests/test-ftello.c (ftello): Likewise.
33816         * tests/test-futimens.c (futimens): Likewise.
33817         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
33818         (gai_strerror): Likewise.
33819         * tests/test-getcwd.c (getcwd): Likewise.
33820         * tests/test-getdelim.c (getdelim): Likewise.
33821         * tests/test-getdtablesize.c (getdtablesize): Likewise.
33822         * tests/test-getgroups.c (getgroups): Likewise.
33823         * tests/test-gethostname.c (gethostname): Likewise.
33824         * tests/test-getline.c (getline): Likewise.
33825         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
33826         Likewise.
33827         * tests/test-gettimeofday.c (gettimeofday): Likewise.
33828         * tests/test-glob.c (glob, globfree): Likewise.
33829         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
33830         * tests/test-inet_ntop.c (inet_ntop): Likewise.
33831         * tests/test-inet_pton.c (inet_pton): Likewise.
33832         * tests/test-isblank.c (isblank): Likewise.
33833         * tests/test-lchown.c (lchown): Likewise.
33834         * tests/test-ldexpl.c (ldexpl): Likewise.
33835         * tests/test-link.c (link): Likewise.
33836         * tests/test-linkat.c (linkat): Likewise.
33837         * tests/test-lseek.c (lseek): Likewise.
33838         * tests/test-lstat.c (lstat): Likewise.
33839         * tests/test-mbrtowc.c (mbrtowc): Likewise.
33840         * tests/test-mbsinit.c (mbsinit): Likewise.
33841         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
33842         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
33843         * tests/test-memchr.c (memchr): Likewise.
33844         * tests/test-memcmp.c (memcmp): Likewise.
33845         * tests/test-memmem.c (memmem): Likewise.
33846         * tests/test-memrchr.c (memrchr): Likewise.
33847         * tests/test-mkdir.c (mkdir): Likewise.
33848         * tests/test-mkdirat.c (mkdirat): Likewise.
33849         * tests/test-mkfifo.c (mkfifo): Likewise.
33850         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
33851         * tests/test-mknod.c (mknod): Likewise.
33852         * tests/test-nanosleep.c (nanosleep): Likewise.
33853         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
33854         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
33855         Likewise.
33856         * tests/test-open.c (open): Likewise.
33857         * tests/test-openat.c (openat): Likewise.
33858         * tests/test-perror.c (perror): Likewise.
33859         * tests/test-pipe2.c (pipe2): Likewise.
33860         * tests/test-poll.c (poll): Likewise.
33861         * tests/test-popen.c (popen, pclose): Likewise.
33862         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
33863         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
33864         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
33865         (posix_spawn_file_actions_destroy)
33866         (posix_spawn_file_actions_addclose)
33867         (posix_spawn_file_actions_addopen)
33868         (posix_spawn_file_actions_adddup2): Likewise.
33869         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
33870         * tests/test-pread.c (pread): Likewise.
33871         * tests/test-printf-posix.c (printf): Likewise.
33872         * tests/test-pty.c (openpty, forkpty): Likewise.
33873         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
33874         (random_r): Likewise.
33875         * tests/test-rawmemchr.c (rawmemchr): Likewise.
33876         * tests/test-readlink.c (readlink): Likewise.
33877         * tests/test-remove.c (remove): Likewise.
33878         * tests/test-rename.c (rename): Likewise.
33879         * tests/test-renameat.c (renameat): Likewise.
33880         * tests/test-rmdir.c (rmdir): Likewise.
33881         * tests/test-round1.c (round): Likewise.
33882         * tests/test-roundf1.c (roundf): Likewise.
33883         * tests/test-roundl.c (roundl): Likewise.
33884         * tests/test-setenv.c (setenv): Likewise.
33885         * tests/test-sigaction.c (sigaction): Likewise.
33886         * tests/test-sleep.c (sleep): Likewise.
33887         * tests/test-snprintf.c (snprintf): Likewise.
33888         * tests/test-sprintf-posix.c (sprintf): Likewise.
33889         * tests/test-stat.c (stat): Likewise.
33890         * tests/test-stpncpy.c (stpncpy): Likewise.
33891         * tests/test-strcasestr.c (strcasestr): Likewise.
33892         * tests/test-strchrnul.c (strchrnul): Likewise.
33893         * tests/test-strerror.c (strerror): Likewise.
33894         * tests/test-strsignal.c (strsignal): Likewise.
33895         * tests/test-strstr.c (strstr): Likewise.
33896         * tests/test-strtod.c (strtod): Likewise.
33897         * tests/test-strverscmp.c (strverscmp): Likewise.
33898         * tests/test-symlink.c (symlink): Likewise.
33899         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
33900         * tests/test-times.c (times): Likewise.
33901         * tests/test-trunc1.c (trunc): Likewise.
33902         * tests/test-truncf1.c (truncf): Likewise.
33903         * tests/test-truncl.c (truncl): Likewise.
33904         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
33905         Likewise.
33906         * tests/test-uname.c (uname): Likewise.
33907         * tests/test-unlink.c (unlink): Likewise.
33908         * tests/test-unlinkat.c (unlinkat): Likewise.
33909         * tests/test-unsetenv.c (unsetenv): Likewise.
33910         * tests/test-usleep.c (usleep): Likewise.
33911         * tests/test-utimensat.c (utimensat): Likewise.
33912         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
33913         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
33914         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
33915         * tests/test-vprintf-posix.c (vprintf): Likewise.
33916         * tests/test-vsnprintf.c (vsnprintf): Likewise.
33917         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
33918         * tests/test-wcrtomb.c (wcrtomb): Likewise.
33919         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
33920         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
33921         * tests/test-wcwidth.c (wcwidth): Likewise.
33922
33923         build: pull in conditional headers during GNULIB_POSIXCHECK
33924         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
33925         definitions from any conditionally-included headers.
33926         * lib/stdlib.in.h (includes): Likewise.
33927         * lib/unistd.in.h (includes): Likewise.
33928
33929 2009-12-24  Bruno Haible  <bruno@clisp.org>
33930
33931         * tests/test-argv-iter.c: Include header file being tested immediately
33932         after config.h.
33933         * tests/test-base64.c: Likewise.
33934         * tests/test-flock.c: Likewise.
33935         * tests/test-fsync.c: Likewise.
33936         * tests/test-getdate.c: Likewise.
33937         * tests/test-getndelim2.c: Likewise.
33938         * tests/test-isfinite.c: Likewise.
33939         * tests/test-isinf.c: Likewise.
33940         * tests/test-strerror.c: Likewise.
33941         * tests/test-strsignal.c: Likewise.
33942
33943 2009-12-23  Eric Blake  <ebb9@byu.net>
33944
33945         unistd: work around cygwin bug
33946         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
33947         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
33948         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33949
33950 2009-12-23  Bruno Haible  <bruno@clisp.org>
33951
33952         localename: More tests.
33953         * tests/test-localename.c (SIZEOF): New macro.
33954         (categories): New variable.
33955         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
33956         test_locale_name_default): Add test w.r.t. thread locale.
33957         (test_locale_name_thread): New function.
33958         (main): Invoke it.
33959
33960         localename: Make aware of thread locale.
33961         * lib/localename.h (gl_locale_name_thread): New declaration.
33962         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
33963         behaviour with respect to thread locale.
33964         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
33965         <langinfo.h>, glthread/lock.h.
33966         (SIZE_BITS): New macro.
33967         (string_hash): New function.
33968         (struct hash_node): New type.
33969         (HASH_TABLE_SIZE): New macro.
33970         (struniq_hash_table, struniq_lock): New variables.
33971         (struniq): New function.
33972         (gl_locale_name_thread): New function.
33973         (gl_locale_name): Invoke it.
33974         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
33975         * modules/localename (Depends-on): Add lock.
33976         Reported by Mike Gran <spk121@yahoo.com>.
33977
33978 2009-12-23  Eric Blake  <ebb9@byu.net>
33979
33980         va-args: new module
33981         * modules/va-args: New file.
33982         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
33983         * MODULES.html.sh (Core language properties): Mention it.
33984
33985         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
33986         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
33987         named alias for __attribute__((__unused__)).
33988         * lib/chown.c: Update client.
33989         * lib/fchmodat.c: Likewise.
33990         * lib/fts.c: Likewise.
33991         * lib/getdate.y: Likewise.
33992         * lib/getgroups.c: Likewise.
33993         * lib/getopt.c: Likewise.
33994         * lib/getugroups.c: Likewise.
33995         * lib/mkdir.c: Likewise.
33996         * lib/mkfifo.c: Likewise.
33997         * lib/mkfifoat.c: Likewise.
33998         * lib/mknod.c: Likewise.
33999         * lib/mknodat.c: Likewise.
34000         * lib/readlink.c: Likewise.
34001         * lib/se-context.in.h: Likewise.
34002         * lib/se-selinux.in.h: Likewise.
34003         * lib/sockets.c: Likewise.
34004         * lib/symlink.c: Likewise.
34005         * lib/symlinkat.c: Likewise.
34006         * lib/unicodeio.c: Likewise.
34007         * lib/unistr.h: Likewise.
34008         * tests/test-areadlink.c: Likewise.
34009         * tests/test-areadlinkat.c: Likewise.
34010         * tests/test-filenamecat.c: Likewise.
34011         * tests/test-fseeko.c: Likewise.
34012         * tests/test-ftello.c: Likewise.
34013         * tests/test-getdate.c: Likewise.
34014         * tests/test-getgroups.c: Likewise.
34015         * tests/test-gethostname.c: Likewise.
34016         * tests/test-quotearg.c: Likewise.
34017         * tests/test-version-etc.c: Likewise.
34018         * tests/test-xalloc-die.c: Likewise.
34019         * tests/test-xfprintf-posix.c: Likewise.
34020         * tests/test-xprintf-posix.c: Likewise.
34021         * tests/test-xvasprintf.c: Likewise.
34022
34023         tests: avoid compiler warnings
34024         * tests/test-fcntl.c (main): Delete unused parameters.
34025         * tests/test-freopen-safer.c (main): Likewise.
34026         * tests/test-xalloc-die.c (main): Mark unused parameters.
34027         * tests/test-fseeko.c (main): Likewise.
34028         * tests/test-ftello.c (main): Likewise.
34029         * tests/test-nanosleep.c (main): Avoid declaration warning.
34030         * tests/test-sleep.c (main): Likewise.
34031         * tests/test-unsetenv.c (main): Silence warning about string
34032         literal.
34033         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
34034
34035 2009-12-23  Bruno Haible  <bruno@clisp.org>
34036
34037         * tests/test-localename.c (test_locale_name): New function, extracted
34038         from main. Also test mixed situations.
34039         (test_locale_name_posix, test_locale_name_environ,
34040         test_locale_name_default): New functions.
34041         (main): Invoke them all.
34042         * modules/localename-tests (configure.ac): Test for newlocale.
34043
34044 2009-12-23  Bruno Haible  <bruno@clisp.org>
34045
34046         unistd: Ensure getcwd gets declared before being overridden.
34047         * lib/unistd.in.h: Conditionally include <io.h>.
34048
34049 2009-12-22  Bruno Haible  <bruno@clisp.org>
34050
34051         wchar: Diagnose broken combination of glibc and gcc versions and flags.
34052         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
34053         (gl_WCHAR_H): Invoke it.
34054         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
34055         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
34056         Reported by Karl Berry <karl@freefriends.org>.
34057
34058 2009-12-22  Eric Blake  <ebb9@byu.net>
34059
34060         math, unistd: avoid redundant includes
34061         * lib/math.in.h (isnan): No need to re-include <math.h>.
34062         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
34063
34064         getsubopt: work around cygwin bug
34065         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
34066         avoid conflicting with system getsubopt.
34067         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
34068         bug.
34069
34070         getopt: synchronize from glibc
34071         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
34072         parameter order.  Adjust all callers.
34073         (_getopt_internal_r, main): Adjust quoting in error messages.
34074         Drop considerations for outdated POSIX 1003.2 error message.
34075         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
34076         callers.
34077         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
34078
34079         test-getopt: test stderr behavior
34080         * modules/getopt-posix-tests (Depends-on): Add dup2.
34081         * tests/test-getopt.c (ASSERT): Avoid stderr.
34082         (main): Move stderr to a temporary file.
34083         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
34084         Instead, add parameter to inform caller if output occurred.
34085         (test_getopt): Adjust all existing tests to expect silence, and
34086         add new tests of leading ":".
34087         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
34088         glibc shortcomings with leading "-:" or "+:" in optstring.
34089         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34090         Likewise.
34091         * doc/posix-functions/getopt.texi (getopt): Likewise.
34092
34093         test-getopt: enhance test
34094         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
34095         supports optind=0.
34096         * tests/test-getopt.c (OPTIND_MIN): Move...
34097         * tests/test-getopt.h (OPTIND_MIN): ...here.
34098         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
34099         Require that optind=0 works, since modern BSD supports it in
34100         addition to optreset, and since coreutils expects it.
34101         (test_getopt_long_only): New test.
34102         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
34103         glibc shortcomings with 'W;', and enforcement of optind=0.
34104         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34105         Likewise.
34106
34107 2009-12-21  Bruno Haible  <bruno@clisp.org>
34108
34109         localename: Improvements for MacOS X and Cygwin.
34110         * lib/localename.h (gl_locale_name_environ): New declaration.
34111         * lib/localename.c (gl_locale_name_environ): New function, extracted from
34112         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
34113         (gl_locale_name_posix): Invoke it.
34114         (gl_locale_name_default): Add comments. Use Windows native API also on
34115         Cygwin.
34116
34117 2009-12-21  Bruno Haible  <bruno@clisp.org>
34118
34119         Update list of Win32 locale ids.
34120         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
34121         (LANG_SAMI): Renamed from LANG_SAAMI.
34122         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
34123         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
34124         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
34125         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
34126         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
34127         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
34128         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
34129         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
34130         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
34131         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
34132         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
34133         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
34134         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
34135         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
34136         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
34137         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
34138         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
34139         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
34140         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
34141         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
34142         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
34143         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
34144         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
34145         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
34146         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
34147         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
34148         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
34149         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
34150         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
34151         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
34152         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
34153         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
34154         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
34155         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
34156         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
34157         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
34158         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
34159         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
34160         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
34161         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
34162         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
34163         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
34164         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
34165         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
34166         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
34167         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
34168         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
34169         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
34170         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
34171         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
34172         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
34173         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
34174         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
34175         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
34176         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
34177         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
34178         Add more languages and countries for Sami, Sorbian. Add more countries
34179         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
34180         for Pashto. Change country for Syriac, Tswana.
34181
34182 2009-12-21  Eric Blake  <ebb9@byu.net>
34183
34184         test-utimens: avoid spurious failure
34185         * tests/test-chown.h (nap): Factor...
34186         * tests/nap.h: ...into new file.
34187         * tests/test-lchown.h (nap): Avoid duplication.
34188         * tests/test-utimens-common.h (nap): Use shared implementation,
34189         necessary on file systems with 1-second resolution.
34190         * modules/chown-tests (Files): Include new file.
34191         * modules/fdutimensat-tests (Files): Likewise.
34192         * modules/futimens-tests (Files): Likewise.
34193         * modules/lchown-tests (Files): Likewise.
34194         * modules/openat-tests (Files): Likewise.
34195         * modules/utimens-tests (Files): Likewise.
34196         * modules/utimensat-tests (Files): Likewise.
34197
34198 2009-12-19  Eric Blake  <ebb9@byu.net>
34199
34200         futimens, utimensat: work around Linux bug
34201         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
34202         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
34203         * lib/utimensat.c (rpl_utimensat): Work around it.
34204         * lib/futimens.c (rpl_futimens): Adjust comment.
34205
34206         utimens: work around Linux ctime bug
34207         * lib/utimens.c (detect_ctime_bug): New helper function.
34208         (update_timespec): Differentiate between workaround needed for
34209         this bug vs. what is needed for systems that lack utimensat.
34210         (fdutimens, lutimens): Work around bug.
34211
34212         utimens: check for ctime update
34213         * tests/test-utimens-common.h (check_ctime): Define.
34214         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
34215         * tests/test-futimens.h (test_futimens): Likewise.
34216         * tests/test-lutimens.h (test_lutimens): Likewise.
34217         * doc/posix-functions/futimens.texi (futimens): Document the bug.
34218         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34219
34220 2009-12-19  Bruno Haible  <bruno@clisp.org>
34221
34222         dprintf-posix: Check against memory leak fixed on 2009-12-15.
34223         * tests/test-dprintf-posix2.sh: New file.
34224         * tests/test-dprintf-posix2.c: New file.
34225         * modules/dprintf-posix-tests (Files): Add them.
34226         (configure.ac): Check for getrlimit and setrlimit.
34227         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
34228
34229 2009-12-19  Bruno Haible  <bruno@clisp.org>
34230
34231         fprintf-posix: Check against memory leak fixed on 2009-12-15.
34232         * tests/test-fprintf-posix3.sh: New file.
34233         * tests/test-fprintf-posix3.c: New file.
34234         * modules/fprintf-posix-tests (Files): Add them.
34235         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
34236
34237 2009-12-19  Eric Blake  <ebb9@byu.net>
34238
34239         dirfd: fix prototype
34240         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
34241         * lib/dirfd.c (dirfd): Likewise.
34242
34243         canonicalize: reduce memory usage
34244         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
34245         allocation to size.
34246         Reported by Solar Designer <solar@openwall.com>.
34247
34248 2009-12-19  Bruno Haible  <bruno@clisp.org>
34249
34250         New module attribute 'Applicability'.
34251         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
34252         * gnulib-tool: New option --extract-applicability.
34253         (func_usage): Document it.
34254         (sed_extract_prog): Recognize it.
34255         (func_get_applicability): New function.
34256         (func_import): Generalize handling of 'link-warning' module.
34257         * modules/link-warning (Applicability): New section.
34258         * modules/arg-nonnull (Applicability): New section.
34259         Repoted by Simon Josefsson <simon@josefsson.org>.
34260
34261 2009-12-19  Bruno Haible  <bruno@clisp.org>
34262
34263         fflush: tweak
34264         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
34265         * lib/fseeko.c (rpl_fseeko): Likewise.
34266
34267 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
34268
34269         * lib/gl_list.h: Fix typo in comment.
34270
34271 2009-12-16  Eric Blake  <ebb9@byu.net>
34272
34273         fcntl: use to simplify other modules
34274         * modules/cloexec (Depends-on): Add fcntl.
34275         * modules/fchdir (Depends-on): Likewise.
34276         * modules/fd-safer-flag (Depends-on): Likewise.
34277         * modules/unistd-safer (Depends-on): Likewise.
34278         * modules/dup3 (configure.ac): Set module indicator.
34279         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
34280         missing.
34281         * lib/fchdir.c (_gl_register_dup): Fix comment.
34282         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
34283         * lib/dup-safer.c (dup_safer): Likewise.
34284         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
34285         * lib/dup3.c (dup3): Likewise.
34286         * tests/test-fchdir.c (main): Enhance test.
34287         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
34288
34289         fcntl: port portions of fcntl to mingw
34290         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
34291         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
34292         replacement for mingw.
34293         * modules/fcntl (Description): Update.
34294         (Depends-on): Add dup2.
34295         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
34296         * modules/fcntl-h (Makefile.am): Substitute it.
34297         * lib/fcntl.in.h (fcntl): Update declaration.
34298         (F_DUPFD, F_GETFD): New macros, when needed.
34299         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
34300         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
34301         * tests/test-fcntl.c (check_flags, main): Enhance test for items
34302         we now guarantee.
34303
34304         fcntl: work around cygwin bug in F_DUPFD
34305         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
34306         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
34307         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
34308         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
34309         * doc/posix-functions/fcntl.texi (fcntl): Document it.
34310
34311         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
34312         * modules/fcntl (Files): List new files.
34313         (configure.ac): Run a test.
34314         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
34315         * lib/fcntl.c (rpl_fcntl): Likewise.
34316         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
34317         (gl_FCNTL_H): Always replace fcntl.h.
34318         * modules/fcntl-h (Makefile.am): Substitute witnesses.
34319         * lib/fcntl.in.h (fcntl): Declare replacement.
34320         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
34321         needed, plus a witness.
34322         * doc/posix-functions/fcntl.texi (fcntl): Document this.
34323         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
34324         * tests/test-fcntl.c: New file.
34325         * modules/fcntl-tests: Likewise.
34326
34327         binary-io: avoid potential compilation warning
34328         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
34329         directives.
34330
34331         fflush: avoid compilation error on NetBSD
34332         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
34333         between off_t and fpos_t, since the latter is sometimes a struct.
34334         * lib/fseeko.c (rpl_fseeko): Likewise.
34335         Reported by Alexander Nasonov <alnsn@yandex.ru>.
34336
34337 2009-12-15  Eric Blake  <ebb9@byu.net>
34338
34339         fcntl-h, stdio, sys_ioctl: fix declarations
34340         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
34341         function must not take arguments.
34342         * lib/sys_ioctl.in.h (ioctl): Likewise.
34343         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
34344         (open): Add a link warning.
34345
34346 2009-12-15  Jim Meyering  <meyering@redhat.com>
34347
34348         areadlink, areadlink-with-size: relax license to LGPLv2+
34349         * modules/areadlink (License): Relax to LGPLv2+.
34350         * modules/areadlink-with-size (License): Likewise.
34351
34352 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
34353             Bruno Haible  <bruno@clisp.org>
34354
34355         *printf: Fix memory leak.
34356         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
34357         * lib/vfprintf.c (vfprintf): Likewise.
34358         * lib/dprintf.c (dprintf): Likewise.
34359         * lib/vdprintf.c (vdprintf): Likewise.
34360
34361 2009-12-14  Eric Blake  <ebb9@byu.net>
34362
34363         accept4: adjust module dependencies
34364         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
34365
34366         utimens: one more try at avoiding compiler warning
34367         * lib/utimens.c (lutimens): Lower scope of result.
34368
34369 2009-12-13  Bruno Haible  <bruno@clisp.org>
34370
34371         Move the malloc checking from module 'list' to new module 'xlist'.
34372         * modules/xlist: New file.
34373         * lib/gl_xlist.h: New file.
34374         * lib/gl_xlist.c: New file.
34375         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
34376         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
34377         gl_list_add_last, gl_list_add_before, gl_list_add_after,
34378         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
34379         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
34380         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
34381         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
34382         gl_sortedlist_nx_add): New declarations.
34383         (struct gl_list_implementation): Rename and change methods accordingly.
34384         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
34385         (gl_list_nx_create): Renamed from gl_list_create.
34386         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
34387         (gl_list_nx_set_at): Renamed from gl_list_set_at.
34388         (gl_list_nx_add_first): Renamed from gl_list_add_first.
34389         (gl_list_nx_add_last): Renamed from gl_list_add_last.
34390         (gl_list_nx_add_before): Renamed from gl_list_add_before.
34391         (gl_list_nx_add_after): Renamed from gl_list_add_after.
34392         (gl_list_nx_add_at): Renamed from gl_list_add_at.
34393         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
34394         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
34395         gl_list_create_empty.
34396         (gl_list_nx_create): Renamed from gl_list_create.
34397         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
34398         (gl_list_nx_set_at): Renamed from gl_list_set_at.
34399         (gl_list_nx_add_first): Renamed from gl_list_add_first.
34400         (gl_list_nx_add_last): Renamed from gl_list_add_last.
34401         (gl_list_nx_add_before): Renamed from gl_list_add_before.
34402         (gl_list_nx_add_after): Renamed from gl_list_add_after.
34403         (gl_list_nx_add_at): Renamed from gl_list_add_at.
34404         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
34405         * lib/gl_array_list.c: Don't include xalloc.h.
34406         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
34407         NULL upon out-of-memory.
34408         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
34409         out-of-memory.
34410         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
34411         Change return type to 'int'.
34412         (gl_array_nx_set_at): Renamed from gl_array_set_at.
34413         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
34414         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
34415         upon out-of-memory.
34416         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
34417         upon out-of-memory.
34418         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
34419         upon out-of-memory.
34420         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
34421         upon out-of-memory.
34422         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
34423         out-of-memory.
34424         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
34425         Update.
34426         (gl_array_list_implementation): Update.
34427         * lib/gl_carray_list.c: Don't include xalloc.h.
34428         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
34429         Return NULL upon out-of-memory.
34430         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
34431         out-of-memory.
34432         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
34433         Change return type to 'int'.
34434         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
34435         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
34436         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
34437         upon out-of-memory.
34438         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
34439         upon out-of-memory.
34440         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
34441         out-of-memory.
34442         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
34443         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
34444         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
34445         Update.
34446         (gl_carray_list_implementation): Update.
34447         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
34448         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
34449         gl_linked_create_empty. Return NULL upon out-of-memory.
34450         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
34451         out-of-memory.
34452         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
34453         Change return type to 'int'. Return -1 upon out-of-memory.
34454         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
34455         out-of-memory.
34456         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
34457         upon out-of-memory.
34458         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
34459         upon out-of-memory.
34460         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
34461         NULL upon out-of-memory.
34462         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
34463         upon out-of-memory.
34464         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
34465         out-of-memory.
34466         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
34467         Update.
34468         * lib/gl_linked_list.c: Don't include xalloc.h.
34469         (gl_linked_list_implementation): Update.
34470         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
34471         (add_to_bucket): Change return type to 'int'.
34472         (gl_linkedhash_list_implementation): Update.
34473         * lib/gl_anytree_list1.h (free_subtree): New function.
34474         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
34475         gl_tree_create_empty. Return NULL upon out-of-memory.
34476         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
34477         Change return type to 'int'. Return -1 upon out-of-memory.
34478         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
34479         out-of-memory.
34480         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
34481         (gl_tree_remove_node): New function, moved here from
34482         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
34483         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
34484         Update.
34485         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
34486         malloc, not xmalloc. Return NULL upon out-of-memory.
34487         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
34488         out-of-memory.
34489         (gl_tree_remove_node_from_tree): New function, extracted from
34490         gl_tree_remove_node.
34491         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
34492         upon out-of-memory.
34493         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
34494         out-of-memory.
34495         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
34496         upon out-of-memory.
34497         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
34498         upon out-of-memory.
34499         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
34500         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
34501         not xmalloc. Return NULL upon out-of-memory.
34502         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
34503         out-of-memory.
34504         (gl_tree_remove_node_from_tree): New function, extracted from
34505         gl_tree_remove_node.
34506         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
34507         upon out-of-memory.
34508         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
34509         out-of-memory.
34510         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
34511         upon out-of-memory.
34512         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
34513         upon out-of-memory.
34514         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
34515         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
34516         gl_anytree_list1.h before gl_anyavltree_list2.h.
34517         (gl_avltree_list_implementation): Update.
34518         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
34519         gl_anytree_list1.h before gl_anyavltree_list2.h.
34520         (gl_rbtree_list_implementation): Update.
34521         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
34522         Change return type to 'int'. Return -1 upon out-of-memory. Use
34523         __builtin_expect.
34524         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
34525         (gl_avltreehash_list_implementation): Update.
34526         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
34527         (gl_rbtreehash_list_implementation): Update.
34528         * modules/array-list (Depends-on): Remove xalloc.
34529         * modules/carray-list (Depends-on): Likewise.
34530         * modules/linked-list (Depends-on): Likewise.
34531         * modules/linkedhash-list (Depends-on): Likewise.
34532         * modules/avltree-list (Depends-on): Likewise.
34533         * modules/rbtree-list (Depends-on): Likewise.
34534         * modules/avltreehash-list (Depends-on): Likewise.
34535         * modules/rbtreehash-list (Depends-on): Likewise.
34536
34537         * modules/xsublist: New file.
34538         * lib/gl_xsublist.h: New file.
34539         * lib/gl_xsublist.c: New file.
34540         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
34541         (gl_sublist_nx_create): New declaration.
34542         * lib/gl_sublist.c: Don't include xalloc.h.
34543         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
34544         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
34545         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
34546         Change return type to 'int'. Return -1 upon out-of-memory.
34547         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
34548         upon out-of-memory.
34549         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
34550         NULL upon out-of-memory.
34551         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
34552         upon out-of-memory.
34553         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
34554         NULL upon out-of-memory.
34555         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
34556         NULL upon out-of-memory.
34557         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
34558         upon out-of-memory.
34559         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
34560         (gl_sublist_list_implementation): Update.
34561         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
34562         upon out-of-memory.
34563         * modules/sublist (Depends-on): Remove xalloc.
34564
34565         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
34566         * tests/test-carray_list.c: Likewise.
34567         * tests/test-linked_list.c: Likewise.
34568         * tests/test-linkedhash_list.c: Likewise.
34569         * tests/test-avltree_list.c: Likewise.
34570         * tests/test-rbtree_list.c: Likewise.
34571         * tests/test-avltreehash_list.c: Likewise.
34572         * tests/test-rbtreehash_list.c: Likewise.
34573         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
34574         * modules/carray-list-tests (Makefile.am): Likewise.
34575         * modules/linked-list-tests (Makefile.am): Likewise.
34576         * modules/linkedhash-list-tests (Makefile.am): Likewise.
34577         * modules/avltree-list-tests (Makefile.am): Likewise.
34578         * modules/rbtree-list-tests (Makefile.am): Likewise.
34579         * modules/avltreehash-list-tests (Makefile.am): Likewise.
34580         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
34581
34582         * NEWS: Mention the changes.
34583
34584         * lib/clean-temp.c: Include gl_xlist.h.
34585         * modules/clean-temp (Depends-on): Add xlist.
34586
34587         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
34588         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
34589
34590         * tests/test-array_oset.c: Include gl_xlist.h.
34591         * modules/array-oset-tests (Depends-on): Add xlist.
34592
34593         Reported by José E. Marchesi <jemarch@gnu.org>.
34594
34595 2009-12-13  Bruno Haible  <bruno@clisp.org>
34596
34597         Move the malloc checking from module 'oset' to new module 'xoset'.
34598         * modules/xoset: New file.
34599         * lib/gl_xoset.h: New file.
34600         * lib/gl_xoset.c: New file.
34601         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
34602         declarations.
34603         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
34604         (struct gl_oset_implementation): Rename and change methods accordingly.
34605         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
34606         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
34607         'int'. Mark as __warn_unused_result__.
34608         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
34609         gl_oset_create_empty.
34610         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
34611         'int'.
34612         * lib/gl_array_oset.c: Don't include xalloc.h.
34613         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
34614         malloc, not xmalloc.
34615         (grow): Change return type to 'int'. Don't call xalloc_die.
34616         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
34617         to 'int'.
34618         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
34619         'int'.
34620         (gl_array_oset_implementation): Update.
34621         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
34622         gl_tree_create_empty.
34623         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
34624         'int'.
34625         * lib/gl_avltree_oset.c: Don't include xalloc.h.
34626         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
34627         xmalloc.
34628         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
34629         not xmalloc.
34630         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
34631         xmalloc.
34632         (gl_avltree_oset_implementation): Update.
34633         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
34634         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
34635         xmalloc.
34636         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
34637         not xmalloc.
34638         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
34639         xmalloc.
34640         (gl_rbtree_oset_implementation): Update.
34641         * modules/array-oset (Depends-on): Remove xalloc.
34642         * modules/avltree-oset (Depends-on): Likewise.
34643         * modules/rbtree-oset (Depends-on): Likewise.
34644         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
34645         * tests/test-avltree_oset.c: Likewise.
34646         * tests/test-rbtree_oset.c: Likewise.
34647         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
34648         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
34649         * modules/rbtree-oset-tests (Makefile.am): Likewise.
34650         * NEWS: Mention the change.
34651
34652 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
34653
34654         maint.mk: allow a project to override release-prep commands
34655         * top/maint.mk (alpha, beta, stable): Move release-preparatory
34656         commands into a new rule.
34657         (release-prep): New rule.
34658         (release-prep-hook): New overridable variable.
34659
34660 2009-12-13  Bruno Haible  <bruno@clisp.org>
34661
34662         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
34663
34664 2009-12-13  Jim Meyering  <meyering@redhat.com>
34665
34666         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
34667         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
34668
34669 2009-12-12  Bruno Haible  <bruno@clisp.org>
34670
34671         duplocale: Tweak.
34672         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
34673
34674 2009-12-12  Karl Berry  <karl@gnu.org>
34675
34676         * config/srclist.txt (strtoll.c): tab changes, no more sync.
34677
34678 2009-12-12  Bruno Haible  <bruno@clisp.org>
34679
34680         * m4/po.m4: Undo incorrect untabification.
34681
34682 2009-12-12  Bruno Haible  <bruno@clisp.org>
34683
34684         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
34685         * modules/c-strtod (Depends-on): Add locale.
34686         * modules/c-strtold (Depends-on): Likewise.
34687
34688 2009-12-12  Bruno Haible  <bruno@clisp.org>
34689
34690         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
34691
34692 2009-12-11  Eric Blake  <ebb9@byu.net>
34693
34694         setenv: relax requirement in light of POSIX ruling
34695         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
34696         not NULL.
34697         * tests/test-setenv.c (main): Relax test.
34698         * tests/test-unsetenv.c (main): Likewise.
34699         * doc/posix-functions/setenv.texi (setenv): Document this.
34700         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
34701
34702 2009-12-11  Bruno Haible  <bruno@clisp.org>
34703
34704         New module 'fd-safer-flag'.
34705         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
34706         * lib/dup-safer.c (dup_safer_flag): Remove function.
34707         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
34708         * lib/fd-safer.c (fd_safer_flag): Remove function.
34709         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
34710         * modules/cloexec (configure.ac): Drop indicator macro.
34711         * modules/fd-safer-flag: New file.
34712         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
34713         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
34714         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
34715
34716 2009-12-11  Bruno Haible  <bruno@clisp.org>
34717
34718         Tests for module 'nl_langinfo'.
34719         * modules/nl_langinfo-tests: New file.
34720         * tests/test-nl_langinfo.sh: New file.
34721         * tests/test-nl_langinfo.c: New file.
34722
34723         New module 'nl_langinfo'.
34724         * lib/nl_langinfo.c: New file.
34725         * m4/nl_langinfo.m4: New file.
34726         * modules/nl_langinfo: New file.
34727         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
34728
34729 2009-12-11  Bruno Haible  <bruno@clisp.org>
34730
34731         Tests for module 'langinfo'.
34732         * modules/langinfo-tests: New file.
34733         * tests/test-langinfo.c: New file.
34734
34735         New module 'langinfo'.
34736         * lib/langinfo.in.h: New file.
34737         * m4/langinfo_h.m4: New file.
34738         * modules/langinfo: New file.
34739         * doc/posix-headers/langinfo.texi: Mention the new module.
34740
34741 2009-12-11  Bruno Haible  <bruno@clisp.org>
34742
34743         * lib/config.charset: Untabify.
34744
34745 2009-12-11  Bruno Haible  <bruno@clisp.org>
34746
34747         * modules/unistd-safer (configure.ac): Drop indicator macro.
34748
34749 2009-12-11  Bruno Haible  <bruno@clisp.org>
34750
34751         Move pipe2-safer code to its own file.
34752         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
34753         * lib/pipe-safer.c (pipe2_safer): Remove function.
34754         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
34755         (Makefile.am): Add it to lib_SOURCES.
34756
34757 2009-12-10  Bruno Haible  <bruno@clisp.org>
34758
34759         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
34760
34761 2009-12-10  Bruno Haible  <bruno@clisp.org>
34762
34763         Declare which arguments expect non-NULL values, for GCC and clang.
34764         * build-aux/arg-nonnull.h: New file.
34765         * modules/arg-nonnull: New file.
34766         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
34767         (inet_ntop, inet_pton): Use it.
34768         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
34769         (closedir, dirfd, opendir, scandir, alphasort): Use it.
34770         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
34771         (open, openat): Use it.
34772         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
34773         (fnmatch): Use it.
34774         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
34775         (getopt, getopt_long, getopt_long_only): Use it.
34776         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
34777         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
34778         Use it.
34779         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
34780         (iconv_open): Use it.
34781         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
34782         (strtoimax, strtoumax): Use it.
34783         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
34784         (duplocale): Use it.
34785         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
34786         (frexp, frexpl): Use it.
34787         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
34788         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
34789         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
34790         (tsearch, tfind, tdelete, twalk): Use it.
34791         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
34792         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
34793         sigpending): Use it.
34794         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
34795         (posix_spawn, posix_spawnp, posix_spawnattr_init,
34796         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
34797         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
34798         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
34799         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
34800         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
34801         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
34802         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
34803         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
34804         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
34805         Use it.
34806         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
34807         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
34808         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
34809         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
34810         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
34811         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
34812         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
34813         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
34814         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
34815         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
34816         strtoull, unsetenv): Use it.
34817         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
34818         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
34819         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
34820         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
34821         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
34822         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
34823         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
34824         (strcasecmp, strncasecmp): Use it.
34825         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
34826         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
34827         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
34828         rpl_setsockopt): Use it.
34829         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
34830         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
34831         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
34832         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
34833         (gettimeofday): Use it.
34834         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
34835         (times): Use it.
34836         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
34837         (uname): Use it.
34838         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
34839         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
34840         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
34841         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
34842         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
34843         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
34844         unlinkat, write): Use it.
34845         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
34846         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
34847         * lib/argv-iter.h: Include arg-nonnull.h.
34848         (_ATTRIBUTE_NONNULL_): Remove macro.
34849         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
34850         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
34851         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
34852         optimization.
34853         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
34854         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
34855         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
34856         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
34857         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
34858         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
34859         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
34860         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
34861         * modules/arpa_inet (Depends-on): Add arg-nonnull.
34862         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
34863         * modules/dirent (Depends-on): Add arg-nonnull.
34864         (Makefile.am): Insert arg-nonnull.h into dirent.h.
34865         * modules/fcntl-h (Depends-on): Add arg-nonnull.
34866         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
34867         * modules/fnmatch (Depends-on): Add arg-nonnull.
34868         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
34869         * modules/getopt-posix (Depends-on): Add arg-nonnull.
34870         (Makefile.am): Insert arg-nonnull.h into getopt.h.
34871         * modules/glob (Depends-on): Add arg-nonnull.
34872         (Makefile.am): Insert arg-nonnull.h into glob.h.
34873         * modules/iconv_open (Depends-on): Add arg-nonnull.
34874         (Makefile.am): Insert arg-nonnull.h into iconv.h.
34875         * modules/inttypes (Depends-on): Add arg-nonnull.
34876         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
34877         * modules/locale (Depends-on): Add arg-nonnull.
34878         (Makefile.am): Insert arg-nonnull.h into locale.h.
34879         * modules/math (Depends-on): Add arg-nonnull.
34880         (Makefile.am): Insert arg-nonnull.h into math.h.
34881         * modules/netdb (Depends-on): Add arg-nonnull.
34882         (Makefile.am): Insert arg-nonnull.h into netdb.h.
34883         * modules/search (Depends-on): Add arg-nonnull.
34884         (Makefile.am): Insert arg-nonnull.h into search.h.
34885         * modules/signal (Depends-on): Add arg-nonnull.
34886         (Makefile.am): Insert arg-nonnull.h into signal.h.
34887         * modules/spawn (Depends-on): Add arg-nonnull.
34888         (Makefile.am): Insert arg-nonnull.h into spawn.h.
34889         * modules/stdio (Depends-on): Add arg-nonnull.
34890         (Makefile.am): Insert arg-nonnull.h into stdio.h.
34891         * modules/stdlib (Depends-on): Add arg-nonnull.
34892         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
34893         * modules/string (Depends-on): Add arg-nonnull.
34894         (Makefile.am): Insert arg-nonnull.h into string.h.
34895         * modules/strings (Depends-on): Add arg-nonnull.
34896         (Makefile.am): Insert arg-nonnull.h into strings.h.
34897         * modules/sys_socket (Depends-on): Add arg-nonnull.
34898         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
34899         * modules/sys_stat (Depends-on): Add arg-nonnull.
34900         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
34901         * modules/sys_time (Depends-on): Add arg-nonnull.
34902         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
34903         * modules/sys_times (Depends-on): Add arg-nonnull.
34904         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
34905         * modules/sys_utsname (Depends-on): Add arg-nonnull.
34906         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
34907         * modules/time (Depends-on): Add arg-nonnull.
34908         (Makefile.am): Insert arg-nonnull.h into time.h.
34909         * modules/unistd (Depends-on): Add arg-nonnull.
34910         (Makefile.am): Insert arg-nonnull.h into unistd.h.
34911         * modules/wchar (Depends-on): Add arg-nonnull.
34912         (Makefile.am): Insert arg-nonnull.h into wchar.h.
34913         * modules/argv-iter (Depends-on): Add arg-nonnull.
34914         * tests/test-canonicalize.c (null_ptr): New function.
34915         (main): Use it.
34916         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
34917         (main): Use it.
34918         * tests/test-memmem.c (null_ptr): New function.
34919         (main): Use it.
34920         Reported by Jim Meyering.
34921
34922 2009-12-10  Bruno Haible  <bruno@clisp.org>
34923
34924         Use spaces for indentation, not tabs.
34925         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
34926         * m4/*.m4: Untabify.
34927         * build-aux/*.h: Untabify.
34928         * tests/**/*.[hc]: Untabify.
34929         * README: New section "Indent with spaces, not TABs", based on
34930         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
34931         * NEWS: Mention the change.
34932
34933 2009-12-10  Bruno Haible  <bruno@clisp.org>
34934
34935         pty test: Fix link error.
34936         * modules/pty-tests (Makefile.am): Add the default LDADD value to
34937         test_pty_LDADD.
34938
34939 2009-12-07  Simon Josefsson  <simon@josefsson.org>
34940
34941         * modules/pty: New file.
34942         * modules/pty-tests: New file.
34943         * m4/pty.m4: New file.
34944         * tests/test-pty.c: New file.
34945         * doc/glibc-headers/pty.texi: Modified.
34946         * doc/glibc-functions/forkpty.texi: Modified.
34947         * doc/glibc-functions/openpty.texi: Modified.
34948
34949 2009-12-10  Bruno Haible  <bruno@clisp.org>
34950
34951         Avoid syntax error in C++ mode.
34952         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
34953
34954 2009-12-10  Bruno Haible  <bruno@clisp.org>
34955
34956         Use sed with option -e.
34957         * gnulib-tool (func_version, func_emit_copyright_notice,
34958         func_emit_initmacro_end, func_import, func_create_testdir): Pass
34959         option -e to sed.
34960         * modules/link-warning (Makefile.am): Likewise.
34961
34962 2009-12-10  Jim Meyering  <meyering@redhat.com>
34963
34964         mgetgroups: do not write bytes beyond end of malloc'd buffer
34965         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
34966         username, we call getgroups with a one-element-shorter buffer,
34967         but still told it the length was original, max_n_groups.
34968
34969 2009-12-09  Eric Blake  <ebb9@byu.net>
34970
34971         cloexec: relax license
34972         * modules/cloexec (Maintainer): Add myself.
34973         (License): Use LGPL, not GPL.
34974
34975         link-warning: optimize generation
34976         * modules/link-warning (Makefile.am): Reduce process usage.
34977
34978 2009-12-09  Bruno Haible  <bruno@clisp.org>
34979
34980         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
34981         workaround was added on 2009-11-17.
34982
34983 2009-12-09  Jim Meyering  <meyering@redhat.com>
34984             Bruno Haible  <bruno@clisp.org>
34985
34986         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
34987         * modules/link-warning (Makefile.am): Make the comment-removing sed
34988         command more robust in the face of bootstrap-prepended comment lines.
34989
34990 2009-12-09  Bruno Haible  <bruno@clisp.org>
34991
34992         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
34993         most one group.
34994
34995 2009-12-09  Simon Josefsson <simon@josefsson.org>
34996             Bruno Haible  <bruno@clisp.org>
34997
34998         * build-aux/link-warning.h: Add copyright notice.
34999         * modules/link-warning (Makefile.am): Generate link-warning.h from
35000         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
35001         * NEWS: Mention change in link-warning module.
35002         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
35003         * modules/dirent (Makefile.am): Add dependency to dirent.h.
35004         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
35005         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
35006         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
35007         * modules/math (Makefile.am): Add dependency to math.h.
35008         * modules/search (Makefile.am): Add dependency to search.h.
35009         * modules/signal (Makefile.am): Add dependency to signal.h.
35010         * modules/spawn (Makefile.am): Add dependency to spawn.h.
35011         * modules/stdio (Makefile.am): Add dependency to stdio.h.
35012         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
35013         * modules/string (Makefile.am): Add dependency to string.h.
35014         * modules/strings (Makefile.am): Add dependency to strings.h.
35015         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
35016         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
35017         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
35018         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
35019         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
35020         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
35021         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
35022         * modules/unistd (Makefile.am): Add dependency to unistd.h.
35023         * modules/wchar (Makefile.am): Add dependency to wchar.h.
35024
35025 2009-12-09  Bruno Haible  <bruno@clisp.org>
35026
35027         fchdir: Optimize away rpl_fstat when possible.
35028         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
35029         REPLACE_OPEN_DIRECTORY.
35030         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
35031
35032 2009-12-09  Bruno Haible  <bruno@clisp.org>
35033
35034         * lib/fchdir.c: Update comment.
35035
35036 2009-12-09  Bruno Haible  <bruno@clisp.org>
35037
35038         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
35039
35040 2009-12-08  Eric Blake  <ebb9@byu.net>
35041
35042         fchdir: avoid memory leak on re-registration.
35043         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
35044
35045 2009-12-08  Jim Meyering  <meyering@redhat.com>
35046
35047         init.sh: avoid Solaris 10 /bin/sh portability problem
35048         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
35049         sourced script:
35050           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
35051           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
35052           bar
35053         tests/init.sh relied on that, accepting a --set-path=DIR argument,
35054         and two tests used that idiom.
35055         * tests/init.sh: Update suggested usage comments.
35056         (path_prepend_): New function, to be used in place
35057         of the --src-path=DIR option.
35058         (setup_): Move PATH-prepending code into path_prepend_.
35059         * tests/test-pread.sh: Adapt to new usage.
35060         * tests/test-xalloc-die.sh: Likewise.
35061
35062 2009-12-08  Simon Josefsson  <simon@josefsson.org>
35063
35064         * doc/gnulib.texi (Glibc pty.h): Add.
35065         * doc/glibc-functions/forkpty.texi: Add.
35066         * doc/glibc-functions/openpty.texi: Add.
35067         Suggested by Bruno Haible.
35068
35069 2009-12-08  Eric Blake  <ebb9@byu.net>
35070
35071         fchdir: fix logic bugs
35072         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
35073         * tests/test-fchdir.c (main): Enhance test.
35074         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
35075         is in use.
35076
35077         dup2: fix logic bugs
35078         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
35079         REPLACE_DUP2 to decide when rpl_dup2 is needed.
35080         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
35081         exists.
35082         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
35083
35084 2009-12-07  Eric Blake  <ebb9@byu.net>
35085
35086         unlink: fix m4 detection
35087         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
35088
35089         unistd-safer: add unit test
35090         * modules/unistd-safer-tests: New file.
35091         * tests/test-dup-safer.c: Likewise.
35092         * tests/test-cloexec.c (setmode): Avoid compiler warning.
35093         * tests/test-dup2.c (setmode): Likewise.
35094         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
35095
35096         cloexec: preserve text vs. binary across dup_cloexec
35097         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
35098         mode.
35099         * modules/dup2-tests (Depends-on): Add binary-io.
35100         * modules/cloexec-tests (Depends-on): Likewise.
35101         * tests/test-dup2.c (setmode, is_mode): New helpers.
35102         (main): Add tests that translation mode is preserved.
35103         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
35104         Reported by Bruno Haible.
35105
35106         mgetgroups: reduce duplicate listings
35107         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
35108         resulting array.
35109         * tests/test-chown.h (test_chown): Simplify client.
35110         * tests/test-lchown.h (test_lchown): Likewise.
35111
35112 2009-12-06  Bruno Haible  <bruno@clisp.org>
35113
35114         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
35115         value.
35116
35117 2009-12-06  Bruno Haible  <bruno@clisp.org>
35118
35119         * lib/progname.c: Include stdio.h, stdlib.h.
35120         (set_program_name): Reject a NULL argument.
35121
35122 2009-12-05  Eric Blake  <ebb9@byu.net>
35123
35124         pipe2-safer: new module
35125         * modules/pipe2-safer: New file.
35126         * lib/unistd-safer.h (pipe2_safer): New prototype.
35127         * lib/unistd--.h (pipe2): New wrapper.
35128         * lib/pipe-safer.c (pipe2_safer): New function.
35129         * modules/pipe (Depends-on): Add pipe2-safer.
35130         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
35131
35132         stdlib-safer: preserve cloexec flag for mkostemp[s]
35133         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
35134         fd_safer_flag.
35135
35136         unistd-safer: allow preservation of cloexec status via flag
35137         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
35138         prototypes.
35139         * lib/dup-safer.c (dup_safer_flag): New function.
35140         * lib/fd-safer.c (fd_safer_flag): Likewise.
35141         * modules/cloexec (configure.ac): Set witness.
35142
35143         test-dup2: enhance test
35144         * modules/dup2-tests (Depends-on): Add cloexec.
35145         * tests/test-dup2.c (main): Enhance test.
35146
35147         cloexec: add dup_cloexec
35148         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
35149         header and comments.
35150         * lib/cloexec.c (set_cloexec_flag): Add comments.
35151         (dup_cloexec): New function, with mingw implementation borrowed
35152         from...
35153         * lib/w32spawn.h (dup_noinherit): ...here.
35154         * modules/execute (Depends-on): Add cloexec.
35155         * modules/pipe (Depends-on): Likewise.
35156         * modules/cloexec (Depends-on): Add dup2.
35157         * modules/cloexec-tests (Files): New file.
35158         * tests/test-cloexec.c: Likewise.
35159
35160         test-xalloc-die: fix test for mingw
35161         * modules/xalloc-die-tests (Files): Add tests/init.sh.
35162         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
35163         directory and .exe suffix off argv[0] output.
35164
35165         test-fseeko: fix test for mingw
35166         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
35167         than undefining fseek, so test will pass on mingw.
35168
35169 2009-12-05  Bruno Haible  <bruno@clisp.org>
35170
35171         * lib/progname.h (set_program_name): Clarify specification.
35172         * lib/progname.c (set_program_name): Likewise.
35173         Reported by Jim Meyering.
35174
35175 2009-12-05  Jim Meyering  <meyering@redhat.com>
35176
35177         maint.mk: backslash-escape parens in default regexp
35178         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
35179         backslash-escape the literal parentheses.
35180
35181         maint.mk: news-date-check: use grep -E
35182         * top/maint.mk (today): Define a Make variable, not a...
35183         (news-date-check): ...shell variable.
35184         (news-date-regexp): Use the Make variable.
35185         Use grep's -E option.  Change the failing diagnostic to mention
35186         the variable, $(news-date-regexp).
35187
35188 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
35189
35190         maintainer-makefile: allow customization of NEWS entry format
35191         * top/maint.mk (news-date-regexp): New overridable variable.
35192         (news-date-check): Use it.
35193
35194 2009-12-04  Eric Blake  <ebb9@byu.net>
35195
35196         mgetgroups: add xgetgroups, and avoid ENOSYS failures
35197         * lib/mgetgroups.h (xgetgroups): New prototype.
35198         * lib/mgetgroups.c (xgetgroups): New wrapper.
35199         (mgetgroups): Handle ENOSYS.
35200         * modules/mgetgroups (Depends-on): Add realloc.
35201         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
35202
35203         mgetgroups: avoid argument promotion issues with -1
35204         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
35205         for invalid gid_t.
35206         * tests/test-chown.h (getegid, test_chown): Likewise.
35207         * tests/test-lchown.h (getegid, test_lchown): Likewise.
35208
35209 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
35210
35211         exclude: Fix header file problems.
35212         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
35213
35214 2009-12-01  Jim Meyering  <meyering@redhat.com>
35215
35216         fts: fts_open: do not let an empty string cause immediate failure
35217         This is required in support of GNU rm, for which the command
35218         "rm A '' B" must process and remove both A and B, in spite of
35219         the empty string argument.
35220         * lib/fts.c (fts_open): Do not let the presence of an empty string
35221         cause fts_open to fail immediately.  Most fts-using tools must be
35222         able to process all arguments, in order, and can be expected to
35223         diagnose such arguments themselves.
35224
35225 2009-11-30  Eric Blake  <ebb9@byu.net>
35226
35227         utimens: fix compilation error
35228         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
35229         Declare variable at right scope.
35230
35231 2009-11-29  Jim Meyering  <meyering@redhat.com>
35232
35233         bootstrap: handle perl-5.11's changed --version output
35234         * build-aux/bootstrap (get_version): Handle perl separately,
35235         since perl-5.11's --version output is different.
35236
35237 2009-11-28  Jim Meyering  <meyering@redhat.com>
35238
35239         userspec: depend on the inttostr module, too
35240         * modules/userspec (Depends-on): Add inttostr.
35241
35242         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
35243         * lib/userspec.c (parse_with_separator): Do not accept a user ID
35244         number of MAXUID when it evaluates to (uid_t) -1.
35245         Likewise for group ID.  Reported by Matt McCutchen in
35246         <http://savannah.gnu.org/bugs/?28113>
35247
35248         userspec: reformat to use spaces, not TABs
35249         * lib/userspec.c: Expand TABs to spaces.
35250         Add Emacs' "indent-tabs-mode: nil" hint.
35251
35252 2009-11-27  Eric Blake  <ebb9@byu.net>
35253
35254         getopt-gnu: flush out another BSD bug
35255         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
35256         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
35257         flush out BSD bug.
35258         * tests/test-getopt.h (test_getopt): End lists with NULL.
35259         * tests/test-getopt_long.h (test_getopt_long): Likewise.
35260         (test_getopt_long_posix): Enhance test.
35261         * modules/getopt-posix-tests (Depends-on): Add stdbool.
35262         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
35263         getopt-gnu.
35264         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35265         Likewise.
35266
35267 2009-11-27  Simon Josefsson  <simon@josefsson.org>
35268
35269         * modules/idpriv-droptemp-tests (Notice): Fix text.
35270
35271 2009-11-27  Jim Meyering  <meyering@redhat.com>
35272
35273         test-xalloc-die: avoid spurious failure due to libtool argv difference
35274         In a libtool-enabled project, this test would fail due to a difference
35275         in the emitted program name, e.g.,
35276         -test-xalloc-die: memory exhausted
35277         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
35278         Use program to avoid that.
35279         * modules/xalloc-die-tests (Depends-on): Add progname.
35280         * tests/test-xalloc-die.c: Include progname.h".
35281         (program_name): Remove decl.
35282         (main): Call set_program_name.
35283         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
35284
35285 2009-11-26  Richard Jones  <rjones@redhat.com>
35286
35287         w32sock: leave win32 error in place.
35288         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
35289
35290 2009-11-26  Eric Blake  <ebb9@byu.net>
35291
35292         init.sh: suggest to use skip_ and fail_ functions in comments
35293         * tests/init.sh: Add a sentence.
35294
35295 2009-11-25  Bruno Haible  <bruno@clisp.org>
35296
35297         init.sh: add documentation in comments
35298         * tests/init.sh: Add some developer and user documentation.
35299
35300 2009-11-26  Jim Meyering  <meyering@redhat.com>
35301
35302         init.sh: accommodate even those who specify bogus srcdir manually
35303         * tests/init.sh: Normally, srcdir is guaranteed by automake and
35304         configure-time tests to be sanitized, so that there is no need to
35305         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
35306         (with no double quotes) suffices.  However, since tests may be
35307         invoked manually, and since you may explicitly set srcdir to the
35308         name of a directory containing spaces, do quote its uses here.
35309         * tests/test-pread.sh: Likewise.
35310         Suggested by Bruno Haible.
35311
35312         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
35313         * tests/test-pread.sh: Write no data into the pipe, because
35314         test-pread actually reads none.  This avoids a diagnostic,
35315         "bash: echo: write error: Broken pipe", that arises in the unusual
35316         event something is ignoring SIGPIPE, and might be interpreted
35317         as some sort of failure.  Reported by Bruno Haible.
35318
35319 2009-11-25  Jim Meyering  <meyering@redhat.com>
35320
35321         test-pread: cover failure with ESPIPE and EINVAL
35322         * tests/test-pread.c (main): Test for failure, too.
35323         * tests/test-pread.sh: Invoke with stdin on a pipe.
35324         Suggested by Eric Blake.
35325
35326         pread: improvement and fix
35327         * modules/pread (Depends-on): Depend on lseek, for portability to
35328         e.g., mingw.  Suggested by Eric Blake.
35329         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
35330
35331         unistd.in.h: correct declaration of pread
35332         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
35333         Reported by Richard W.M. Jones.
35334
35335         test-pread.sh: distribute the test script
35336         * modules/pread-tests (Files): Include test-pread.sh.
35337
35338         test-pread.sh: clean up
35339         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
35340         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
35341         That is unnecessary, since it's always ".".
35342         Suggestion from Eric Blake.
35343
35344         test-pread.sh: make executable
35345         * tests/test-pread.sh: Set executable bit.
35346         Reported by Eric Blake.
35347
35348         correct typo in test-pread.sh
35349         * tests/test-pread.sh: Add #! line.
35350
35351         test pread
35352         * tests/test-pread.c: New file.
35353         * tests/test-pread.sh: Likewise.
35354         * modules/pread-tests: Likewise.
35355
35356         pread: new module
35357         * modules/pread: New file.
35358         * lib/unistd.in.h (pread): Define/declare.
35359         * lib/pread.c (pread): New file.
35360         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
35361         * modules/unistd (Makefile.am): Substitute witnesses.
35362         * doc/posix-functions/pread.texi (pread): Update.
35363         * MODULES.html.sh: Add pread.
35364
35365 2009-11-25  Jim Meyering  <meyering@redhat.com>
35366
35367         tests/init.sh: new file to be used via most *.sh tests
35368         * tests/init.sh: New file.
35369
35370 2009-11-25  Eric Blake  <ebb9@byu.net>
35371
35372         utimens: work around older Linux failure with symlinks
35373         * lib/utimens.c (lutimensat_works_really): New variable.
35374         (fdutimens, lutimens): Use it to manage kernels that support
35375         nanosecond times on files, but not on symlinks.
35376         Reported by OndÅ™ej Vašík.
35377
35378         utimes: fix configure grammar
35379         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
35380
35381 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
35382
35383         regex: Fix fastmap for multibyte character ranges.
35384         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
35385         characters when a multibyte character range is included.
35386
35387 2009-11-22  Andy Wingo  <wingo@pobox.com>
35388
35389         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
35390         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
35391
35392 2009-11-24  Bruno Haible  <bruno@clisp.org>
35393
35394         doc: Most *_l functions exist in MacOS X 10.5.
35395         * doc/posix-functions/duplocale.texi: Update platforms list.
35396         * doc/posix-functions/freelocale.texi: Likewise.
35397         * doc/posix-functions/newlocale.texi: Likewise.
35398         * doc/posix-functions/uselocale.texi: Likewise.
35399         * doc/posix-functions/isalnum_l.texi: Likewise.
35400         * doc/posix-functions/isalpha_l.texi: Likewise.
35401         * doc/posix-functions/isblank_l.texi: Likewise.
35402         * doc/posix-functions/iscntrl_l.texi: Likewise.
35403         * doc/posix-functions/isdigit_l.texi: Likewise.
35404         * doc/posix-functions/isgraph_l.texi: Likewise.
35405         * doc/posix-functions/islower_l.texi: Likewise.
35406         * doc/posix-functions/isprint_l.texi: Likewise.
35407         * doc/posix-functions/ispunct_l.texi: Likewise.
35408         * doc/posix-functions/isspace_l.texi: Likewise.
35409         * doc/posix-functions/isupper_l.texi: Likewise.
35410         * doc/posix-functions/iswalnum_l.texi: Likewise.
35411         * doc/posix-functions/iswalpha_l.texi: Likewise.
35412         * doc/posix-functions/iswblank_l.texi: Likewise.
35413         * doc/posix-functions/iswcntrl_l.texi: Likewise.
35414         * doc/posix-functions/iswctype_l.texi: Likewise.
35415         * doc/posix-functions/iswdigit_l.texi: Likewise.
35416         * doc/posix-functions/iswgraph_l.texi: Likewise.
35417         * doc/posix-functions/iswlower_l.texi: Likewise.
35418         * doc/posix-functions/iswprint_l.texi: Likewise.
35419         * doc/posix-functions/iswpunct_l.texi: Likewise.
35420         * doc/posix-functions/iswspace_l.texi: Likewise.
35421         * doc/posix-functions/iswupper_l.texi: Likewise.
35422         * doc/posix-functions/iswxdigit_l.texi: Likewise.
35423         * doc/posix-functions/isxdigit_l.texi: Likewise.
35424         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
35425         * doc/posix-functions/strcasecmp_l.texi: Likewise.
35426         * doc/posix-functions/strcoll_l.texi: Likewise.
35427         * doc/posix-functions/strfmon_l.texi: Likewise.
35428         * doc/posix-functions/strftime_l.texi: Likewise.
35429         * doc/posix-functions/strncasecmp_l.texi: Likewise.
35430         * doc/posix-functions/strxfrm_l.texi: Likewise.
35431         * doc/posix-functions/tolower_l.texi: Likewise.
35432         * doc/posix-functions/toupper_l.texi: Likewise.
35433         * doc/posix-functions/towctrans_l.texi: Likewise.
35434         * doc/posix-functions/towlower_l.texi: Likewise.
35435         * doc/posix-functions/towupper_l.texi: Likewise.
35436         * doc/posix-functions/wcscoll_l.texi: Likewise.
35437         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
35438         * doc/posix-functions/wctrans_l.texi: Likewise.
35439         * doc/posix-functions/wctype_l.texi: Likewise.
35440         * doc/glibc-functions/strptime_l.texi: Likewise.
35441         * doc/glibc-functions/strtod_l.texi: Likewise.
35442         * doc/glibc-functions/strtof_l.texi: Likewise.
35443         * doc/glibc-functions/strtol_l.texi: Likewise.
35444         * doc/glibc-functions/strtold_l.texi: Likewise.
35445         * doc/glibc-functions/strtoll_l.texi: Likewise.
35446         * doc/glibc-functions/strtoul_l.texi: Likewise.
35447         * doc/glibc-functions/strtoull_l.texi: Likewise.
35448         * doc/glibc-functions/wcsftime_l.texi: Likewise.
35449         * doc/glibc-functions/wcstod_l.texi: Likewise.
35450         * doc/glibc-functions/wcstof_l.texi: Likewise.
35451         * doc/glibc-functions/wcstol_l.texi: Likewise.
35452         * doc/glibc-functions/wcstold_l.texi: Likewise.
35453         * doc/glibc-functions/wcstoll_l.texi: Likewise.
35454         * doc/glibc-functions/wcstoul_l.texi: Likewise.
35455         * doc/glibc-functions/wcstoull_l.texi: Likewise.
35456
35457 2009-11-24  Bruno Haible  <bruno@clisp.org>
35458
35459         duplocale: Fix logic bug.
35460         * lib/duplocale.c: Don't include <langinfo.h>.
35461         (_NL_LOCALE_NAME): Remove macro.
35462         (rpl_duplocale): Use setlocale instead of nl_langinfo.
35463         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
35464
35465 2009-11-23  Jim Meyering  <meyering@redhat.com>
35466
35467         test-update-copyright: don't hard-code /usr/bin/perl
35468         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
35469         perl to print the current year.  Gilles Espinasse reported that
35470         the replaced use of perl was hard-coded as /usr/bin/perl.
35471
35472 2009-11-23  Bruno Haible  <bruno@clisp.org>
35473
35474         duplocale: Add support for glibc 2.3.x.
35475         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
35476
35477 2009-11-22  Bruno Haible  <bruno@clisp.org>
35478
35479         vasnprintf: Tiny optimization.
35480         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
35481         MacOS X.
35482
35483 2009-11-22  Bruno Haible  <bruno@clisp.org>
35484
35485         Tests for module 'duplocale'.
35486         * modules/duplocale-tests: New file.
35487         * tests/test-duplocale.c: New file.
35488
35489         New module 'duplocale'.
35490         * m4/duplocale.m4: New file.
35491         * lib/locale.in.h (duplocale): New declaration.
35492         * lib/duplocale.c: New file.
35493         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
35494         gl_LOCALE_H_DEFAULTS): New macros.
35495         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
35496         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
35497         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
35498         REPLACE_DUPLOCALE.
35499         * modules/duplocale: New file.
35500         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
35501
35502 2009-11-22  Bruno Haible  <bruno@clisp.org>
35503
35504         * modules/locale-tests (configure.ac): Test for newlocale function.
35505         * tests/test-locale.c: When the system has extended locale functions,
35506         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
35507
35508         locale: Make locale_t available when possible.
35509         * lib/locale.in.h: Include <xlocale.h> when it exists.
35510         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
35511         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
35512         * modules/locale (Depends-on): Add extensions.
35513         (Makefile.am): Also substitute HAVE_XLOCALE_H.
35514         * doc/posix-headers/locale.texi: Document the problem with locale_t.
35515
35516 2009-11-22  Bruno Haible  <bruno@clisp.org>
35517
35518         Add comments.
35519         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
35520         invocation.
35521         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
35522         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
35523         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35524
35525 2009-11-22  Bruno Haible  <bruno@clisp.org>
35526
35527         error: account for the possibility of freopen (stdout).
35528         * lib/error.c: Include <unistd.h>.
35529         (flush_stdout): New function, extracted from error and error_at_line.
35530         Determine stdout's fd dynamically.
35531         (error, error_at_line): Invoke flush_stdout.
35532         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
35533         * modules/error (Depends-on): Add unistd.
35534
35535 2009-11-22  Bruno Haible  <bruno@clisp.org>
35536
35537         diffseq: Add comment.
35538         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
35539
35540 2009-11-22  Jim Meyering  <meyering@redhat.com>
35541
35542         c-stack: avoid defining an unused static function
35543         * lib/c-stack.c (find_stack_direction): Do not define this function
35544         when it will not be used.
35545
35546         diffseq: avoid spurious gcc warnings
35547         * lib/diffseq.h (IF_LINT2): Define.
35548         (compareseq): Use it to initialize two members of "part".
35549         This avoids two used-uninitialized warnings.
35550
35551 2009-11-21  Jim Meyering  <meyering@redhat.com>
35552
35553         c-stack: avoid "ignoring return value of `write'" warning
35554         * lib/c-stack.c: Include "ignore-value.h".
35555         (die): Explicitly ignore each write return value.
35556         * modules/c-stack (Depends-on): Add ignore-value.
35557
35558 2009-11-21  Bruno Haible  <bruno@clisp.org>
35559
35560         diffseq: reduce scope of variable 'best'.
35561         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
35562         variable, earlier used for two different purposes.
35563
35564 2009-11-21  Jim Meyering  <meyering@redhat.com>
35565
35566         diffseq: remove useless assignment to "best"
35567         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
35568         assignment.  At that point "best" is already guaranteed to be zero.
35569
35570 2009-11-20  Eric Blake  <ebb9@byu.net>
35571
35572         build: mention ftp redirector in release announcements
35573         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
35574         values that used to come from cfg.mk; mention FTP redirect URL.
35575         * build-aux/announce-gen: Mention the mirror list.
35576         Suggested by Karl Berry.
35577
35578         nanosleep: improve port to mingw
35579         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
35580         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
35581         LIB_NANOSLEEP, but only when needed.
35582         * modules/select (Link): Document LIBSOCKET.
35583         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
35584         enough.
35585
35586         nanosleep: work around cygwin bug
35587         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
35588         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
35589         bug.
35590         (getnow): Delete, not needed.
35591         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
35592         LIB_CLOCK_GETTIME.
35593         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
35594         clock-time, gettime.
35595         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
35596         bug.
35597         * modules/nanosleep-tests: New test.
35598         * tests/test-nanosleep.c: New file.
35599
35600         sleep: work around cygwin bug
35601         * lib/sleep.c (rpl_sleep): Work around the bug.
35602         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
35603         (gl_PREREQ_SLEEP): Delete unused macro.
35604         * modules/sleep (Depends-on): Add verify.
35605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35606         * modules/unistd (Makefile.am): Substitute witness.
35607         * lib/unistd.in.h (sleep): Update prototype.
35608         * doc/posix-functions/sleep.texi (sleep): Document the bug.
35609         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
35610         * modules/sleep-tests (Depends-on): Check for alarm.
35611
35612 2009-11-20  Jim Meyering  <meyering@redhat.com>
35613
35614         maint.mk: improve sc_prohibit_magic_number_exit
35615         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
35616         so it does not match uses like System.exit(1).
35617         Add comments showing how to correct all offenders.
35618
35619 2009-11-19  Eric Blake  <ebb9@byu.net>
35620
35621         xalloc-die-tests: add missing library
35622         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
35623
35624         test-xvasprintf: silence compiler warnings
35625         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
35626         empty string from gcc.
35627
35628 2009-11-19  Jim Meyering  <meyering@redhat.com>
35629
35630         xfreopen: new module, from coreutils
35631         * modules/xfreopen: New module.
35632         * lib/xfreopen.c: New file.
35633         * lib/xfreopen.h: New file.
35634         * MODULES.html.sh (File stream based Input/Output"): Add it.
35635
35636 2009-11-19  Eric Blake  <ebb9@byu.net>
35637
35638         manywarnings: depend on warnings
35639         * modules/manywarnings (Depends-on): Add warnings.
35640
35641         build: avoid compiler warnings
35642         * lib/select.c (rpl_select): Delete unused variable.
35643         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
35644
35645 2009-11-18  Eric Blake  <ebb9@byu.net>
35646
35647         tests: avoid false negative with --with-packager
35648         * tests/test-version-etc.sh: Discard packager information.
35649         * tests/test-argp-version-etc-1.sh: Likewise.
35650         Reported by Mike Frysinger.
35651
35652         utimens: fix regression on Solaris
35653         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
35654         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
35655         can only change fd timestamps via futimesat.  Instead, use an
35656         additional witness macro to avoid BSD bug.
35657         Reported by Jim Meyering.
35658
35659 2009-11-17  Eric Blake  <ebb9@byu.net>
35660
35661         usleep: use it to simplify tests
35662         * modules/stat-time-tests (Depends-on): Add usleep.
35663         (configure.ac): Drop usleep check.
35664         * modules/chown-tests (Depends-on, configure.ac): Likewise.
35665         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
35666         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
35667         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
35668         * modules/openat-tests (Depends-on, configure.ac): Likewise.
35669         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
35670         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
35671         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
35672         Likewise.
35673         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
35674         * tests/test-lchown.h (nap): Likewise.
35675         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
35676         * tests/test-stat-time.c (nap): Likewise.
35677         * tests/test-utimens-common.h (nap): Update comments.
35678
35679         usleep: new module
35680         * modules/usleep: New file.
35681         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
35682         * lib/usleep.c (usleep): Likewise.
35683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
35684         * modules/unistd (Makefile.am): Substitute witnesses.
35685         * lib/unistd.in.h (usleep): Add declaration.
35686         * doc/pastposix-functions/usleep.texi (usleep): Document this.
35687         * MODULES.html.sh (Date and time): Likewise.
35688         * modules/usleep-tests (Depends-on): New test.
35689         * tests/test-usleep.c: New file.
35690
35691         chown: work around OpenBSD bug
35692         * lib/chown.c (rpl_chown): Work around the bug.
35693         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
35694         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
35695         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
35696         * modules/chown (Depends-on): Add stdbool.
35697         * modules/lchown (Depends-on): Likewise.
35698         * doc/posix-functions/chown.texi (chown): Document the bug.
35699         * doc/posix-functions/lchown.texi (lchown): Likewise.
35700         * tests/test-lchown.h (test_chown): Relax test.
35701
35702         mkstemp: avoid conflict with C++ keyword template
35703         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
35704         * lib/mkostemp.c (mkostemp): Likewise.
35705         * lib/mkostemps.c (mkostemps): Likewise.
35706         * lib/mkstemp.c (mkstemp): Likewise.
35707         * lib/mkstemps.c (mkstemps): Likewise.
35708
35709         xalloc-die-tests: optimize
35710         * tests/test-xalloc-die.sh: Reduce number of processes.
35711
35712 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35713
35714         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
35715         patch from ludo@gnu.org (Ludovic Courtès).
35716
35717 2009-11-17  Jim Meyering  <meyering@redhat.com>
35718
35719         version-etc: use proper license string
35720         * modules/version-etc (License): Use LGPL, not LGPLv3+.
35721         * modules/version-etc-fsf: Likewise.
35722
35723 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35724
35725         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
35726         printed to stdout.  Deal with EOL differences.
35727
35728 2009-11-17  Eric Blake  <ebb9@byu.net>
35729
35730         unsetenv: work around Solaris bug
35731         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
35732         * lib/unsetenv.c (rpl_unsetenv): Work around it.
35733         Reported by Jim Meyering.
35734
35735         vasnprintf: avoid compiler warnings
35736         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
35737         variables.
35738         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
35739
35740 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35741
35742         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
35743         settings since xalloc-die is no longer the self test,
35744         xalloc-die.sh is.
35745
35746 2009-11-17  Jim Meyering  <meyering@redhat.com>
35747
35748         test-xalloc-die.sh: make the code agree with the commit log
35749         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
35750         at the end, just in case you happen to have a test-xalloc-die
35751         program in some other PATH directory.
35752
35753         test-xalloc-die.sh: fix a portability bug
35754         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
35755         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
35756         Otherwise, argv[0] (as often seen in diagnostics) would be too
35757         system-dependent, sometimes with, and sometimes without the leading "./".
35758
35759         version-etc-fsf: relax license to LGPLv3+
35760         * modules/version-etc-fsf (License): Relax license.
35761
35762 2009-11-16  Eric Blake  <ebb9@byu.net>
35763
35764         xalloc-die-tests: avoid printing null pointer
35765         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
35766         shell script.
35767         * tests/test-xalloc-die.c (program_name): Declare.
35768         * tests/test-xalloc-die.sh (tmpfiles): New file.
35769
35770         setenv, unsetenv: work around various bugs
35771         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
35772         (setenv) [HAVE_SETENV]: Work around bugs.
35773         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
35774         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
35775         for bugs.
35776         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
35777         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
35778         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
35779         * modules/stdlib (Makefile.am): Update substitutions.
35780         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
35781         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
35782         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35783         * modules/setenv-tests: New test.
35784         * modules/unsetenv-tests: Likewise.
35785         * tests/test-setenv.c: New file.
35786         * tests/test-unsetenv.c: Likewise.
35787
35788 2009-11-16  Jim Meyering  <meyering@redhat.com>
35789
35790         version-etc: relax license to LGPLv3+
35791         * modules/version-etc (License): Relax license.
35792
35793         better AC_REQUIRE expanded-before-required-warning avoidance
35794         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
35795         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
35796         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
35797         which is no longer needed.
35798
35799 2009-11-16  Eric Blake  <ebb9@byu.net>
35800
35801         test-freading: clean up temporary file
35802         * tests/test-freading.c (main): Remove file on success, and use
35803         ASSERT more liberally.
35804         Reported by Jim Meyering.
35805
35806 2009-11-16  Jim Meyering  <meyering@redhat.com>
35807
35808         avoid new AC_REQUIRE expanded-before-required warnings
35809         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
35810         merely using it.
35811         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
35812         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
35813
35814 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35815
35816         * tests/test-xalloc-die.c: New file.
35817         * modules/xalloc-die-tests: New file.
35818         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
35819         XFAIL_TESTS so it can be appended by modules.
35820
35821 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35822
35823         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
35824         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
35825
35826 2009-11-14  Eric Blake  <ebb9@byu.net>
35827
35828         fnmatch: avoid compiler warning
35829         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
35830         to silence compiler warning about mismatch signedness in ?:.
35831         Reported by Robert Millan.
35832
35833         intprops: add double-inclusion guard
35834         * lib/intprops.h: Allow idempotent includes.
35835         Suggested by Bruce Korb.
35836
35837         openat: detect Solaris fchownat bug
35838         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
35839         penalizing glibc chownat when only lchownat is broken.
35840         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
35841         trailing slash bugs.
35842         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
35843         * modules/openat-tests (Files): Include more files.
35844         (Depends-on): Add mgetgroups, sleep, stat-time.
35845         (configure.ac): Add additional checks.
35846         (Makefile.am): Build new test.
35847         * tests/test-fchownat.c: New file.
35848
35849         lchown: detect Solaris and FreeBSD bug
35850         * lib/lchown.c (rpl_lchown): Work around bug.
35851         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
35852         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35853         * modules/unistd (Makefile.am): Populate it.
35854         * lib/unistd.in.h (lchown): Update declaration.
35855         * doc/posix-functions/lchown.texi (lchown): Document the bug.
35856         * modules/lchown-tests: New file.
35857         * tests/test-lchown.h (test_lchown): Likewise.
35858         * tests/test-lchown.c (main): Likewise.
35859
35860         chown: detect Solaris and FreeBSD bug
35861         * lib/chown.c (rpl_chown): Work around bug.
35862         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
35863         (gl_PREREQ_CHOWN): Delete.
35864         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35865         * modules/unistd (Makefile.am): Populate it.
35866         * lib/unistd.in.h (chown): Update declaration.
35867         * lib/lchown.c (chown): Update client.
35868         * modules/lchown (Depends-on): Add lstat.
35869         * doc/posix-functions/chown.texi (chown): Document the bug.
35870         * doc/posix-functions/getgroups.texi (getgroups): Document
35871         getgroups pitfall.
35872         * modules/chown-tests: New file.
35873         * tests/test-chown.h (test_chown): Likewise.
35874         * tests/test-chown.c (main): Likewise.
35875
35876 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
35877
35878         gnulib-tool: correctly detect absence of m4 directories
35879         * gnulib-tool: Avoid extra newline on data passed to wc -l.
35880
35881 2009-11-14  Jim Meyering  <meyering@redhat.com>
35882
35883         maint.mk: Prohibit inclusion of "xalloc.h" without use.
35884         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
35885
35886 2009-11-14  John W. Eaton  <jwe@gnu.org>
35887
35888         strftime.h: wrap funtion declaration in extern "C" block
35889         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
35890
35891 2009-11-13  Eric Blake  <ebb9@byu.net>
35892
35893         getgroups: avoid compiler warning
35894         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
35895
35896         getgroups: work around FreeBSD bug
35897         * lib/getgroups.c (rpl_getgroups): Work around the bug.
35898         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
35899         * doc/posix-functions/getgroups.texi (getgroups): Document it.
35900         * tests/test-getgroups.c (main): Fix buffer overrun.
35901
35902         getgroups: avoid compilation failure
35903         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
35904         * modules/getgroups (Depends-on): Add stdint.
35905
35906 2009-11-13  Jim Meyering  <meyering@redhat.com>
35907
35908         test-getgroups: avoid compilation failure
35909         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
35910
35911 2009-11-13  Eric Blake  <ebb9@byu.net>
35912
35913         mgetgroups: new module, taken from coreutils
35914         * modules/mgetgroups: New file.
35915         * lib/mgetgroups.h: Likewise.
35916         * lib/mgetgroups.c (mgetgroups): Likewise.
35917         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
35918         * MODULES.html.sh (Users and groups): Mention it.
35919
35920         getgroups: don't expose GETGROUPS_T to user
35921         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
35922         an element at a time if GETGROUPS_T is wrong size.
35923         * lib/getugroups.h (getugroups): Change signature.
35924         * lib/unistd.in.h (getgroups): Likewise.
35925         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
35926         signature needs fixing.
35927         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
35928         AC_TYPE_GETGROUPS.
35929         * modules/group-member (Depends-on): Add getgroups.
35930         * lib/group-member.c (group_info, get_group_info): Use gid_t.
35931         (group_member): Rely on getgroups replacement.
35932         * lib/getugroups.c (getugroups): Use gid_t.
35933         * tests/test-getgroups.c (main): Likewise.
35934         * NEWS: Mention the signature change.
35935         * doc/posix-functions/getgroups.texi (getgroups): Mention the
35936         problem with signature.
35937         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
35938         GETGROUPS_T is still useful for setgroups.
35939
35940         getgroups, getugroups: provide stubs for mingw
35941         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
35942         * lib/getugroups.c (getugroups): Likewise.
35943         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
35944         function.  Modernize replacement scheme.
35945         (gl_PREREQ_GETGROUPS): Delete.
35946         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
35947         * modules/getgroups (configure.ac): Declare witness.
35948         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35949         * modules/unistd (Depends-on): Substitute witness.
35950         * lib/unistd.in.h (getgroups): Declare replacement.
35951
35952         getgroups: avoid calling exit
35953         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
35954         drop xalloc.
35955         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
35956         dependencies.
35957         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
35958         exiting, in the rare case of malloc failure.
35959
35960         getgroups: fix logic error
35961         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
35962         has more than 20 groups.
35963         * modules/getgroups-tests: New test.
35964         * tests/test-getgroups.c: New file.
35965
35966 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35967
35968         * tests/test-base64.c: Improve.
35969
35970 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35971
35972         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
35973         Blake <ebb9@byu.net>.
35974
35975 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35976
35977         * tests/test-xvasprintf.c: Add %s%s related checks.
35978
35979 2009-11-12  Eric Blake  <ebb9@byu.net>
35980
35981         version-etc: match standards.texi style
35982         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
35983         and use <> only for URLs.
35984
35985 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
35986
35987         fts: do not fail on a submount during traversal
35988         * lib/fts.c (fts_build): Read the stat info again after opening
35989         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
35990         Original report at http://bugzilla.redhat.com/501848.
35991
35992 2009-11-12  Jim Meyering  <meyering@redhat.com>
35993
35994         bootstrap: sync from coreutils
35995         * build-aux/bootstrap (bootstrap_epilogue): New function.
35996         Use git_modules_config in one more place.  This make bootstrap's
35997         --gnulib-srcdir option more useful for testing.
35998
35999         bootstrap: generalize autoheader check
36000         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
36001         AC_CONFIG_HEADERS.
36002
36003 2009-11-11  Eric Blake  <ebb9@byu.net>
36004
36005         mkfifoat: use new modules for Solaris and BSD bugs
36006         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
36007         * lib/mkfifoat.c (mknodat): Split...
36008         * lib/mknodat.c (mknodat): ...into new file.
36009         * modules/mkfifoat (Files): Ship new file.
36010         (Depends-on): Add mkfifo, mknod.
36011         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
36012         (Depends-on): Add symlink.
36013         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
36014         redundant with test_mkfifo.h.
36015         (do_mkfifoat, do_mknodat): New helpers.
36016
36017         mknod: new module
36018         * modules/mknod: New file.
36019         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
36020         * lib/mknod.c (mknod): Likewise.
36021         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
36022         defaults.
36023         * modules/sys_stat (Makefile.am): Substitute them.
36024         * lib/sys_stat.in.h (mknod): Declare replacement.
36025         * MODULES.html.sh (Support for systems lacking POSIX:2008):
36026         Document it.
36027         * doc/posix-functions/mknod.texi (mknod): Likewise.
36028         * modules/mknod-tests: New test.
36029         * tests/test-mknod.c: Likewise.
36030
36031         mkfifo: new module
36032         * modules/mkfifo: New file.
36033         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
36034         * lib/mkfifo.c (mkfifo): Likewise.
36035         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
36036         defaults.
36037         * modules/sys_stat (Makefile.am): Substitute them.
36038         * lib/sys_stat.in.h (mkfifo): Declare replacement.
36039         * MODULES.html.sh (Support for systems lacking POSIX:2008):
36040         Document it.
36041         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
36042         * modules/mkfifo-tests: New test.
36043         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
36044         from test-mkfifoat.c.
36045         * tests/test-mkfifo.c: New file.
36046
36047         readlink: detect FreeBSD bug
36048         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
36049         slash on symlink.
36050         * doc/posix-functions/readlink.texi (readlink): Document the bug.
36051         * tests/test-readlink.h (test_readlink): Enhance test.
36052
36053         symlink: detect FreeBSD bug
36054         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
36055         slash on symlink.
36056         * doc/posix-functions/symlink.texi (symlink): Document the bug.
36057         * tests/test-symlink.h (test_symlink): Enhance test.
36058
36059 2009-11-10  Eric Blake  <ebb9@byu.net>
36060
36061         link: detect FreeBSD bug
36062         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
36063         symlink.
36064         * doc/posix-functions/link.texi (link): Document the bug.
36065         * tests/test-link.h (test_link): Enhance test.
36066         * tests/test-linkat.c (main): Update caller.
36067
36068         unlink, remove: detect FreeBSD bug
36069         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
36070         slash on symlink.
36071         * doc/posix-functions/unlink.texi (unlink): Document the bug.
36072         * doc/posix-functions/remove.texi (remove): Likewise.
36073         * tests/test-unlink.h (test_unlink): Enhance test.
36074         * tests/test-remove.c (main): Likewise.
36075
36076 2009-11-09  Eric Blake  <ebb9@byu.net>
36077
36078         rename: detect FreeBSD bug
36079         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
36080         slash on symlink.
36081         * modules/renameat-tests (Depends-on): Add filenamecat.
36082         * tests/test-rename.h (test_rename): Allow one more errno.
36083         * tests/test-renameat.c (main): Likewise.
36084         * doc/posix-functions/rename.texi (rename): Document the bug.
36085
36086         open: detect FreeBSD bug
36087         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
36088         symlink.
36089         * doc/posix-functions/open.texi (open): Document the bug.
36090         * doc/posix-functions/utimes.texi (utimes): Likewise.
36091         * tests/test-open.h (test_open): Add parameters, and test symlink
36092         handling.
36093         * tests/test-open.c (main): Adjust caller.
36094         * tests/test-fcntl-safer.c (main): Likewise.
36095         * modules/open-tests (Depends-on): Add stdbool, symlink.
36096         * modules/fcntl-safer-tests (Depends-on): Likewise.
36097         * tests/test-openat.c (main): Add test-open tests.
36098
36099         stat: detect FreeBSD bug
36100         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
36101         symlink.
36102         * doc/posix-functions/stat.texi (stat): Document the bug.
36103         * tests/test-stat.h (test_stat_func): Add argument.
36104         * tests/test-stat.c (main): Adjust caller.
36105         * tests/test-fstatat.c (main): Likewise.
36106         * modules/stat-tests (Depends-on): Add stdbool, symlink.
36107         Reported by Jim Meyering.
36108
36109 2009-11-09  James Youngman  <jay@gnu.org>
36110
36111         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
36112         * lib/strftime.c: Correct placement of #include "ignore-value.h".
36113
36114 2009-11-08  Jim Meyering  <meyering@redhat.com>
36115
36116         utimens: remove invalid futimesat call
36117         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
36118         It used the file descriptor of the target file as the DIR_FD
36119         parameter and NULL as the file name.  That caused failure with
36120         errno == EFAULT on FreeBSD-8.0-rc2
36121
36122 2009-11-07  Eric Blake  <ebb9@byu.net>
36123
36124         fflush, freadseek: use fseeko, not fseek
36125         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
36126         (clear_ungetc_buffer): Avoid potential problems on large files.
36127         * lib/freadseek.c (freadseek): Likewise.
36128         * modules/freadseek (Depends-on): Add fseeko.
36129         * modules/fseek (configure.ac): Set a witness.
36130         * tests/test-fflush.c (main): Use fseeko.
36131         * tests/test-fpurge.c (fseek): Disable link warning.
36132         * tests/test-freadable.c (fseek): Likewise.
36133         * tests/test-freading.c (fseek): Likewise.
36134         * tests/test-fseeko.c (fseek): Likewise.
36135         * tests/test-ftell.c (fseek): Likewise.
36136         * tests/test-ftello.c (fseek): Likewise.
36137         * tests/test-fwritable.c (fseek): Likewise.
36138         * tests/test-fwriting.c (fseek): Likewise.
36139
36140 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36141
36142         * modules/memchr (Depends-on): Drop getpagesize dependency.
36143
36144 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36145
36146         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
36147         Reported by Ludovic Courtès.
36148         * build-aux/pmccabe2html: Improve example usage.
36149         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
36150
36151 2009-11-06  Jim Meyering  <meyering@redhat.com>
36152
36153         do-release-commit-and-tag: New module.
36154         Automate the release-commit and tag process.
36155         * build-aux/do-release-commit-and-tag: New script, from coreutils.
36156         * modules/do-release-commit-and-tag: New file.
36157         * MODULES.html.sh (Support for maintaining and releasing): Add it.
36158
36159 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36160
36161         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
36162         because test-select.c uses inet_pton.
36163
36164 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36165
36166         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
36167         GETADDRINFO_LIB.  Bump serial number.
36168         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
36169         Suggested by Eric Blake <ebb9@byu.net>.
36170
36171 2009-11-05  Eric Blake  <ebb9@byu.net>
36172
36173         strtod: detect darwin bug
36174         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
36175         Reported by Leo Davis.
36176
36177         freopen-safer: new module
36178         * modules/freopen-safer: New module.
36179         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
36180         * lib/freopen-safer.c (freopen_safer): New file.
36181         * lib/stdio-safer.h (freopen_safer): New declaration.
36182         * lib/stdio--.h (freopen): New override.
36183         * MODULES.html.sh (File stream based Input/Output): Mention it.
36184         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
36185         freopen-safer module.
36186         * doc/posix-functions/stderr.texi (stderr): Likewise.
36187         * doc/posix-functions/stdin.texi (stdin): Likewise.
36188         * doc/posix-functions/stdout.texi (stdout): Likewise.
36189         * modules/freopen-safer-tests: New test.
36190         * tests/test-reopen-safer.c: New file.
36191
36192 2009-11-05  Jim Meyering  <meyering@redhat.com>
36193
36194         maint.mk: Prohibit inclusion of "close-stream.h" without use.
36195         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
36196
36197 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36198
36199         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
36200
36201 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36202
36203         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
36204
36205 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36206
36207         Fix link error.
36208         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
36209         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36210
36211 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36212
36213         * tests/test-func.c: Also test value of __func__.
36214
36215 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36216
36217         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
36218         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
36219
36220 2009-11-05  Bruno Haible  <bruno@clisp.org>
36221
36222         Fix link error.
36223         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
36224         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36225         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
36226
36227 2009-11-05  Bruno Haible  <bruno@clisp.org>
36228
36229         Tests for module 'inet_pton'.
36230         * modules/inet_pton-tests: New file.
36231         * tests/test-inet_pton.c: New file.
36232
36233 2009-11-05  Bruno Haible  <bruno@clisp.org>
36234
36235         Tests for module 'inet_ntop'.
36236         * modules/inet_ntop-tests: New file.
36237         * tests/test-inet_ntop.c: New file.
36238
36239 2009-11-04  Eric Blake  <ebb9@byu.net>
36240
36241         stdlib-safer: wrap all mkstemp variants
36242         * modules/mkostemp (configure.ac): Set witness.
36243         * modules/mkostemps (configure.ac): Likewise.
36244         * modules/mkstemps (configure.ac): Likewise.
36245         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
36246         (mkstemps_safer): Wrap more functions.
36247         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
36248         wrapping.
36249         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
36250         (mkstemps_safer): Implement the wrappers.
36251
36252         mkstemps, mkostemps: new modules
36253         * modules/mkostemps: New module.
36254         * modules/mkstemps: Likewise.
36255         * lib/mkostemps.c (mkostemps): New file.
36256         * lib/mkstemps.c (mkstemps): Likewise.
36257         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
36258         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
36259         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
36260         * modules/stdlib (Makefile.am): Substitute them.
36261         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
36262         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
36263         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
36264         * doc/gnulib.texi (Glibc stdlib.h): Include them.
36265         * MODULES.html.sh (File system functions): Mention them.
36266
36267         tempname: resync from glibc
36268         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
36269         same values for __GT_FILE as glibc.  Abort even when assertions
36270         are disabled.
36271         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
36272         match its value otherwise.  Allow idempotent inclusion.
36273         * lib/mkdtemp.c (mkdtemp): Adjust caller.
36274         * lib/mkostemp.c (mkostemp): Likewise.
36275         * lib/mkstemp.c (mkstemp): Likewise.
36276         * lib/tmpfile.c (tmpfile): Likewise.
36277         * NEWS: Document this.
36278
36279         utimens: fix use of futimens on older Linux
36280         * lib/utimens.c (fdutimens): Use updated, rather than original,
36281         timespec to avoid bug in older Linux kernel.
36282         Reported by Simon Josefsson.
36283
36284 2009-11-04  Bruno Haible  <bruno@clisp.org>
36285
36286         Make num_processors more flexible and consistent.
36287         * lib/nproc.h (enum nproc_query): New type.
36288         (num_processors): Add a 'query' argument.
36289         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
36290         (num_processors): Add a 'query' argument. Test the value of the
36291         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
36292         mingw, count the number of CPUs available for the current process.
36293         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
36294         Check for sched_getaffinity and sched_getaffinity_np.
36295         * modules/nproc (Depends-on): Add c-ctype, extensions.
36296         * NEWS: Mention the change.
36297
36298 2009-11-03  Bruno Haible  <bruno@clisp.org>
36299
36300         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
36301
36302 2009-11-03  Jim Meyering  <meyering@redhat.com>
36303
36304         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
36305         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
36306         if it is defined.
36307
36308 2009-11-02  Eric Blake  <ebb9@byu.net>
36309
36310         mktime, timegm: share common declaration
36311         * lib/mktime-internal.h: New file.
36312         * lib/mktime.c: Use it rather than open-coding a declaration.
36313         * lib/timegm.c: Likewise.
36314         * modules/mktime (Files): Ship it.
36315         * modules/timegm (Files): Likewise.
36316         Suggested by Bruno Haible.
36317
36318         test-update-copyright: update test to match script changes
36319         * tests/test-update-copyright.sh: Avoid hard-coding perl
36320         location.  Don't update *.bak created by earlier runs.
36321
36322 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
36323             Simon Josefsson  <simon@josefsson.org>
36324             Bruno Haible  <bruno@clisp.org>
36325
36326         Fix link error on Solaris 8.
36327         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
36328         also in libnsl. Define also INET_PTON_LIB.
36329         * modules/inet_pton (Link): New section.
36330
36331 2009-11-02  Simon Josefsson  <simon@josefsson.org>
36332             Bruno Haible  <bruno@clisp.org>
36333
36334         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
36335         * modules/inet_ntop (Link): New section.
36336         Reported by Boyan Kasarov <bkasarov@gmail.com>.
36337
36338 2009-11-02  Eric Blake  <ebb9@byu.net>
36339
36340         maint: avoid compiler warnings in m4 macros
36341         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
36342         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
36343
36344 2009-11-02  Simon Josefsson  <simon@josefsson.org>
36345
36346         * m4/pmccabe2html.m4: Remove file.
36347         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
36348         function.  Change maintainer.
36349         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
36350         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
36351         Courtès).
36352
36353 2009-10-31  Eric Blake  <ebb9@byu.net>
36354
36355         fseeko: fix m4 regression
36356         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
36357         regression from 2009-10-27.
36358         Reported by Ralf Wildenhues.
36359
36360 2009-10-31  Jim Meyering  <meyering@redhat.com>
36361
36362         inttostr: aesthetics and improved (compile-time) safety
36363         Define inttype_is_signed rather than inttype_is_unsigned,
36364         since the sole use is via "#if inttype_is_signed".
36365         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
36366         inttype_is_unsigned.
36367         * lib/offtostr.c (inttype_is_signed): Likewise.
36368         * lib/uinttostr.c (inttype_is_signed): Likewise.
36369         * lib/umaxtostr.c (inttype_is_signed): Likewise.
36370         * lib/inttostr.c (inttostr): Use verify to cross-check the
36371         inttype_is_signed value and the signedness of the actual type.
36372         * modules/inttostr (Depends-on): Add verify.
36373
36374 2009-10-30  Eric Blake  <ebb9@byu.net>
36375
36376         build: avoid compiler warnings
36377         * lib/fchmodat.c (lchmod): Mark unused variables.
36378         * lib/getopt.c (_getopt_initialize): Likewise.
36379         * lib/mktime.c (__mktime_internal): Provide prototype.
36380         * lib/inttostr.c (inttostr): Avoid compiler warning even with
36381         older gcc that do not understand #pragma GCC diagnostic.
36382         * lib/uinttostr.c (inttype_is_unsigned): Define.
36383         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
36384
36385 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
36386
36387         stat: fix compilation on AIX
36388         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
36389         only see struct stat64.
36390
36391 2009-10-30  Eric Blake  <ebb9@byu.net>
36392
36393         exclude: make more robust
36394         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
36395         rather than masking a coding bug.
36396         Suggested by Bruno Haible.
36397
36398 2009-10-30  Jim Meyering  <meyering@redhat.com>
36399
36400         perl scripts: remove #!/usr/bin/perl in favor of more portable...
36401         Rather than putting #!/usr/bin/perl on the first line,
36402         start with a variant of what's recommended by "man perlrun" that
36403         invokes the first "perl" program from your shell's search path.
36404         * build-aux/gitlog-to-changelog: Replace #!... as above.
36405         Add a "Local Variables" perl mode setting.
36406         Prompted by a patch from Ludovic Courtès.
36407         Improved by Eric Blake.
36408         * build-aux/useless-if-before-free: Likewise.
36409         * build-aux/announce-gen: Likewise.
36410         * build-aux/update-copyright: Likewise.
36411
36412 2009-10-29  Eric Blake  <ebb9@byu.net>
36413
36414         filenamecat-lgpl: adjust clients
36415         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
36416         filenamecat.
36417         * modules/renameat (Depends-on): Likewise.
36418
36419         filenamecat: split into filenamecat-lgpl
36420         * modules/filenamecat-lgpl: New module.
36421         * modules/filenamecat (Files): Move library-safe files into
36422         filenamecat-lgpl.
36423         (Depends-on): Add filenamecat-lgpl.
36424         (configure.ac): Declare witness.
36425         * lib/filenamecat.h (file_name_concat): Only declare when using
36426         GPL module.
36427         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
36428         Move...
36429         * lib/filenamecat-lgpl.c: ...into new file.
36430         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
36431         (gl_FILE_NAME_CONCAT): Use it.
36432         * MODULES.html.sh (File system functions): Mention new module.
36433
36434         argp: avoid memory leak
36435         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
36436         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
36437         base_name, since the latter malloc()s and can call exit().
36438         Leak introduced 2006-07-03.
36439
36440         dirname-lgpl: adjust clients that don't need full dirname
36441         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
36442         * modules/filenamecat (Depends-on): Likewise.
36443         * modules/linkat (Depends-on): Likewise.
36444         * modules/mkancesdirs (Depends-on): Likewise.
36445         * modules/mkdir (Depends-on): Likewise.
36446         * modules/openat (Depends-on): Likewise.
36447         * modules/savewd (Depends-on): Likewise.
36448         * modules/rename (Depends-on): Likewise.
36449         (License): Relax license.
36450         * modules/mkdir-tests (Depends-on): Drop progname.
36451         (Makefile.am): Delete unneeded LDADD.
36452         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
36453
36454         dirname: split into dirname-lgpl
36455         * modules/dirname-lgpl: New module.
36456         * modules/dirname (Files): Move library-safe files into
36457         dirname-lgpl.
36458         (Depends-on): Add dirname-lgpl.
36459         (configure.ac): Declare witness.
36460         * modules/double-slash-root (License): Relax license.
36461         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
36462         module.
36463         * lib/dirname.c (dir_len, mdir_name): Move...
36464         * lib/dirname-lgpl.c: ...into new file.
36465         * lib/basename.c (last_component, base_len): Move...
36466         * lib/basename-lgpl.c: ...into new file.
36467         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
36468         (gl_DIRNAME): Use it.
36469         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
36470         Mention new module.
36471         * modules/dirname-tests (Depends-on): Add progname.
36472         * tests/test-dirname.c (program_name): Delete.
36473
36474         mkdir: make safe for libraries
36475         * modules/mkdir (Depends-on): Drop xalloc.
36476         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
36477         exit.
36478
36479         tests: avoid some compiler warnings
36480         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
36481         literals.
36482         * tests/test-memchr.c (main): Avoid type mismatch.
36483         * tests/test-arpa_inet.c (main): Avoid unused parameters.
36484         * tests/test-base64.c (main): Likewise.
36485         * tests/test-getdelim.c (main): Likewise.
36486         * tests/test-gethostname.c (main): Likewise.
36487         * tests/test-getline.c (main): Likewise.
36488         * tests/test-netinet_in.c (main): Likewise.
36489         * tests/test-select.c (open_server_socket, main): Likewise.
36490         * tests/test-select-stdin.c (main): Likewise.
36491         * tests/test-sockets.c (main): Likewise.
36492         * tests/test-strsignal.c (main): Likewise.
36493         * tests/test-sys_select.c (main): Likewise.
36494         * tests/test-sys_socket.c (main): Likewise.
36495         * tests/test-u64.c (main): Likewise.
36496         * tests/test-xfprintf-posix.c (main): Likewise.
36497         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
36498
36499         sockets: avoid compiler warning
36500         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
36501
36502         maint: detect usage(1) and other suspicious exits
36503         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
36504
36505 2009-10-29  Jim Meyering  <meyering@redhat.com>
36506
36507         timespec: long-to-int truncation could make timespec_cmp malfunction
36508         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
36509         a multiple of 2^32 nanoseconds as no difference.
36510
36511 2009-10-28  Jim Meyering  <meyering@redhat.com>
36512
36513         fprintftime: wrap macro code argument in "do {...} while(0)"
36514         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
36515         cpy macro must be a statement that can be followed by a semicolon.
36516         Now that the else clause contains a comment and is hence longer
36517         than one line, I require curly braces.  That in turn requires
36518         that we wrap this code block in the standard do...while(0).
36519
36520         fprintftime: remove stray semicolon from previous change
36521         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
36522
36523         fprintftime: avoid a warning about ignored fwrite return value
36524         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
36525         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
36526         that is unsafe.
36527         * modules/fprintftime (Depends-on): Add ignore-value.
36528
36529         exclude: avoid an unwarranted warning
36530         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
36531
36532 2009-10-27  Eric Blake  <ebb9@byu.net>
36533
36534         fseek: avoid compilation failure when fflush is replaced
36535         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
36536         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
36537         module is in use.
36538         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
36539         module is not in use; since REPLACE_FSEEK worked otherwise.
36540         (GNULIB_FTELLO): Likewise for ftell.
36541         Reported by Ian Beckwith and others.
36542
36543 2009-10-27  Bruno Haible  <bruno@clisp.org>
36544
36545         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
36546         Reported by Jim Meyering.
36547
36548 2009-10-27  Jim Meyering  <jim@meyering.net>
36549             Bruno Haible  <bruno@clisp.org>
36550
36551         Avoid warning despite dropping the return value of fwrite.
36552         * lib/unicodeio.c: Include ignore-value.h.
36553         (fwrite_success_callback): Explicitly ignore fwrite's return value.
36554         * modules/unicodeio (Depends-on): Add ignore-value.
36555
36556 2009-10-26  Eric Blake  <ebb9@byu.net>
36557
36558         areadlinkat: fix fallback path
36559         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
36560         pointer and zero.
36561
36562 2009-10-22  Pádraig Brady  <P@draigBrady.com>
36563
36564         Use a better IO block size for modern systems
36565         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
36566         * lib/md2.c: Likewise.
36567         * lib/md4.c: Likewise.
36568         * lib/md5.c: Likewise.
36569         * lib/sha1.c: Likewise.
36570         * lib/sha256.c: Likewise.
36571         * lib/sha512.c: Likewise.
36572
36573 2009-10-22  Eric Blake  <ebb9@byu.net>
36574
36575         tests: avoid several compiler warnings
36576         * tests/test-getcwd.c (main): Avoid buffer underflow.
36577         * tests/test-getdate.c (main): String literals are not safe with
36578         putenv, so use setenv.  Declare unused argument.
36579         * modules/getdate-tests (Depends-on): Add setenv.
36580         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
36581         problems with string literals in char *.
36582         * tests/test-hash.c (main): Avoid shadowing declaration.
36583         (insert_new): Treat string literals as char const *.
36584         * tests/test-getopt.h (test_getopt): Likewise.
36585         (getopt_loop): Alter types to minimize casting elsewhere.
36586         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
36587         (test_getopt_long_posix): Likewise.
36588         (do_getopt_long): Add wrapper to minimize casting.
36589         * tests/test-atexit.c (clear_temp_file): Use void.
36590         * tests/test-areadlink-with-size.c (main): Declare unused
36591         arguments.
36592         * tests/test-areadlink.c (main): Likewise.
36593         * tests/test-areadlinkat-with-size.c (main): Likewise.
36594         * tests/test-areadlinkat.c (main): Likewise.
36595         * tests/test-canonicalize-lgpl.c (main): Likewise.
36596         * tests/test-canonicalize.c (main): Likewise.
36597         * tests/test-dirent-safer.c (main): Likewise.
36598         * tests/test-dirname.c (main): Likewise.
36599         * tests/test-dup2.c (main): Likewise.
36600         * tests/test-fchdir.c (main): Likewise.
36601         * tests/test-fcntl-h.c (main): Likewise.
36602         * tests/test-fcntl-safer.c (main): Likewise.
36603         * tests/test-fdopendir.c (main): Likewise.
36604         * tests/test-fdutimensat.c (main): Likewise.
36605         * tests/test-fflush.c (main): Likewise.
36606         * tests/test-filenamecat.c (main): Likewise.
36607         * tests/test-filevercmp.c (main): Likewise.
36608         * tests/test-fopen-safer.c (main): Likewise.
36609         * tests/test-fopen.c (main): Likewise.
36610         * tests/test-fpending.c (main): Likewise.
36611         * tests/test-fpurge.c (main): Likewise.
36612         * tests/test-freading.c (main): Likewise.
36613         * tests/test-fstatat.c (main): Likewise.
36614         * tests/test-fsync.c (main): Likewise.
36615         * tests/test-futimens.c (main): Likewise.
36616         * tests/test-getndelim2.c (main): Likewise.
36617         * tests/test-gettimeofday.c (main): Likewise.
36618         * tests/test-getopt.c (main): Likewise.
36619         * tests/test-i-ring.c (main): Likewise.
36620         * tests/test-inttypes.c (main): Likewise.
36621         * tests/test-link.c (main): Likewise.
36622         * tests/test-lstat.c (main): Likewise.
36623         * tests/test-math.c (main): Likewise.
36624         * tests/test-md5.c (main): Likewise.
36625         * tests/test-memchr2.c (main): Likewise.
36626         * tests/test-memrchr.c (main): Likewise.
36627         * tests/test-mkdir.c (main): Likewise.
36628         * tests/test-mkdirat.c (main): Likewise.
36629         * tests/test-mkfifoat.c (main): Likewise.
36630         * tests/test-open.c (main): Likewise.
36631         * tests/test-openat-safer.c (main): Likewise.
36632         * tests/test-openat.c (main): Likewise.
36633         * tests/test-quotearg.c (main): Likewise.
36634         * tests/test-rawmemchr.c (main): Likewise.
36635         * tests/test-readlink.c (main): Likewise.
36636         * tests/test-remove.c (main): Likewise.
36637         * tests/test-rename.c (main): Likewise.
36638         * tests/test-renameat.c (main): Likewise.
36639         * tests/test-rmdir.c (main): Likewise.
36640         * tests/test-sha1.c (main): Likewise.
36641         * tests/test-signal.c (main): Likewise.
36642         * tests/test-sigaction.c (main): Likewise.
36643         * tests/test-stat.c (main): Likewise.
36644         * tests/test-stat-time.c (main): Likewise.
36645         * tests/test-stddef.c (main): Likewise.
36646         * tests/test-stdint.c (main): Likewise.
36647         * tests/test-stdio.c (main): Likewise.
36648         * tests/test-stdlib.c (main): Likewise.
36649         * tests/test-strchrnul.c (main): Likewise.
36650         * tests/test-strerror.c (main): Likewise.
36651         * tests/test-string.c (main): Likewise.
36652         * tests/test-strtod.c (main): Likewise.
36653         * tests/test-strverscmp.c (main): Likewise.
36654         * tests/test-symlink.c (main): Likewise.
36655         * tests/test-symlinkat.c (main): Likewise.
36656         * tests/test-sys_stat.c (main): Likewise.
36657         * tests/test-sys_time.c (main): Likewise.
36658         * tests/test-time.c (main): Likewise.
36659         * tests/test-unistd.c (main): Likewise.
36660         * tests/test-unlink.c (main): Likewise.
36661         * tests/test-unlinkat.c (main): Likewise.
36662         * tests/test-utimens.c (main): Likewise.
36663         * tests/test-utimensat.c (main): Likewise.
36664         * tests/test-version-etc.c (main): Likewise.
36665         * tests/test-wchar.c (main): Likewise.
36666         * tests/test-wctype.c (main): Likewise.
36667         * tests/test-xprintf-posix.c (main): Likewise.
36668         * tests/test-posixtm.c (main): Likewise.
36669         (STREQ): Delete unused macro.
36670         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
36671         shadowed variables.
36672         * tests/test-memchr.c (main): Likewise.
36673
36674 2009-10-21  Eric Blake  <ebb9@byu.net>
36675
36676         areadlinkat: avoid failure on older glibc
36677         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
36678         rather than mis-comparing 0 against FUNC_RESULT of char*.
36679
36680 2009-10-21  Bruno Haible  <bruno@clisp.org>
36681
36682         * modules/stpncpy (License): Relicense under LGPLv2+.
36683         Reported by David Lutterkort <lutter@redhat.com>.
36684
36685 2009-10-20  Eric Blake  <ebb9@byu.net>
36686
36687         utimensat: work around Solaris 9 bug
36688         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
36689         has trailing slash bugs.
36690         * tests/test-lutimens.h (test_lutimens): Enhance test.
36691         * tests/test-utimens.h (test_utimens): Likewise.
36692         * doc/posix-functions/utime.texi (utime): Enhance documentation.
36693         * doc/posix-functions/utimes.texi (utimes): Likewise.
36694         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36695         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
36696         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
36697         * doc/posix-functions/futimens.texi (futimens): Likewise.
36698
36699         fdutimensat: new module
36700         * modules/fdutimensat: New file.
36701         * lib/fdutimensat.c (fdutimensat): Likewise.
36702         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
36703         * MODULES.html.sh (File system functions): Mention module.
36704         * modules/fdutimensat-tests: New test.
36705         * tests/test-fdutimensat.c: Likewise.
36706
36707         doc: regenerate INSTALL
36708         * doc/INSTALL: Reflect recent autoconf update.
36709         * doc/INSTALL.ISO: Likewise.
36710         * doc/INSTALL.UTF-8: Likewise.
36711
36712 2009-10-20  Pádraig Brady  <P@draigBrady.com>
36713
36714         acl: warn if ACL support is not detected
36715         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
36716
36717 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
36718
36719         * lib/nproc.h: Add extern "C" block for C++.
36720
36721 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
36722             Bruno Haible  <bruno@clisp.org>
36723
36724         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
36725         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
36726         * doc/posix-functions/isalpha.texi: Likewise.
36727         * doc/posix-functions/isblank.texi: Likewise.
36728         * doc/posix-functions/iscntrl.texi: Likewise.
36729         * doc/posix-functions/isdigit.texi: Likewise.
36730         * doc/posix-functions/isgraph.texi: Likewise.
36731         * doc/posix-functions/islower.texi: Likewise.
36732         * doc/posix-functions/isprint.texi: Likewise.
36733         * doc/posix-functions/ispunct.texi: Likewise.
36734         * doc/posix-functions/isspace.texi: Likewise.
36735         * doc/posix-functions/isupper.texi: Likewise.
36736         * doc/posix-functions/isxdigit.texi: Likewise.
36737
36738 2009-10-18  Bruno Haible  <bruno@clisp.org>
36739
36740         Tests for module 'isblank'.
36741         * modules/isblank-tests: New file.
36742         * tests/test-isblank.c: New file.
36743
36744         New module 'isblank'.
36745         * lib/isblank.c: New file.
36746         * m4/isblank.m4: New file.
36747         * modules/isblank: New file.
36748         * doc/posix-functions/isblank.texi: Mention the new module.
36749
36750 2009-10-18  Bruno Haible  <bruno@clisp.org>
36751
36752         New module 'ctype'.
36753         * lib/ctype.in.h: New file.
36754         * m4/ctype.m4: New file.
36755         * modules/ctype: New file.
36756         * doc/posix-headers/ctype.texi: Mention the new module.
36757
36758 2009-10-18  Jim Meyering  <meyering@redhat.com>
36759
36760         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
36761         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
36762         right after its initialization, rather than farther down.
36763         Keeping these in close proximity makes it easier to ensure
36764         that each such variable is initialized.  E.g.,
36765
36766             LIB_CLOCK_GETTIME=
36767             AC_SUBST([LIB_CLOCK_GETTIME])
36768
36769         This change also increments these serial numbers.
36770         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
36771         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36772         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36773
36774 2009-10-18  Bruno Haible  <bruno@clisp.org>
36775
36776         Don't let environment variables perturb build.
36777         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
36778         (gl_PREREQ_GETHRXTIME): ... not here.
36779
36780 2009-10-18  Bruno Haible  <bruno@clisp.org>
36781
36782         Avoid symlink attack in localcharset module.
36783         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
36784         (O_NOFOLLOW): Define fallback.
36785         (get_charset_aliases): Don't open the file if it is a symbolic link.
36786         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
36787         gl_FCNTL_H.
36788         (gl_FCNTL_H): Require it.
36789         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
36790         * modules/localcharset (Files): Add m4/fcntl_h.m4.
36791         Reported by Fergal Glynn <fglynn@veracode.com>.
36792
36793 2009-10-18  Bruno Haible  <bruno@clisp.org>
36794
36795         Implement nproc for mingw.
36796         * lib/nproc.c: Include <windows.h>
36797         (num_processors): On native Windows platforms, try GetSystemInfo.
36798
36799 2009-10-18  Bruno Haible  <bruno@clisp.org>
36800
36801         Implement nproc for IRIX.
36802         * lib/nproc.c: Include <sys/sysmp.h>.
36803         (num_processors): On IRIX systems, try sysmp.
36804         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
36805
36806 2009-10-18  Bruno Haible  <bruno@clisp.org>
36807
36808         Implement nproc for HP-UX.
36809         * lib/nproc.c: Include <sys/pstat.h>
36810         (num_processors): On HP-UX systems, try pstat_getdynamic.
36811         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
36812         pstat_getdynamic.
36813
36814 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
36815             Bruno Haible  <bruno@clisp.org>
36816
36817         Implement nproc for NetBSD, OpenBSD.
36818         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
36819         (ARRAY_SIZE): New macro.
36820         (num_processors): On BSD systems, try sysctl of HW_NCPU.
36821         * m4/nproc.m4: New file.
36822         * modules/nproc (Files): Add m4/nproc.m4.
36823         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
36824         (Makefile.am): Instead, augment lib_SOURCES.
36825
36826 2009-10-18  Bruno Haible  <bruno@clisp.org>
36827
36828         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
36829         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
36830         sys/param.h.
36831
36832 2009-10-16  Eric Blake  <ebb9@byu.net>
36833
36834         utimensat: new module
36835         * modules/utimensat: New file.
36836         * lib/utimensat.c (utimensat): Likewise.
36837         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36838         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
36839         so we can work around Linux bugs.
36840         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36841         * modules/sys_stat (Makefile.am): Substitute them.
36842         * lib/sys_stat.in.h (utimensat): Declare it.
36843         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36844         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36845         * modules/utimensat-tests: New test.
36846         * tests/test-utimensat.c: Likewise.
36847
36848         utimens: let lutimens work on non-symlinks
36849         * lib/utimens.c (lutimens): Fall back to utimens rather than
36850         failing with ENOSYS, when file is not a symlink.
36851         (utimens): Reduce redirection.
36852         * tests/test-lutimens.h (test_lutimens): Update test to cover
36853         non-symlinks.
36854         * tests/test-utimens.h (test_utimens): Update test to cover
36855         symlinks.
36856         * tests/test-utimens.c (main): Update caller.
36857
36858         utimens: cache whether utimensat syscall works
36859         * lib/utimens.c (utimensat_works_really): New cache variable.
36860         (fdutimens, lutimens): Use it to avoid failing syscall.
36861
36862         test-stat-time, test-utimens: improve portability
36863         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
36864         ext4 on alpha, and for cygwin.
36865         * tests/test-utimens-common.h: New file.
36866         (nap): Factor delays into single function.
36867         * tests/test-lutimens.h (test_lutimens): Use new header.
36868         * tests/test-futimens.h (test_futimens): Likewise.
36869         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
36870         timestamps to occur from same machine, as was done previously for
36871         test_utimens.
36872         * modules/utimens-tests (Files): Ship new file.
36873         * modules/futimens-tests (Files): Likewise.
36874         Reported in part by Jim Meyering.
36875
36876         sys_stat: sort replacement declarations
36877         * lib/sys_stat.in.h: Sort declarations.
36878         * lib/futimens.c (futimens): Fix typo.
36879
36880 2009-10-15  Jim Meyering  <meyering@redhat.com>
36881
36882         don't let environment settings perturb build
36883         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
36884         could cause a configure-time and/or build-time malfunction.
36885         Typically, a configure-time function-in-library test is performed
36886         via code like this:
36887
36888           LIB_VAR=
36889           AC_SUBST([LIB_VAR])
36890           prefix_saved_LIBS=$LIBS
36891             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
36892                        [test "$ac_cv_search_FUNC" = "none required" ||
36893                         LIB_VAR=$ac_cv_search_FUNC])
36894           LIBS=$prefix_saved_LIBS
36895
36896         However, in each of the files affected by this change, the LIB_VAR=
36897         initialization was omitted.  Thus, when set in the environment, its
36898         value would propagate into generated Makefiles when FUNC is not found
36899         in LIB_NAME.
36900         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
36901         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36902         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36903
36904 2009-10-14  Eric Blake  <ebb9@byu.net>
36905
36906         fchdir: avoid infinite recursion in mingw
36907         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
36908         recursing.
36909
36910         test-stat-time: port to mingw
36911         * tests/test-stat-time.c (force_unlink): Return a value.
36912         (test_ctime) [W32]: Fix compilation error.
36913         (nap): Don't call usleep with too large an argument.  Use
36914         force_unlink.
36915         * doc/pastposix-functions/usleep.texi (usleep): Document the
36916         portability issue.
36917
36918 2009-10-13  Jim Meyering  <meyering@redhat.com>
36919
36920         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
36921         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
36922         * modules/pipe-filter-ii: Likewise.
36923         * modules/sys_socket-tests: Likewise.
36924         * modules/tsearch-tests: Likewise.
36925         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
36926         (check): Depend on it.
36927
36928 2009-10-12  Eric Blake  <ebb9@byu.net>
36929
36930         utimens-tests: port to NFS file systems
36931         * tests/test-utimens.h (test_utimens): Refactor utimecmp
36932         comparisons to avoid spurious failures from timestamp drift
36933         between NFS machines.
36934
36935 2009-10-12  Eric Blake  <ebb9@byu.net>
36936
36937         stat-time-tests: minor cleanups
36938         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
36939         * tests/test-stat-time.c (nap): Separate assignment from call.
36940         Suggested by Paolo Bonzini and Bruno Haible.
36941
36942         sys_stat: guarantee struct timespec
36943         * lib/sys_stat.in.h (includes): Always include <time.h>
36944         * modules/sys_stat (Depends-on): Add time.
36945         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
36946         mode_t permission values.
36947         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
36948         get at subsecond timestamps.
36949
36950 2009-10-10  Eric Blake  <ebb9@byu.net>
36951
36952         futimens: new module
36953         * modules/futimens: New file.
36954         * lib/futimens.c (futimens): Likewise.
36955         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
36956         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
36957         we can work around Linux bugs.
36958         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36959         * modules/sys_stat (Makefile.am): Substitute them.
36960         * lib/sys_stat.in.h (futimens): Declare it.
36961         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36962         * doc/posix-functions/futimens.texi (futimens): Likewise.
36963         * modules/futimens-tests: New test.
36964         * tests/test-futimens.c: Likewise.
36965
36966         utimens: introduce fdutimens
36967         * lib/utimens.h (fdutimens): New prototype.
36968         * lib/utimens.c (gl_futimens): Move guts...
36969         (fdutimens): ...to new interface.
36970         * tests/test-utimens.c (do_fdutimens): Use it.
36971
36972         utimens: add UTIME_NOW and UTIME_OMIT support
36973         * lib/utimens.c (validate_timespec, update_timespec): New helper
36974         functions.
36975         (gl_futimens, lutimens): Use them.
36976         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
36977         stdbool, sys_stat.
36978         (Link): Mention resulting library dependency.
36979         * modules/utimecmp (Link): Likewise.
36980         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
36981         (Makefile.am): Pick up library dependency.
36982         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
36983         definition.
36984         * tests/test-sys_stat.c: Test the definitions.
36985         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
36986         * NEWS: Document library dependency.
36987
36988         utimecmp: support symlink timestamps
36989         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
36990         hashing when possible.  Use pathconf when available.
36991         (SYSCALL_RESOLUTION): Recognize tighter resolution.
36992         * modules/utimecmp (Depends-on): Add lstat.
36993
36994         utimens: add lutimens interface
36995         * lib/utimens.c (lutimens): New function.
36996         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
36997         * lib/utimens.h (lutimens): Declare new interface.
36998         * tests/test-utimens.c (main): Enhance test.
36999         * tests/test-lutimens.h (test_lutimens): New file.
37000         * modules/utimens-tests (Files): Distribute it.
37001         (Depends-on): Add symlink.
37002         (configure.ac): Check for usleep.
37003
37004         utimens: validate futimens usage
37005         * lib/utimens.c (gl_futimens): Require valid fd up front, using
37006         fewer syscalls on failure later on.  Avoid compiler warning on
37007         mingw.
37008         * modules/utimens (Depends-on): Add dup2.
37009
37010         utimens: add test
37011         * modules/utimens-tests: New test.
37012         * tests/test-utimens.h: New file.
37013         * tests/test-futimens.h: Likewise.
37014         * tests/test-utimens.c: Likewise.
37015
37016         doc: mention timestamp portability issues
37017         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
37018         instead.
37019         * doc/posix-functions/utime.texi (utime): Likewise.
37020         * doc/posix-functions/utimes.texi (utimes): Likewise.
37021         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
37022         instead.
37023         * doc/posix-functions/futimens.texi (futimens): Mention utimens
37024         module.
37025         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37026         Mention weakness with symlink timestamps.
37027         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
37028         to utimensat/futimens instead.
37029         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
37030
37031         test-dup2: enhance test
37032         * tests/test-dup2.c (main): Also check AT_FDCWD.
37033
37034         test-stat-time: avoid more spurious failures
37035         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
37036         xfs; and avoid race if the two timestamps cross quantization edge.
37037
37038         relocatable: prefer 'file system' over 'filesystem'
37039         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
37040         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
37041         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
37042         * doc/relocatable.texi (Enabling Relocatability): Likewise.
37043         * lib/relocatable.c (compute_curr_prefix): Likewise.
37044
37045 2009-10-10  Jim Meyering  <meyering@redhat.com>
37046
37047         stat-time-tests: check for the usleep function
37048         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
37049
37050 2009-10-10  Bruno Haible  <bruno@clisp.org>
37051
37052         * modules/xnanosleep: Put the Link section after the Include section.
37053
37054 2009-10-09  Eric Blake  <ebb9@byu.net>
37055
37056         dup2: work around FreeBSD 6.1 bug
37057         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
37058         * doc/posix-functions/dup2.texi (dup2): Document it.
37059         Reported by Nelson H. F. Beebe and Jim Meyering.
37060
37061         test-stat-time: port to buggy NFS clients
37062         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
37063         (test_ctime): Also skip test if mtime and ctime are skewed.
37064
37065         maint: prefer 'file system' over 'filesystem'
37066         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
37067         * doc/posix-functions/lstat.texi (lstat): Likewise.
37068         * lib/file-has-acl.c (file_has_acl): Likewise.
37069         * lib/fwriteerror.c [TEST]: Likewise.
37070         * tests/test-areadlink.h (test_areadlink): Likewise.
37071         * tests/test-areadlinkat-with-size.c (main): Likewise.
37072         * tests/test-areadlinkat.c (main): Likewise.
37073         * tests/test-canonicalize-lgpl.c (main): Likewise.
37074         * tests/test-canonicalize.c (main): Likewise.
37075         * tests/test-fstatat.c (main): Likewise.
37076         * tests/test-linkat.c (main): Likewise.
37077         * tests/test-lstat.h (test_lstat_func): Likewise.
37078         * tests/test-mkdir.h (test_mkdir): Likewise.
37079         * tests/test-readlink.h (test_readlink): Likewise.
37080         * tests/test-remove.c (main): Likewise.
37081         * tests/test-rename.h (test_rename): Likewise.
37082         * tests/test-renameat.c (main): Likewise.
37083         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37084         * tests/test-symlink.h (test_symlink): Likewise.
37085         * tests/test-symlinkat.c (main): Likewise.
37086         * tests/test-unlink.h (test_unlink_func): Likewise.
37087         * tests/test-unlinkat.c (main): Likewise.
37088
37089         maint: make realtime library usage explicit
37090         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
37091         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
37092         * modules/settime (Link): Likewise.
37093         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
37094
37095         test-stat-time: speed up execution
37096         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
37097         warning on mingw.
37098         (nap): New helper function.
37099         (prepare_test): Use it to reduce sleep time.
37100         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
37101         execution.
37102         * modules/stat-time-tests (configure.ac): Check for usleep.
37103
37104 2009-10-09  Jim Meyering  <meyering@redhat.com>
37105
37106         selinux-h: always use getfilecon wrappers
37107         * lib/getfilecon.c: New file.
37108         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
37109         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
37110         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
37111         (fgetfilecon): Provide a stub.
37112         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
37113         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
37114         file unconditionally.
37115         When <selinux/selinux.h> is found, arrange to use wrappers.
37116         * modules/selinux-h (Files): Add getfilecon.c.
37117         (Makefile.am): Substitute include-next-related bits
37118         into the now-always-generated selinux/selinux.h file.
37119         * doc/glibc-functions/lgetfilecon.texi: New file.
37120         * doc/glibc-functions/fgetfilecon.texi: New file.
37121         * doc/glibc-functions/getfilecon.texi: New file.
37122         * doc/glibc-functions/getfilecon-desc.texi: New file.
37123         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
37124         which to pull in the new files.
37125         * MODULES.html.sh (Misc): Add selinux-h.
37126
37127 2009-10-08  Jim Meyering  <meyering@redhat.com>
37128
37129         unistd: fix comment typo
37130         * lib/unistd.in.h (euidaccess): Fix a comment typo.
37131
37132 2009-10-08  Eric Blake  <ebb9@byu.net>
37133
37134         areadlink: use SIZE_MAX consistently
37135         * modules/areadlink (Depends-on): Add stdint.
37136         * modules/areadlink-with-size (Depends-on): Likewise.
37137         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
37138         gives NULL; drop sys/types, since unistd gives size_t; and add
37139         stdint for SIZE_MAX.
37140         (SIZE_MAX): Rely on headers.
37141         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
37142         and add stdint.
37143         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
37144         (SIZE_MAX): Likewise.
37145         (INITIAL_BUF_SIZE): Turn into enum.
37146         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
37147
37148 2009-10-08  Jim Meyering  <meyering@redhat.com>
37149
37150         areadlinkat: avoid compilation failure
37151         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
37152         Fix typo in comment.
37153
37154 2009-10-07  Eric Blake  <ebb9@byu.net>
37155
37156         areadlinkat-with-size: new module
37157         * modules/areadlinkat-with-size: New module.
37158         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
37159         * lib/areadlink.h (areadlinkat): Declare it.
37160         * MODULES.html.sh (File system functions): Mention it.
37161         * modules/areadlinkat-with-size-tests: New test.
37162         * tests/test-areadlinkat-with-size.c: New file.
37163
37164         xreadlinkat: new module
37165         * modules/xreadlinkat: New module.
37166         * lib/xreadlinkat.c (xreadlinkat): New file.
37167         * lib/xreadlink.h (xreadlinkat): Declare it.
37168         * MODULES.html.sh (File system functions): Mention it.
37169
37170         areadlinkat: new module
37171         * lib/at-func.c (FUNC_FAIL): New define.
37172         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
37173         * modules/areadlinkat: New module.
37174         * lib/linkat.c (areadlinkat): Move...
37175         * lib/areadlinkat.c (areadlinkat): ...to new file.
37176         * lib/areadlink.h (areadlinkat): Declare it.
37177         * modules/linkat (Depends-on): Add areadlinkat.
37178         * MODULES.html.sh (File system functions): Mention it.
37179         * modules/areadlinkat-tests: New test.
37180         * tests/test-areadlinkat.c: New file.
37181
37182         areadlink, areadlink-with-size: add tests
37183         * modules/areadlink-tests: New test.
37184         * modules/areadlink-with-size-tests: Likewise.
37185         * tests/test-areadlink.h: New file.
37186         * tests/test-areadlink.c: Likewise.
37187         * tests/test-areadlink-with-size.c: Likewise.
37188
37189         maint: minor cleanups
37190         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
37191         _UNUSED_PARAMETER_ instead.
37192         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
37193         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
37194         * modules/linkat-tests (Files): Distribute test-link.h.
37195
37196         openat, utimens: whitespace cleanup
37197         * lib/openat.c: Prefer space throughout, rather than mix of 8
37198         spaces vs. tabs.
37199         * lib/at-func.c: Likewise.
37200         * lib/utimens.c: Likewise.
37201
37202         openat: avoid using wrong fd
37203         * lib/openat.c (openat_permissive): Reject user's fd if saving the
37204         working directory chooses same fd.
37205         * lib/at-func.c (AT_FUNC_NAME): Likewise.
37206
37207         mkdir, mkdirat: fix cygwin 1.5.x bug
37208         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
37209         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
37210         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
37211         bug.
37212         (gl_PREREQ_MKDIR): Delete unused macro.
37213         * modules/mkdir (Files): Track file rename.
37214         (configure.ac): Update macro name.
37215         * modules/openat (Depends-on): Add mkdir.
37216         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
37217
37218         mkdir, mkdirat: add tests
37219         * modules/mkdir-tests: New test.
37220         * tests/test-mkdir.h: New file.
37221         * tests/test-mkdir.c: Likewise.
37222         * tests/test-mkdirat.c: Likewise.
37223         * modules/openat-tests (Files): Add new files.
37224         (Makefile.am): Run new test.
37225
37226 2009-10-06  Eric Blake  <ebb9@byu.net>
37227
37228         doc: tweak *at function documentation
37229         * doc/posix-functions/faccessat.texi (faccessat): Mention
37230         known issue with replacement.
37231         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
37232         * doc/posix-functions/linkat.texi (linkat): Likewise.
37233         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
37234         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
37235         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37236         * doc/posix-functions/renameat.texi (renameat): Likewise.
37237         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37238
37239         openat: fix GNU/Hurd bug in unlinkat
37240         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
37241         broken.
37242         * doc/posix-functions/unlink.texi (unlink): Document this.
37243         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
37244
37245         fdopendir: fix GNU/Hurd bug
37246         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
37247         allowing non-directory fds.
37248         * lib/fdopendir.c (rpl_fdopendir): Work around it.
37249         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
37250         * modules/dirent (Makefile.am): Substitute it.
37251         * lib/dirent.in.h (fdopendir): Declare replacement.
37252         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
37253         * tests/test-fdopendir.c (main): Test something other than
37254         /dev/null, since on Hurd that behaves like a directory.
37255
37256         test-symlink: port to GNU/Hurd
37257         * tests/test-symlink.h (test_symlink): Relax expected errno.
37258
37259         doc: tweak more cygwin information
37260         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
37261         now compatible with glibc.
37262         * doc/posix-functions/getopt.texi (getopt): Likewise.
37263
37264         getopt-gnu: add another test
37265         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
37266         guarantee behavior relied on by m4.
37267         * tests/test-getopt.c (main): Use it.
37268         * modules/getopt-posix-tests (Depends-on): Add setenv.
37269         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
37270
37271         getopt: fix compilation on darwin
37272         * lib/getopt.in.h (includes): Leave breadcrumbs during system
37273         include.
37274         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
37275         Reported by Ludovic Courtès.
37276
37277 2009-10-06  Bruno Haible  <bruno@clisp.org>
37278
37279         * modules/size_max (Description): Discourage its use.
37280         Reported by Simon Josefsson.
37281
37282 2009-10-06  Jim Meyering  <meyering@redhat.com>
37283
37284         linkat: avoid compilation failure
37285         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
37286
37287 2009-10-05  Eric Blake  <ebb9@byu.net>
37288
37289         linkat: support Linux 2.6.17
37290         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
37291         linkat on Linux, but allow cache variable override.
37292         * lib/linkat.c (rpl_linkat): Define override.
37293         * modules/linkat (Depends-on): Add symlinkat.
37294         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
37295         * modules/unistd (Makefile.am): Substitute it.
37296         * lib/unistd.in.h (linkat): Declare replacement.
37297         Reported by Pádraig Brady.
37298
37299         quotearg: port test to systems with C.UTF-8 locale
37300         * tests/test-quotearg.c (struct result_strings): Add another
37301         member, differentiating between C.ASCII and C.UTF-8 handling.
37302         (compare_strings): Add parameter.
37303         (main): Adjust all callers.
37304
37305         getopt: avoid clash with FreeBSD _getopt_internal
37306         * lib/getopt.in.h (_getopt_internal): Override the name.
37307         * lib/getopt_int.h (includes): Pick up any overrides.
37308         Reported by Reuben Thomas.
37309
37310         hash: allow C89 compilation
37311         * lib/hash.c (check_tuning): Move declaration before statement.
37312         Reported by Reuben Thomas.
37313
37314 2009-10-05  Karl Berry  <karl@gnu.org>
37315
37316         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
37317
37318 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
37319             Bruno Haible  <bruno@clisp.org>
37320
37321         * lib/uname.c (uname): Use a table-driven algorithm to compute
37322         Windows NT versions.
37323
37324 2009-10-04  Bruno Haible  <bruno@clisp.org>
37325
37326         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
37327         program_invocation_short_name.
37328         * modules/progname (configure.ac): Test for presence of
37329         program_invocation_short_name.
37330         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
37331
37332 2009-10-04  Bruno Haible  <bruno@clisp.org>
37333
37334         * lib/progname.c (set_program_name): Fix comment.
37335         Reported by Jim Meyering.
37336
37337 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
37338             Bruno Haible  <bruno@clisp.org>
37339
37340         * lib/uname.c: Include <string.h>.
37341         (uname): Do only one call to GetVersionEx in the common case.
37342
37343 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
37344             Bruno Haible  <bruno@clisp.org>
37345
37346         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
37347         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
37348         (uname): Add support for Windows CE and various non-x86 CPU types.
37349
37350 2009-10-03  Bruno Haible  <bruno@clisp.org>
37351
37352         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
37353         invocation to tests/configure.ac.
37354         Reported by Ian Beckwith <ianb@erislabs.net>.
37355
37356 2009-10-02  Eric Blake  <ebb9@byu.net>
37357
37358         fchdir: avoid compiler warning
37359         * lib/fchdir.c (canonicalize_file_name)
37360         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
37361
37362         test-open: support mingw errno values
37363         * tests/test-open.h (test_open): Relax test.
37364         * tests/test-fopen.h (test_fopen): Likewise.
37365         * tests/test-openat-safer.c (main): Likewise.
37366
37367         open: fix opening directory on mingw
37368         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
37369
37370         test-open: on GNU/Hurd, /dev/null is a directory
37371         * tests/test-fopen.h (main): Rename...
37372         (test_fopen): ...to this.  Use a guaranteed non-directory when
37373         confirming open behavior on trailing slash.
37374         * tests/test-openat-safer.c (main): Likewise.
37375         * tests/test-open.h (main): Likewise....
37376         (test_open): ...to this.
37377         * tests/test-fopen.c (main): Adjust caller.
37378         * tests/test-fopen-safer.c (main): Likewise.
37379         * tests/test-open.c (main): Likewise.
37380         * tests/test-fcntl-safer.c (main): Likewise.
37381         Reported by Samuel Thibault.
37382
37383         rename, fchdir: don't ignore chdir failure
37384         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
37385         * lib/rename.c (rpl_rename) [W32]: Likewise.
37386         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
37387         an empty destination directory if source cannot be renamed,
37388         although there is still possibility for failure.
37389         * doc/posix-functions/rename.texi (rename): Document the race.
37390         Reported by Jim Meyering.
37391
37392         maint: cleanup whitespace in recent commits
37393         * lib/rename.c (rpl_rename): Remove tabs.
37394         * tests/test-link.h (test_link): Likewise.
37395         * lib/fchdir.c (get_name): Likewise.
37396         Reported by Jim Meyering.
37397
37398 2009-10-02  Ben Pfaff  <blp@gnu.org>
37399
37400         relocatable-prog-wrapper: Add missing dependency on
37401         double-slash-root.
37402         * modules/relocatable-prog-wrapper: Add dependency.
37403         Reported by Ian Beckwith <ianb@erislabs.net>.
37404
37405 2009-10-02  Eric Blake  <ebb9@byu.net>
37406
37407         renameat: fix Solaris bugs
37408         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
37409         needed fixing.
37410         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
37411         * modules/stdio (Makefile.am): Substitute it.
37412         * lib/stdio.in.h (renameat): Declare replacement.
37413         * lib/renameat.c (rpl_renameat): Implement fix.
37414
37415         renameat: new module
37416         * modules/renameat: New file.
37417         * lib/renameat.c (renameat): Likewise.
37418         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
37419         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
37420         * modules/stdio (Makefile.am): Substitute them.
37421         * lib/stdio.in.h (renameat): Declare it.
37422         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37423         * doc/posix-functions/renameat.texi (renameat): Likewise.
37424         * modules/renameat-tests: New test.
37425         * tests/test-renameat.c: Likewise.
37426
37427         rename: fix mingw bugs
37428         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
37429         directory overwrite bugs.
37430
37431         rename: fix another cygwin 1.5 bug
37432         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
37433         checks.
37434         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
37435         unnecessary cygwin workarounds.  Also work around bug with moving
37436         full directory onto an empty one.
37437         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
37438
37439         rename-dest-slash: merge into rename module
37440         * modules/rename-dest-slash (Status): Mark obsolete.
37441         (Depends-on): Add rename.
37442         (Files): Let rename do it all.
37443         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
37444         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
37445         * m4/rename-dest-slash.m4: ...so this file can be deleted.
37446         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
37447         * lib/rename.c (rpl_rename): Update comments.
37448
37449         rename: fix cygwin 1.5.x bugs
37450         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
37451         * lib/rename.c (rpl_rename): Work around them.
37452         * modules/rename (Depends-on): Add same-inode.
37453
37454         rename: fix Solaris 10 bug
37455         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
37456         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
37457         was the only bug.
37458
37459         rename: fix Solaris 9 bug
37460         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
37461         on non-directory.  Avoid calling exit.
37462         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
37463         strdup.
37464         * modules/rename-tests (Depends-on): Drop lstat.
37465         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
37466         (gl_PREREQ_RENAME): Delete unused macro.
37467
37468         rename-dest-slash: fix NetBSD bug
37469         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
37470         links.
37471         * modules/rename-dest-slash (Depends-on): Add same-inode.
37472
37473         rename-tests: new test, exposes several platform bugs
37474         * modules/rename-tests: New file.
37475         * tests/test-rename.h: Likewise.
37476         * tests/test-rename.c: Likewise.
37477         * doc/posix-functions/rename.texi (rename): Improve documentation,
37478         including bugs that will eventually be fixed in gnulib.
37479
37480 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
37481
37482         * lib/uname.c: Include <stdlib.h>
37483         (uname): Assume version info is available.
37484
37485 2009-10-02  Jim Meyering  <meyering@redhat.com>
37486
37487         gnu-web-doc-update: correct --help output
37488         * build-aux/gnu-web-doc-update: Make --help output relevant.
37489
37490         gnu-web-doc-update: add standard options
37491         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
37492
37493         gnu-web-doc-update: New module.
37494         Use this script to automatically update the on-line web documentation
37495         for your GNU project at http://www.gnu.org/software/$pkg/manual/
37496         * modules/gnu-web-doc-update: New file, from coreutils.
37497         * build-aux/gnu-web-doc-update: New script.
37498
37499 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
37500
37501         link: LoadLibrary is not needed.
37502         * lib/link.c: Use GetModuleHandle.
37503
37504 2009-10-01  Eric Blake  <ebb9@byu.net>
37505
37506         getopt: bump serial number
37507         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
37508         change.
37509
37510         tests: tighten link, rmdir, and remove tests
37511         * tests/test-link.h (includes): No need to use <config.h> here.
37512         Clean up if directory hard link was created, otherwise test for
37513         trailing '.'.
37514         * tests/test-linkat.c (main): Simplify.
37515         * tests/test-remove.c (main): Enhance test for trailing '.'.
37516         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37517
37518 2009-10-01  Jim Meyering  <meyering@redhat.com>
37519
37520         maint.mk: requiring "make major" was annoying, for a "minor" release.
37521         What is intended is "stable", to contrast with alpha and beta,
37522         so require "make stable", not "make major".
37523         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
37524         (get_tool_versions): Likewise.
37525         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
37526
37527 2009-09-30  Ben Pfaff  <blp@gnu.org>
37528
37529         Fix broken build of replacement for Windows tmpfile().
37530         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
37531         flags argument added along with the 'mkostemp' module.
37532
37533 2009-09-28  Bruno Haible  <bruno@clisp.org>
37534
37535         Avoid identifier clash with POSIX function 'remove' defined as a macro.
37536         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
37537         to 'remove_elt'.
37538         (gl_list_remove): Update.
37539         * lib/gl_list.c (gl_list_remove): Update.
37540         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
37541         to 'remove_elt'.
37542         (gl_oset_remove): Update.
37543         * lib/gl_list.c (gl_oset_remove): Update.
37544         Reported by Eric Blake.
37545
37546 2009-09-28  Eric Blake  <ebb9@byu.net>
37547
37548         doc: mention yet more cygwin 1.7 status
37549         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
37550         cygwin.
37551         * doc/glibc-functions/execvpe.texi (execvpe): New file.
37552         * doc/gnulib.texi (Glibc unistd.h): Mention it.
37553
37554         argp: fix test failure
37555         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
37556         that are not upper-case.  Pass correct range to tolower.
37557
37558 2009-09-27  Jim Meyering  <meyering@redhat.com>
37559
37560         test-yesno: work around sparc-dash here-document infelicity
37561         Without this change, the literal \177 byte in a here document
37562         would make dash 0.5.5.1-3 access uninitialized memory.
37563         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
37564         Instead, use a marker, "@", and filter through tr to create the desired
37565         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
37566
37567 2009-09-27  Bruno Haible  <bruno@clisp.org>
37568
37569         Disable untested support for new flavours of ACLs on AIX.
37570         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
37571         progress.
37572         * lib/set-mode-acl.c (qset_acl): Likewise.
37573
37574 2008-12-07  Bruno Haible  <bruno@clisp.org>
37575
37576         Add support for new flavours of ACLs on AIX. (Untested.)
37577         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
37578         (file_has_acl): Add support for newer AIX.
37579         * lib/set-mode-acl.c (qset_acl): Likewise.
37580         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
37581         Rainer Tammer <tammer@tammer.net>.
37582
37583 2009-09-26  Eric Blake  <ebb9@byu.net>
37584
37585         argp: fix compilation of getopt
37586         * lib/getopt.in.h (includes): Use different guard than glibc.
37587         Reported by Sergey Poznyakoff.
37588
37589         doc: mention more cygwin 1.7 status
37590         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
37591         bug.
37592         * doc/posix-functions/execl.texi (execl): Likewise.
37593         * doc/posix-functions/execle.texi (execle): Likewise.
37594         * doc/posix-functions/execlp.texi (execlp): Likewise.
37595         * doc/posix-functions/execv.texi (execv): Likewise.
37596         * doc/posix-functions/execve.texi (execve): Likewise.
37597         * doc/posix-functions/execvp.texi (execvp): Likewise.
37598         * doc/glibc-functions/canonicalize_file_name.texi
37599         (canonicalize_file_name): Cygwin 1.7 now provides this.
37600         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
37601         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
37602         on AT_SYMLINK_NOFOLLOW.
37603
37604 2009-09-24  Eric Blake  <ebb9@byu.net>
37605
37606         test-linkat: make test more robust
37607         * tests/test-linkat.c (main): Avoid collision with EEXIST.
37608
37609         getopt: fix inclusion guards for cygwin
37610         * modules/getopt-posix (Depends-on): Add include-next.
37611         (Makefile.am): Substitute more items in replacement header.
37612         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
37613         <getopt.h>.
37614         * lib/getopt.in.h (includes): Use split inclusion guard, and
37615         prefer <getopt.h> over include <unistd.h> when one is present.
37616         (option): Also override name of 'struct option'.
37617
37618         same-inode: revert prior change; it is not yet ready
37619         * NEWS: Undo mention of this change.
37620         * lib/same-inode.h (same-inode.h): Undo tri-state change.
37621         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
37622         * lib/cycle-check.c (cycle_check): Likewise.
37623         * lib/same.c (same_name): Likewise.
37624         * lib/at-func2.c (at_func2): Likewise.
37625
37626 2009-09-23  Eric Blake  <ebb9@byu.net>
37627
37628         linkat: new module
37629         * modules/linkat: New file.
37630         * lib/at-func2.c (at_func2): Likewise.
37631         * lib/linkat.c (linkat): Likewise.
37632         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
37633         * lib/openat-priv.h (at_func2): Add declaration.
37634         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37635         * modules/unistd (Makefile.am): Substitute them.
37636         * lib/unistd.in.h (linkat): Declare it.
37637         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37638         * doc/posix-functions/linkat.texi (linkat): Likewise.
37639         * doc/posix-functions/link.texi (link): Tweak wording.
37640         * tests/test-link.c (main): Move guts...
37641         * tests/test-link.h (test_link): ...into new file.
37642         * modules/linkat-tests: New test.
37643         * tests/test-linkat.c: Likewise.
37644         * modules/link-tests (Files): Ship new file.
37645         (Depends-on): Add stdbool.
37646
37647         dirname: add library-safe mdir_name
37648         * lib/dirname.h (mdir_name): New prototype.
37649         * lib/dirname.c (dir_name): Move guts...
37650         (mdir_name): ...to new function that avoids xalloc_die.
37651
37652         fchdir: another mingw fix
37653         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
37654         * lib/fchdir.c (get_name): New helper method; skips canonicalize
37655         on mingw (where it has not yet been ported), and make it optional
37656         elsewhere.
37657         (_gl_register_fd): Use it.
37658
37659         same-inode: make SAME_INODE tri-state, to port to mingw
37660         * NEWS: Mention this change.
37661         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
37662         st_ino always being 0.
37663         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
37664         * lib/cycle-check.c (cycle_check): Likewise.
37665         * lib/same.c (same_name): Likewise.
37666
37667         lstat: avoid mingw compilation error
37668         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
37669         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
37670         lstat ourselves.
37671         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
37672         was adequate.
37673         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
37674         the checks for lstat.
37675         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
37676
37677         link: fix test failure on Solaris 9
37678         * lib/link.c (rpl_link): Don't assume link will catch bogus
37679         trailing slash on source.
37680
37681         test-symlinkat: enhance test
37682         * tests/test-readlink.c (main): Move guts...
37683         * tests/test-readlink.h (test_readlink): ...into new file.
37684         * tests/test-symlink.c (main): Move guts...
37685         * tests/test-symlink.h (test_symlink): ...into new file.
37686         * tests/test-symlinkat.c (main): Use new files for further
37687         coverage.
37688         (do_symlink, do_readlink): New helper functions.
37689         * modules/symlink-tests (Files): Ship new file.
37690         (Depends-on): Add stdbool.
37691         * modules/readlink-tests (Files): Ship new file.
37692         (Depends-on): Add stdbool.
37693         * modules/symlinkat-tests (Files): Use new files.
37694
37695 2009-09-23  Eric Blake  <ebb9@byu.net>
37696
37697         readlink: document portability issue with symlink length
37698         * doc/posix-functions/lstat.texi (lstat): Mention that some file
37699         systems have bogus st_size on symlinks, and mention the
37700         areadlink-with-size module.
37701         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
37702         * doc/posix-functions/readlink.texi (readlink): Mention the
37703         areadlink module, and ERANGE failure.
37704         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37705         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
37706
37707         readlink: fix Solaris 9 bug with trailing slash
37708         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
37709         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
37710         * doc/posix-functions/readlink.texi (readlink): Document this.
37711         * modules/readlink-tests: New test.
37712         * tests/test-readlink.c: Likewise.
37713
37714         readlink: fix cygwin 1.5.x bug with return type
37715         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
37716         * lib/unistd.in.h (readlink): Use ssize_t.
37717         * lib/readlink.c (readlink): Likewise.
37718         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37719         * modules/unistd (Makefile.am): Substitute it.
37720         * lib/unistd.in.h (readlink): Declare replacement.
37721         * doc/posix-functions/readlink.texi (readlink): Document this.
37722
37723         symlink: use throughout gnulib
37724         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
37725         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
37726         symlink is not used.
37727         * modules/symlinkat (Depends-on): Add symlink.
37728         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37729         * modules/canonicalize-tests (Depends-on): Likewise.
37730         * modules/lstat-tests (Depends-on): Likewise.
37731         * modules/openat-tests (Depends-on): Likewise.
37732         * modules/remove-tests (Depends-on): Likewise.
37733         * modules/rmdir-tests (Depends-on): Likewise.
37734         * modules/unlink-tests (Depends-on): Likewise.
37735         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
37736         * tests/test-canonicalize.c (symlink): Likewise.
37737         * tests/test-fstatat.c (symlink): Likewise.
37738         * tests/test-lstat.c (symlink): Likewise.
37739         * tests/test-remove.c (symlink): Likewise.
37740         * tests/test-rmdir.c (symlink): Likewise.
37741         * tests/test-unlink.c (symlink): Likewise.
37742         * tests/test-unlinkat.c (symlink): Likewise.
37743
37744         symlink: new module, for Solaris 9 bug
37745         * modules/symlink: New file.
37746         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
37747         * lib/symlink.c: Likewise.
37748         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37749         * modules/unistd (Makefile.am): Substitute them.
37750         * lib/unistd.in.h (symlink): Declare replacement.
37751         * MODULES.html.sh (File system functions): Mention it.
37752         * doc/posix-functions/symlink.texi (symlink): Likewise.
37753         * modules/symlink-tests: New test.
37754         * tests/test-symlink.c: Likewise.
37755
37756 2009-09-23  Bruno Haible  <bruno@clisp.org>
37757
37758         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
37759         when needed.
37760         Test case: gnulib-tool --import --with-tests atexit inttypes.
37761         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
37762
37763 2009-09-23  Bruno Haible  <bruno@clisp.org>
37764
37765         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
37766         subcommand, not in a subshell.
37767
37768 2009-09-22  Eric Blake  <ebb9@byu.net>
37769
37770         unistd: sort replacement declarations
37771         * lib/unistd.in.h: Sort declarations.
37772
37773         open, openat: minor optimization
37774         * lib/open.c (open): If open succeeded, len is non-zero.
37775         * lib/openat.c (rpl_openat): Likewise.
37776
37777         link-follow: ensure correct result
37778         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
37779         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
37780         distinguish between possible failures.
37781
37782 2009-09-21  Eric Blake  <ebb9@byu.net>
37783
37784         fts: avoid compiler warning
37785         * lib/fts.c (dirent_inode_sort_may_be_useful)
37786         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
37787
37788 2009-09-19  Bruno Haible  <bruno@clisp.org>
37789
37790         * lib/progreloc.c (canonicalize_file_name): New declaration.
37791
37792 2009-09-19  Eric Blake  <ebb9@byu.net>
37793
37794         link: fix quoting
37795         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
37796
37797         openat: fix openat bugs on Solaris 9
37798         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
37799         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
37800         * modules/openat (Depends-on): Add open.
37801         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
37802         * modules/fcntl-h (Makefile.am): Substitute it.
37803         * lib/fcntl.in.h (openat): Declare replacement.
37804         * doc/posix-functions/openat.texi (openat): Document this.
37805
37806         openat: move fstatat and unlinkat into correct files
37807         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
37808         compiled.
37809         * lib/openat.c (fstatat, unlinkat): Move...
37810         * lib/fstatat.c (fstatat): ...into correct files.
37811         * lib/unlinkat.c (unlinkat): Likewise.
37812
37813         openat: fix unlinkat bugs on Solaris 9
37814         * lib/unlinkat.c (unlinkat): New file.
37815         * modules/openat (Depends-on): Add unlink.
37816         (Files): Distribute it.
37817         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
37818         trailing slash behavior is broken.
37819         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37820         * modules/unistd (Makefile.am): Substitute it.
37821         * lib/unistd.in.h (unlinkat): Declare replacement.
37822         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
37823
37824         openat: fix fstatat bugs on Solaris 9
37825         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
37826         stat.
37827         * doc/posix-functions/fstatat.texi (fstatat): Document this.
37828
37829         test-unlinkat: enhance test, to expose Solaris 9 bug
37830         * tests/test-unlink.c (main): Factor guts...
37831         * tests/test-unlink.h (test_rmdir_func): ...into new file.
37832         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
37833         * tests/test-rmdir.c (main): Adjust caller.
37834         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
37835         (unlinker): New helper function.
37836         (rmdirat): Enhance check.
37837         * modules/rmdir-tests (Depends-on): Add stdbool.
37838         * modules/unlink-tests (Depends-on): Likewise.
37839         (Files): Add test-unlink.h.
37840         * modules/openat-tests (Files): Likewise.
37841         (Depends-on): Add unlinkdir.
37842
37843         test-fstatat: new test, to expose Solaris 9 bugs
37844         * tests/test-stat.c (main): Factor guts...
37845         * tests/test-stat.h (test_stat_func): ...into new file.
37846         * tests/test-lstat.c (main): Factor guts...
37847         * tests/test-lstat.h (test_lstat_func): ...into new file.
37848         * tests/test-fstatat.c: New file.
37849         * modules/stat-tests (Files): Add test-stat.h.
37850         * modules/lstat-tests (Files): Add test-lstat.h.
37851         (Depends-on): Add stdbool.
37852         * modules/openat-tests (Depends-on): Add pathmax.
37853         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
37854         (Makefile.am): Run new test.
37855
37856         remove: new module, for mingw and Solaris 9 bugs
37857         * modules/remove: New file.
37858         * lib/remove.c: Likewise.
37859         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
37860         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
37861         * modules/stdio (Makefile.am): Use them.
37862         * lib/stdio.in.h (remove): Declare replacement.
37863         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37864         * doc/posix-functions/remove.texi (remove): Likewise.
37865         * modules/remove-tests: New test.
37866         * tests/test-remove.c: Likewise.
37867
37868         unlink: new module, for Solaris 9 bug
37869         * modules/unlink: New file.
37870         * lib/unlink.c: Likewise.
37871         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
37872         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37873         * modules/unistd (Makefile.am): Use them.
37874         * lib/unistd.in.h (stat): Declare replacement.
37875         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37876         * doc/posix-functions/unlink.texi (unlink): Likewise.
37877         * modules/unlink-tests: New test.
37878         * tests/test-unlink.c: Likewise.
37879
37880         lstat: fix Solaris 9 bug
37881         * lib/lstat.c (lstat): Also check for trailing slash on
37882         non-symlink, non-directories.  Use stat module to simplify logic.
37883         * doc/posix-functions/lstat.texi (lstat): Document it.
37884         * modules/lstat-tests (Depends-on): Add errno, same-inode.
37885         (configure.ac): Check for symlink.
37886         * tests/test-lstat.c (main): Add more tests.
37887
37888         stat: add as dependency to other modules
37889         * modules/chown (Depends-on): Add stat.
37890         * modules/euidaccess (Depends-on): Likewise.
37891         * modules/fchdir (Depends-on): Likewise.
37892         * modules/isdir (Depends-on): Likewise.
37893         * modules/link (Depends-on): Likewise.
37894         * modules/lstat (Depends-on): Likewise.
37895         * modules/mkdir-p (Depends-on): Likewise.
37896         * modules/modechange (Depends-on): Likewise.
37897         * modules/open (Depends-on): Likewise.
37898         * modules/readlink (Depends-on): Likewise.
37899         * modules/same (Depends-on): Likewise.
37900
37901         stat: fix Solaris 9 bug
37902         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
37903         slash.
37904         * lib/stat.c (rpl_stat): Work around it.
37905         * doc/posix-functions/stat.texi (stat): Update documentation.
37906
37907         stat: new module, for mingw bug
37908         * modules/stat: New file.
37909         * lib/stat.c: Likewise.
37910         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
37911         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37912         * modules/sys_stat (Makefile.am): Use them.
37913         * lib/sys_stat.in.h (stat): Declare replacement.
37914         * lib/openat.c (fstatat): Deal with lstat and stat being function
37915         macros.
37916         * modules/openat (Depends-on): Add inline.
37917         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37918         * doc/posix-functions/stat.texi (stat): Likewise.
37919         * modules/stat-tests: New test.
37920         * tests/test-stat.c: Likewise.
37921
37922 2009-09-19  Jim Meyering  <meyering@redhat.com>
37923
37924         syntax-check: detect unnecessary inclusion of canonicalize.h
37925         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
37926
37927 2009-09-19  Eric Blake  <ebb9@byu.net>
37928
37929         canonicalize-lgpl: adjust clients to use correct header
37930         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37931         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
37932         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
37933         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
37934         * lib/progreloc.c (includes): Likewise.
37935
37936 2009-09-19  Jim Meyering  <meyering@redhat.com>
37937
37938         test-posixtm.c: correct a comment
37939         * tests/test-posixtm.c: Correct first-line comment.
37940         Spotted by Eric Blake.
37941
37942 2009-09-16  Jim Meyering  <meyering@redhat.com>
37943
37944         posixtm-tests: make T const-correct; add a test case
37945         * tests/test-posixtm.c (T): Declare const.
37946         Add a test for -(2^31+1).
37947         Remove useless can-succeed-only-in-2002 test.
37948
37949         posixtm-tests: adjust the sole failing test
37950         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
37951         expected output matches what mktime now produces.  Cross-checked via
37952         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
37953
37954         posixtm: move #ifdef'd tests into a new module
37955         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
37956         * tests/test-posixtm.c: ... this new file.
37957         * modules/posixtm-tests: New module.
37958
37959 2009-09-19  Eric Blake  <ebb9@byu.net>
37960
37961         openat: simplify use of at-func.c
37962         * lib/at-func.c (includes): Include prerequisites here, to
37963         simplify requirements on client files.
37964         * lib/openat-priv.h: Add double-inclusion guard.
37965         * lib/faccessat.c (includes): Simplify.
37966         * lib/fchmodat.c (includes): Likewise.
37967         * lib/fchownat.c (includes): Likewise.
37968         * lib/mkdirat.c (includes): Likewise.
37969         * lib/mkfifoat.c (includes): Likewise.
37970         * lib/symlinkat.c (includes): Likewise.
37971
37972         openat: allow return of fd 0
37973         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
37974         * modules/save-cwd (Depends-on): Replace fcntl-safer with
37975         unistd-safer.
37976         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
37977         <fcntl.h>; this module does not leak fds.
37978         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
37979         must be allowed to return 0, leaving openat_safer to add the
37980         safety.
37981         (openat_permissive): Avoid writing to just-opened fd 2 if
37982         restoring the current directory fails.
37983         * lib/openat-die.c (openat_restore_fail): Add comment.
37984         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
37985         (save_cwd): Guarantee safe fd, but without use of open_safer.
37986         * tests/test-openat.c: New test.
37987         * modules/openat-tests (Files, Makefile.am): Distribute and build
37988         new file.
37989
37990         relocatable-prog-wrapper: fix build
37991         * modules/relocatable-prog-wrapper (Files): Update name of
37992         canonicalize m4 file, broken on 2009-09-17.
37993         Reported by emad hajjar <aleppos@hotmail.com>.
37994
37995 2009-09-19  Bruno Haible  <bruno@clisp.org>
37996
37997         * lib/safe-alloc.h: Use the standard header with GPL copyright.
37998         * lib/safe-alloc.c: Likewise.
37999         Reported by Ian Beckwith <ianb@erislabs.net>.
38000
38001 2009-09-18  Bruno Haible  <bruno@clisp.org>
38002
38003         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
38004         Reported by <erobles@sensacd.com.mx>.
38005
38006 2009-09-17  Eric Blake  <ebb9@byu.net>
38007
38008         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
38009         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
38010         slashes when checking if last component is missing.
38011         * tests/test-canonicalize.c (main): Test this.
38012
38013         canonicalize, canonicalize-lgpl: honor // if distinct from /
38014         * modules/canonicalize (Files): Add double-slash-root.m4.
38015         * modules/canonicalize-lgpl (Files): Likewise.
38016         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38017         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
38018         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
38019         fallback definition.
38020         (canonicalize_filename_mode): Use it to protect //.
38021         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
38022         (__realpath): Likewise.
38023         * tests/test-canonicalize.c (main): Test this.
38024         * tests/test-canonicalize-lgpl.c (main): Likewise.
38025         * modules/canonicalize-tests (Depends-on): Add same-inode.
38026         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
38027
38028         canonicalize-lgpl: fix glibc bug with trailing slash
38029         * m4/canonicalize-lgpl.m4: Move contents...
38030         * m4/canonicalize.m4: ...here.
38031         (gl_CANONICALIZE_LGPL): Factor realpath check...
38032         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
38033         glibc 2.3.5 bug, fixed 2005-04-27.
38034         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
38035         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
38036         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
38037         * modules/canonicalize-lgpl (Files): Manage file rename.
38038         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
38039         * modules/stdlib (Makefile.am): Substitute witness.
38040         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
38041         is needed.
38042         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
38043         replacement is required.
38044         * lib/canonicalize.c (canonicalize_file_name): Likewise.
38045         * doc/glibc-functions/canonicalize_file_name.texi
38046         (canonicalize_file_name): Document this.
38047         * doc/posix-functions/realpath.texi (realpath): Likewise.
38048
38049         canonicalize-lgpl: reject non-directory with trailing slash
38050         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
38051         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
38052         catches failures in glibc 2.3.5.
38053         * tests/test-canonicalize.c (main): Likewise.
38054
38055         canonicalize-lgpl: use native realpath if it works
38056         * lib/canonicalize-lgpl.c (realpath): Guard with
38057         FUNC_REALPATH_WORKS.
38058         * lib/stdlib.in.h (realpath): Make declaration optional based on
38059         HAVE_REALPATH.
38060         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
38061         native realpath works.
38062         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
38063         * modules/stdlib (Makefile.am): Substitute witness.
38064
38065         canonicalize, canonicalize-lgpl: use <stdlib.h>
38066         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
38067         (Include): Mention <stdlib.h>.
38068         (configure.ac): Mention functions we provide.
38069         * modules/canonicalize (configure.ac): Likewise.
38070         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
38071         realpath if canonicalize_file_name is missing.
38072         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
38073         * modules/stdlib (Makefile.am): Substitute witnesses.
38074         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
38075         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
38076         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
38077         * NEWS: Document this.
38078         * doc/glibc-functions/canonicalize_file_name.texi
38079         (canonicalize_file_name): Likewise.
38080         * doc/posix-functions/realpath.texi (realpath): Likewise.
38081         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
38082
38083         test-canonicalize: consolidate into single C program
38084         * tests/test-canonicalize.sh: Delete; move setup into...
38085         * tests/test-canonicalize.c (main): ...the program, making it
38086         easier to run in debugger.  Add some tests.
38087         * modules/canonicalize-tests (Files): Remove unused file.
38088         (Depends-on): Add progname.
38089         (configure.ac, Makefile.am): Simplify.
38090
38091         test-canonicalize-lgpl: consolidate into single C program
38092         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
38093         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
38094         easier to run in debugger.  Add some tests.
38095         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
38096         (configure.ac, Makefile.am): Simplify.
38097
38098         canonicalize: avoid resolvepath
38099         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
38100         unnecessary checks.
38101         * lib/canonicalize.c (includes): Simplify.
38102         (canonicalize_file_name): Drop resolvepath implementation.
38103         * modules/canonicalize (Depends-on): Drop filenamecat.
38104
38105         canonicalize: don't lose errno
38106         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
38107         over calls to free.
38108
38109         canonicalize: simplify errno handling
38110         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
38111         assignment.
38112
38113         canonicalize, canonicalize-lgpl: update module dependencies
38114         * modules/canonicalize (Depends-on): Add extensions, lstat,
38115         pathmax, stdlib.
38116         (Files): Drop pathmax.h.
38117         (configure.ac): Adjust macro name.
38118         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
38119         lstat, stdlib, sys_stat.
38120         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
38121         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
38122         extensions.
38123         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
38124         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
38125         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
38126         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
38127         declaration, if available.
38128         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
38129         we can rely on the readlink module.
38130         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
38131         (includes): Use <unistd.h> unconditionally.
38132
38133 2009-09-17  Eric Blake  <ebb9@byu.net>
38134
38135         maint: make Include sections of modules consistent
38136         * modules/alloca: Use only header name; no need to list #include.
38137         * modules/alloca-opt: Likewise.
38138         * modules/arpa_inet: Likewise.
38139         * modules/canon-host: Likewise.
38140         * modules/configmake: Likewise.
38141         * modules/dirent: Likewise.
38142         * modules/eealloc: Likewise.
38143         * modules/environ: Likewise.
38144         * modules/fchdir: Likewise.
38145         * modules/fcntl: Likewise.
38146         * modules/fcntl-h: Likewise.
38147         * modules/gethrxtime: Likewise.
38148         * modules/gettime: Likewise.
38149         * modules/ignore-value: Likewise.
38150         * modules/inet_ntop: Likewise.
38151         * modules/inet_pton: Likewise.
38152         * modules/inttypes: Likewise.
38153         * modules/isnand-nolibm: Likewise.
38154         * modules/isnanf-nolibm: Likewise.
38155         * modules/mbchar: Likewise.
38156         * modules/mbfile: Likewise.
38157         * modules/mbiter: Likewise.
38158         * modules/mbuiter: Likewise.
38159         * modules/netdb: Likewise.
38160         * modules/netinet_in: Likewise.
38161         * modules/nproc: Likewise.
38162         * modules/pagealign_alloc: Likewise.
38163         * modules/poll: Likewise.
38164         * modules/printf-frexp: Likewise.
38165         * modules/pthread: Likewise.
38166         * modules/putenv: Likewise.
38167         * modules/random_r: Likewise.
38168         * modules/relocatable-prog: Likewise.
38169         * modules/search: Likewise.
38170         * modules/select: Likewise.
38171         * modules/selinux-h: Likewise.
38172         * modules/settime: Likewise.
38173         * modules/signal: Likewise.
38174         * modules/size_max: Likewise.
38175         * modules/socklen: Likewise.
38176         * modules/ssize_t: Likewise.
38177         * modules/stdarg: Likewise.
38178         * modules/stdbool: Likewise.
38179         * modules/stddef: Likewise.
38180         * modules/stdint: Likewise.
38181         * modules/stdio: Likewise.
38182         * modules/stdlib: Likewise.
38183         * modules/string: Likewise.
38184         * modules/strings: Likewise.
38185         * modules/sys_file: Likewise.
38186         * modules/sys_ioctl: Likewise.
38187         * modules/sys_select: Likewise.
38188         * modules/sys_socket: Likewise.
38189         * modules/sys_stat: Likewise.
38190         * modules/sys_time: Likewise.
38191         * modules/sys_times: Likewise.
38192         * modules/sys_utsname: Likewise.
38193         * modules/sys_wait: Likewise.
38194         * modules/sysexits: Likewise.
38195         * modules/time: Likewise.
38196         * modules/times: Likewise.
38197         * modules/tmpfile: Likewise.
38198         * modules/trim: Likewise.
38199         * modules/unistd: Likewise.
38200         * modules/wchar: Likewise.
38201         * modules/wctype: Likewise.
38202
38203 2009-09-17  Bruno Haible  <bruno@clisp.org>
38204
38205         Make getdate.y compile on QNX and NetBSD 5 / i386.
38206         * m4/getdate.m4 (gl_GETDATE): Conditionally define
38207         TIME_T_FITS_IN_LONG_INT.
38208         * lib/getdate.y (long_time_t): New type.
38209         (relative_time): Change type of 'seconds' field to long_time_t.
38210         (get_date): Update types of local variables. Check against overflow
38211         during conversion from long_time_t to time_t.
38212         Reported by Matt Kraai <kraai@ftbfs.org>
38213         and Hasso Tepper <hasso@netbsd.org>.
38214
38215 2009-09-17  Bruno Haible  <bruno@clisp.org>
38216
38217         * modules/COPYING: Update copyright years.
38218         * modules/README: Likeiwse.
38219         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
38220         Reported by Ian Beckwith <ianb@erislabs.net>.
38221
38222 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
38223
38224         * users.txt: Update references for gnuit package.
38225
38226 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
38227
38228         * m4/getdelim.m4: Fix typo in copyright line.
38229
38230 2009-09-17  Bruno Haible  <bruno@clisp.org>
38231
38232         * lib/atoll.c: Use the standard header with GPL copyright.
38233         * lib/argz.in.h: Likewise.
38234         * lib/glob.c: Likewise.
38235         * lib/glob-libc.h: Likewise.
38236         * lib/random_r.c: Likewise.
38237         * lib/siglist.h: Likewise.
38238         * lib/strsignal.c: Likewise.
38239         Reported by Ian Beckwith <ianb@erislabs.net>.
38240
38241 2009-09-17  Eric Blake  <ebb9@byu.net>
38242
38243         rmdir: ensure correct dependency order
38244         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
38245
38246 2009-09-17  Bruno Haible  <bruno@clisp.org>
38247
38248         Disable assertion that fails on NetBSD 5 / i386.
38249         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
38250         Reported by Sam Steingold <sds@gnu.org>
38251         and Hasso Tepper <hasso@netbsd.org>.
38252
38253 2009-09-16  Eric Blake  <ebb9@byu.net>
38254
38255         unlinkdir: port to mingw
38256         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
38257         on which no one can unlink a directory.
38258
38259         stdlib: sort witness names
38260         * modules/stdlib (Makefile.am): Sort replacements.
38261         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
38262         * lib/stdlib.in.h: Likewise.
38263
38264         parse-duration-tests: avoid link failure
38265         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
38266         LIBINTL.
38267         Reported by Tom G. Christensen.
38268
38269         openat-tests: ensure unlinkat behaves like rmdir
38270         * tests/test-rmdir.c (main): Factor guts...
38271         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
38272         * modules/rmdir-tests (Files): Ship new file.
38273         * modules/openat-tests: New test.
38274         * tests/test-unlinkat.c: Likewise.
38275
38276         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
38277         * modules/rmdir-errno (Status, Notice): Now obsolete.
38278
38279         rmdir: work around cygwin 1.5.x and mingw bugs
38280         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
38281         * lib/rmdir.c (rmdir): Work around it.
38282         * modules/rmdir (Status, Notice): No longer obsolete.
38283         (Files): Add dos.m4.
38284         (Depends-on): Add unistd.
38285         (configure.ac): Set witnesses.
38286         (License): Relax to LGPLv2+.
38287         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
38288         * modules/unistd (Makefile.am): Substitute witnesses.
38289         * lib/unistd.in.h (rmdir): Declare replacement.
38290         * doc/posix-functions/rmdir.texi (rmdir): Document this.
38291         * modules/rmdir-tests: New tests.
38292         * tests/test-rmdir.c: Likewise.
38293
38294 2009-09-15  Eric Blake  <ebb9@byu.net>
38295
38296         fchdir: improve use of replacement functions
38297         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
38298         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
38299         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
38300         REPLACE_CLOSEDIR.
38301         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
38302         * modules/sys_stat (Makefile.am): Substitute correct witness.
38303         * modules/dirent (Makefile.am): Likewise.
38304         * modules/unistd (Makefile.am): Likewise.
38305         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
38306         * lib/unistd.in.h (dup): Likewise.
38307         * lib/sys_stat.in.h (fstat): Likewise.
38308
38309         maint: ignore gnulib-tool temp files
38310         * .gitignore: Ignore files created during gnulib-tool --test.
38311
38312 2009-09-13  Jim Meyering  <meyering@redhat.com>
38313
38314         posixtm: don't reject a time that specify "60" as the number of seconds
38315         * lib/posixtm.c (posixtime): The code to reject invalid dates
38316         would also reject a time specified with the .60 suffix.
38317         But POSIX allows that, in order to accommodate leap seconds.
38318         So don't reject it.
38319         (main): Adjust tests accordingly.
38320         * modules/posixtm (Depends-on): Add stpcpy.
38321
38322 2009-09-11  Jim Meyering  <meyering@redhat.com>
38323
38324         announce-gen: include [$release_type] in emitted Subject:
38325         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
38326         e.g., [stable] in the emitted Subject: line.
38327
38328 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38329
38330         Remove obsolete macros from several modules.
38331         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
38332         obsolete Autoconf macros with their modern counterparts.
38333         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
38334         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
38335         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
38336         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
38337         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
38338         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
38339         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38340         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
38341         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
38342         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
38343         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
38344         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
38345         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
38346         * m4/sockets.m4 (gl_SOCKETS): Likewise.
38347         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
38348         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
38349         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
38350         * m4/time_r.m4 (gl_TIME_R): Likewise.
38351         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
38352         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
38353         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
38354
38355         Fix copyright header in build-aux scripts.
38356         * build-aux/git-version-gen: Fix copyright header to match GPLv3
38357         recommendation.
38358         * build-aux/ncftpput-ftp: Likewise.
38359         * build-aux/update-copyright: Likewise.
38360
38361 2009-09-09  Eric Blake  <ebb9@byu.net>
38362
38363         test-link: allow Linux choice of errno
38364         * tests/test-link.c (main): Relax test for alternate error.
38365
38366         strndup: fix improper m4 caching
38367         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
38368         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
38369         (gl_PREREQ_STRNDUP): Delete.
38370         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
38371         * modules/string (Makefile.am): Substitute it.
38372         * lib/string.in.h (strndup): Modernize prototype.
38373
38374         getcwd: port to mingw
38375         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
38376         different from the POSIX assumptions made throughout the getcwd
38377         module; fortunately, the mingw getcwd does not need replacement.
38378         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
38379         * modules/getcwd-tests: New test.
38380         * tests/test-getcwd.c: Likewise.
38381
38382         link: fix platform bugs
38383         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
38384         * lib/link.c (link): Work around them.  Fix related mingw bug.
38385         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
38386         * modules/unistd (Makefile.am): Substitute it.
38387         * lib/unistd.in.h (link): Declare replacement.
38388         * doc/posix-functions/link.texi (link): Document this.
38389         * modules/link (Depends-on): Add strdup-posix, sys_stat.
38390
38391         test-link: consolidate into single C program, test more cases
38392         * tests/test-link.sh: Delete.
38393         * tests/test-link.c: Test more error conditions.  Exposes bugs on
38394         at least Cygwin and Solaris.
38395         * modules/link-tests (Files): Remove unused file.
38396         (Depends-on): Add errno, sys_stat.
38397         (Makefile.am): Simplify.
38398
38399 2009-09-08  Bruno Haible  <bruno@clisp.org>
38400
38401         Work around towlower, towupper bug on mingw.
38402         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
38403         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
38404         * doc/posix-functions/towlower.texi: Mention the mingw bug.
38405         * doc/posix-functions/towupper.texi: Likewise.
38406         Reported by Eric Blake.
38407
38408 2009-09-08  Jim Meyering  <meyering@redhat.com>
38409
38410         build: don't try to run autoheader if we don't use it
38411         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
38412         is not used in configure.ac.
38413
38414 2009-09-08  Eric Blake  <ebb9@byu.net>
38415
38416         euidaccess: fix compilation error
38417         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
38418
38419         rawmemchr: relax license
38420         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
38421         okay.
38422         Reported by Jim Meyering.
38423
38424         mkfifoat: new module
38425         * modules/mkfifoat: New file.
38426         * lib/mkfifoat.c: Likewise.
38427         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
38428         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38429         * modules/sys_stat (Makefile.am): Use them.
38430         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
38431         * MODULES.html.sh (File system functions): Mention module.
38432         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38433         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38434         * modules/mkfifoat-tests: New test.
38435         * tests/test-mkfifoat.c: Likewise.
38436
38437         strchrnul: relax license
38438         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
38439         okay.
38440         Reported by Jim Meyering.
38441
38442 2009-09-08  Eric Blake  <ebb9@byu.net>
38443
38444         fstatat: fix compilation on Solaris
38445         * lib/fstatat.c (includes): Add fcntl.h.
38446         Reported by Pádraig Brady.
38447
38448 2009-09-07  Eric Blake  <ebb9@byu.net>
38449
38450         rename: modernize replacement
38451         * modules/rename (Depends-on): Add stdio.
38452         (configure.ac): Declare witness.
38453         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
38454         stdio take care of replacement.
38455         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
38456         * modules/stdio (Makefile.am): Substitute them.
38457         * lib/stdio.in.h (rename): Declare replacement.
38458         * lib/rename.c (includes): Allow cross-compilation to non-windows
38459         machines.
38460         * doc/posix-functions/rename.texi (rename): Improve
38461         documentation.
38462
38463         stdio: sort witness names
38464         * modules/stdio (Makefile.am): Sort replacements.
38465         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38466         * lib/stdio.in.h: Likewise.
38467
38468         getcwd: minor cleanups
38469         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
38470         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
38471
38472         openat: provide more convenience names
38473         * modules/faccessat (configure.ac): Add C witness.
38474         * lib/unistd.in.h (readlinkat): Fix typo.
38475         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
38476         convenience wrappers.
38477         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
38478         wrappers in syntax checks.
38479
38480 2009-09-06  Eric Blake  <ebb9@byu.net>
38481
38482         doc: fix comments in recent patches
38483         * lib/faccessat.c: Mention correct function.
38484         * lib/fchmodat.c: Likewise.
38485         * lib/fchownat.c: Likewise.
38486         * lib/symlinkat.c: Likewise.
38487         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
38488         constants.
38489
38490         faccessat, symlinkat: continue cleanup of previous patch
38491         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
38492         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
38493         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
38494         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
38495         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
38496         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
38497         set.
38498
38499 2009-09-06  Bruno Haible  <bruno@clisp.org>
38500
38501         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
38502         (fstatat): Declare if GNULIB_FSTATAT is set.
38503         (mkdirat): Declare if GNULIB_MKDIRAT is set.
38504         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
38505         (unlinkat): Declare if GNULIB_UNLINKAT is set.
38506         * modules/fcntl-h (Files): Remove m4/openat.m4.
38507         * modules/sys_stat (Files): Remove m4/openat.m4.
38508         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
38509         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
38510         * modules/unistd (Files): Remove m4/openat.m4.
38511         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
38512         GNULIB_OPENAT.
38513         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
38514         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
38515         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
38516         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
38517         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
38518         gl_OPENAT_DEFAULTS.
38519         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
38520         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
38521         Don't require gl_OPENAT_DEFAULTS.
38522         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
38523         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
38524         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
38525         (gl_OPENAT_DEFAULTS): Remove macro.
38526
38527 2009-09-06  Bruno Haible  <bruno@clisp.org>
38528
38529         * modules/openat (configure.ac): Remove unneeded witness.
38530
38531 2009-09-06  Bruno Haible  <bruno@clisp.org>
38532
38533         Set errno to ENOSYS when a function is entirely unsupported.
38534         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
38535         EOPNOTSUPP.
38536         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
38537         * modules/chown (Depends-on): Remove errno.
38538
38539 2009-09-06  Bruno Haible  <bruno@clisp.org>
38540
38541         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
38542
38543 2009-09-06  Bruno Haible  <bruno@clisp.org>
38544
38545         * lib/sys_stat.in.h: Fix preprocessor command indentation.
38546
38547 2009-09-06  Ben Pfaff  <blp@gnu.org>
38548             Bruno Haible  <bruno@clisp.org>
38549
38550         Work around a glibc bug in strtok_r.
38551         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
38552         Undefine if UNDEFINE_STRTOK_R is set.
38553         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
38554         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
38555         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
38556         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
38557         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
38558         UNDEFINE_STRTOK_R.
38559         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
38560
38561 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
38562
38563         exclude: minor fix
38564         * lib/exclude.c: Include wctype.h
38565
38566 2009-09-06  Akim Demaille  <demaille@gostai.com>
38567
38568         bootstrap: improve error message
38569         * build-aux/bootstrap (find_tool): Upon failure, report the list
38570         of candidates.
38571         Honor the initial value of the envvar.
38572
38573 2009-09-05  Eric Blake  <ebb9@byu.net>
38574
38575         symlinkat: new module
38576         * modules/symlinkat: New file.
38577         * lib/symlinkat.c: Likewise.
38578         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
38579         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38580         * modules/unistd (Makefile.am): Use them.
38581         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
38582         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
38583         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
38584         * MODULES.html.sh (File system functions): Mention module.
38585         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38586         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38587         * modules/symlinkat-tests: New test.
38588         * tests/test-symlinkat.c: Likewise.
38589
38590         test-openat-safer: add more checks
38591         * tests/test-openat-safer.c (main): Check more code paths.
38592
38593 2009-09-05  Jim Meyering  <meyering@redhat.com>
38594
38595         syntax-check: detect unnecessary inclusion of openat.h
38596         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
38597
38598 2009-09-05  Bruno Haible  <bruno@clisp.org>
38599
38600         Support towlower, towupper.
38601         * doc/posix-functions/towlower.texi: Mention module wctype.
38602         * doc/posix-functions/towupper.texi: Likewise.
38603         * lib/wctype.in.h (towlower, towupper): New functions.
38604         * tests/test-wctype.c: Include stdio.h, stdlib.h.
38605         (ASSERT): New macro.
38606         (e): New variable.
38607         (main): Test also towlower, towupper. Test WEOF argument.
38608         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
38609
38610 2009-09-05  Bruno Haible  <bruno@clisp.org>
38611
38612         Fix conversion behaviour when the input is invalid.
38613         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
38614         mark occurring in first pass of indirect conversion.
38615         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
38616         input.
38617         Found by clang's static analyzer.
38618
38619 2009-09-05  Bruno Haible  <bruno@clisp.org>
38620
38621         * tests/test-striconveh.c (main): Test indirect conversion on platforms
38622         where direct conversion is possible.
38623
38624 2009-09-04  Eric Blake  <ebb9@byu.net>
38625
38626         openat: fail with ENOENT on empty name
38627         * lib/openat-proc.c (openat_proc_name): Special-case the empty
38628         buffer.
38629
38630         link-follow: fix logic bug in prior patch
38631         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
38632         reversed sense of yes and no in prior patch.  Avoid confusing
38633         compilation failure with desired semantics.
38634
38635         link-follow: accomodate mingw and cross-compilation
38636         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
38637         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
38638         cross-compilation results to -1, to make linkat easier to
38639         implement when cross-compiling.  Trivially support mingw.
38640         * modules/link-follow (configure.ac): Call new name.
38641         * NEWS: Mention this.
38642
38643 2009-09-03  Eric Blake  <ebb9@byu.net>
38644
38645         faccessat: compile replacement
38646         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
38647         needed.
38648
38649         fts: fix compilation error
38650         * lib/fts.c (includes): Re-add "openat.h", for
38651         openat_needs_fchdir.
38652
38653         faccessat: new module
38654         * modules/faccessat: New file.
38655         * lib/faccessat.c: Likewise.
38656         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
38657         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38658         * modules/unistd (Makefile.am): Use it.
38659         * lib/unistd.in.h (faccessat): Declare it.
38660         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
38661         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
38662         * MODULES.html.sh (File system functions): Mention it.
38663         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
38664         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38665
38666         euidaccess: prefer POSIX over non-standard implementation
38667         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
38668         * lib/euidaccess.c (euidaccess): Use it if available.
38669
38670         openat: make template easier to use
38671         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
38672         AT_FUNC_F2 to be undefined.
38673         (VALIDATE_FLAG): New macro; use it to reject bad flags.
38674         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
38675         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
38676         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
38677         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
38678         Likewise.
38679         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
38680         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
38681         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
38682         Likewise.
38683
38684         openat: declare in POSIX headers
38685         * NEWS: Mention this.
38686         * modules/openat (configure.ac): Declare witnesses.
38687         (Depends-on): Add fcntl-h, sys_stat, unistd.
38688         (Include): Mention correct headers.
38689         * modules/fcntl-h (Depends-on): Add link-warning.
38690         (Files): Add openat.m4.
38691         (Makefile.am): Substitute witnesses.
38692         * modules/sys_stat (Files, Makefile.am): Likewise.
38693         * modules/unistd (Files, Makefile.am): Likewise.
38694         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
38695         (gl_OPENAT_DEFAULTS): New macro.
38696         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
38697         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
38698         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
38699         (SYS_STAT_H): Remove unused variable.
38700         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
38701         * lib/fcntl--.h (includes): Remove unneeded header.
38702         * lib/openat-safer.c (includes): Likewise.
38703         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
38704         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
38705         appropriate headers.
38706         (__OPENAT_PREFIX): Delete.
38707         * lib/fcntl.in.h (openat): Provide declaration.
38708         (AT_FDCWD): Fix Solaris bug.
38709         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
38710         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
38711         * lib/fchmodat.c (includes):  Adjust to find declaration.
38712         * lib/fchownat.c (includes): Likewise.
38713         * lib/mkdirat.c (includes): Likewise.
38714         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
38715         still visible.
38716
38717 2009-09-02  Eric Blake  <ebb9@byu.net>
38718
38719         errno: use consistently
38720         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
38721         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
38722         * lib/canonicalize.c (ELOOP): Likewise.
38723         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
38724         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
38725         * lib/lchown.c (EOPNOTSUPP): Likewise.
38726         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
38727         * lib/savewd.c (ESTALE): Likewise.
38728         * lib/settime.c (ENOSYS): Likewise.
38729         * lib/utimens.c (ENOSYS): Likewise.
38730         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
38731         * lib/chdir-safer.c (ELOOP): Likewise.
38732         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
38733         * modules/c-stack (Depends-on): Add errno.
38734         * modules/canonicalize (Depends-on): Likewise.
38735         * modules/chdir-safer (Depends-on): Likewise.
38736         * modules/fdopendir (Depends-on): Likewise.
38737         * modules/inet_ntop (Depends-on): Likewise.
38738         * modules/inet_pton (Depends-on): Likewise.
38739         * modules/lchown (Depends-on): Likewise.
38740         * modules/openat (Depends-on): Likewise.
38741         * modules/savewd (Depends-on): Likewise.
38742         * modules/settime (Depends-on): Likewise.
38743         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
38744
38745         fts: avoid leaking fds
38746         * modules/fts (Depends-on): Add cloexec.
38747         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
38748         flag.
38749
38750         fts: make directory fds more robust
38751         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
38752         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
38753
38754         backupfile, chdir-long, fts, savedir: make safer
38755         * lib/backupfile.c (includes): Use "dirent--.h", since
38756         numbered_backup can write to stderr during readdir.
38757         * lib/savedir.c (includes): Likewise.
38758         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
38759         emulation can write to stderr on failure.
38760         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
38761         * lib/getcwd.c: Document why opendir_safer is unused.
38762         * lib/glob.c: Likewise.
38763         * lib/scandir.c: Likewise.
38764         * lib/openat-proc.c: Likewise, for open_safer.
38765         * modules/backupfile (Depends-on): Add dirent-safer.
38766         * modules/savedir (Depends-on): Likewise.
38767         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
38768         * modules/chdir-long (Depends-on): Add openat-safer.
38769
38770         openat-safer: new module
38771         * modules/openat-safer: New file.
38772         * lib/openat-safer.c: Likewise.
38773         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
38774         * lib/fcntl-safer.h (openat_safer): Declare.
38775         * lib/fcntl--.h (openat): Override.
38776         * MODULES.html.sh (File descriptor based I/O): Mention it.
38777         * lib/openat.h: Add double-inclusion guards.
38778         * lib/openat.c (includes): Only include "fcntl-safer.h", not
38779         "fcntl--.h", so we can implement openat.
38780         * modules/openat-safer-tests: New test.
38781         * tests/test-openat-safer.c: New file.
38782
38783         dirent-safer: new module
38784         * modules/dirent-safer: New file.
38785         * lib/dirent--.h: Likewise.
38786         * lib/dirent-safer.h: Likewise.
38787         * lib/opendir-safer.c: Likewise.
38788         * m4/dirent-safer.m4: Likewise.
38789         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
38790         * modules/dirent-safer-tests: New test.
38791         * tests/test-dirent-safer.c: New file.
38792         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
38793
38794         fdopendir: optimize on mingw
38795         * lib/unistd.in.h (_gl_directory_name): New prototype.
38796         * lib/fchdir.c (_gl_directory_name): Implement it.
38797         (fchdir): Use it to simplify implementation.
38798         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
38799         fchdir, when available, to avoid calling [f]chdir().
38800
38801         fdopendir: split into its own module
38802         * lib/openat.c (fdopendir): Move...
38803         * lib/fdopendir.c: ...into new file.
38804         * modules/fdopendir: New module.
38805         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
38806         * modules/openat (Depends-on): Add fdopendir.
38807         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
38808         fdopendir here.
38809         * modules/savedir (Depends-on): Only need fdopendir, not full
38810         openat.
38811         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
38812         * lib/openat.h (fdopendir): Drop prototype.
38813         * lib/dirent.in.h (fdopendir): Provide prototype.
38814         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
38815         * modules/dirent (Makefile.am): Substitute them.
38816         * MODULES.html.sh (File system functions): Mention it.
38817         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
38818         * modules/fdopendir-tests: New file.
38819         * tests/test-fdopendir.c: Likewise.
38820
38821         fchdir: use more consistent macro convention
38822         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
38823         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
38824         REPLACE_FCHDIR, rather than relying on config.h macros.
38825         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
38826         inside a single make-time REPLACE_FCHDIR block, rather than using
38827         the config.h FCHDIR_REPLACEMENT.
38828         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
38829         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
38830         Manage fstat replacement.
38831         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
38832         REPLACE_FCHDIR.
38833         * modules/sys_stat (Files): Add m4/unistd_h.m4.
38834         (Makefile.am): Substitute REPLACE_FCHDIR.
38835         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
38836         FCHDIR_REPLACEMENT.
38837         * lib/dup-safer.c (dup_safer): Likewise.
38838         * lib/dup2.c (rpl_dup2): Likewise.
38839         * lib/dup3.c (rpl_dup3): Likewise.
38840         * lib/open.c (rpl_open): Likewise.
38841
38842         fchdir: simplify error handling, and support dup3
38843         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
38844         stdbool, malloc-posix, realloc-posix.
38845         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
38846         (ensure_dirs_slot): Return false on allocation failure.
38847         (rpl_dup2): Delete.
38848         (_gl_register_dup): New function.
38849         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
38850         (_gl_register_fd): Close fd on allocation failure.
38851         * lib/fcntl.in.h (_gl_register_fd): Update signature.
38852         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
38853         prototype.
38854         (rpl_dup2_fchdir): Delete prototype.
38855         * lib/open.c (open): Update caller.
38856         * lib/dup2.c (dup2): Track fchdir metadata.
38857         * lib/dup3.c (dup3): Likewise.
38858         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
38859         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
38860
38861 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38862
38863         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
38864         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
38865         don't pass arguments to AC_OUTPUT.
38866
38867 2009-09-02  Bruno Haible  <bruno@clisp.org>
38868
38869         * modules/mkdtemp (License): Relicense under LGPLv2+.
38870         Reported by Paolo Bonzini.
38871
38872 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38873
38874         Replace uses of obsolete autoconf macros in Jim's modules.
38875         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
38876         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
38877         can evoke a warning from autoconf when run with -Wobsolete
38878         enabled.  They were declared obsolete for good reasons (see
38879         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
38880         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
38881         should not continue using the deprecated macros.
38882         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
38883         obsolete Autoconf macros with modern counterparts.
38884         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
38885         * m4/dos.m4 (gl_AC_DOS): Likewise.
38886         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
38887         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
38888         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
38889         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
38890         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
38891         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
38892         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
38893         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
38894         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
38895         Likewise.
38896         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
38897         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
38898         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
38899         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
38900         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
38901         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
38902
38903 2009-09-01  Eric Blake  <ebb9@byu.net>
38904
38905         fchdir: fix off-by-one bug in previous patch
38906         * lib/fchdir.c (rpl_fstat): Use correct bounds.
38907         (_gl_unregister_fd): Delete useless if.
38908
38909 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
38910
38911         maint.mk: sort the list of syntax-check rules
38912         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
38913         easier to get a sense of progress when the rules are run sequentially
38914         and take a long time.
38915
38916 2009-09-01  Simon Josefsson  <simon@josefsson.org>
38917
38918         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
38919         * modules/netinet_in: Likewise.
38920         * modules/sys_file: Likewise.
38921         * modules/sys_ioctl: Likewise.
38922         * modules/sys_select: Likewise.
38923         * modules/sys_socket: Likewise.
38924         * modules/sys_stat: Likewise.
38925         * modules/sys_time: Likewise.
38926         * modules/sys_times: Likewise.
38927         * modules/sys_utsname: Likewise.
38928         * modules/sys_wait: Likewise.
38929
38930 2009-09-01  Jim Meyering  <meyering@redhat.com>
38931
38932         fts: help ensure that return values are not ignored
38933         * lib/fts_.h (__GNUC_PREREQ): Define.
38934         (__attribute_warn_unused_result__): Define.
38935         (fts_children, fts_close, fts_open, fts_read): Declare with
38936         __attribute_warn_unused_result__.
38937
38938         fts: fts_close now fails also when closing a dir file descriptor fails
38939         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
38940         and propagate to caller, along with errno.
38941
38942         announce-gen: correct formatting in --help output
38943         * build-aux/announce-gen (usage): Move the one-line description in
38944         --help output "up", to where it belongs, just after Usage:.
38945
38946 2009-08-31  Eric Blake  <ebb9@byu.net>
38947
38948         fchdir: port to mingw
38949         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
38950         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
38951         opened, then use a substitute.
38952         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
38953         replacement.
38954         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
38955         (_gl_register_fd): No need to check stat if open already filters
38956         all directories.
38957         (fchdir): Fix error condition to match POSIX.
38958         * modules/fchdir (Depends-on): Add sys_stat.
38959         * doc/posix-functions/open.texi (open): Document the limitation.
38960         * modules/fchdir-tests: New file.
38961         * tests/test-fchdir.c: Likewise.
38962
38963         canonicalize: allow cross-testing from cygwin to mingw
38964         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
38965         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
38966         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
38967         Likewise.
38968         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
38969         target does not support symlinks.
38970         * tests/test-canonicalize-lgpl.sh: Likewise.
38971
38972         chown: avoid compilation warning on mingw
38973         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
38974         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
38975         mingw.
38976         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
38977         * modules/chown (Depends-on): Add errno.
38978
38979 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
38980
38981         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
38982         command.
38983
38984 2009-08-31  Jim Meyering  <meyering@redhat.com>
38985
38986         canonicalize: remove useless initialization
38987         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
38988         initialization of local, "end".
38989
38990 2009-08-30  Bruno Haible  <bruno@clisp.org>
38991
38992         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
38993         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
38994         ENOSYS.
38995
38996 2009-08-30  Bruno Haible  <bruno@clisp.org>
38997
38998         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
38999         /usr/xpg4/bin/tr when it exists.
39000         * tests/test-pipe-filter-gi1.sh: Likewise.
39001
39002 2009-08-30  Bruno Haible  <bruno@clisp.org>
39003
39004         Work around deficient /usr/bin/id program on Solaris.
39005         * tests/test-file-has-acl.sh (ID): New variable.
39006         * tests/test-set-mode-acl.sh (ID): Likewise.
39007         * tests/test-copy-acl.sh (ID): Likewise.
39008         * tests/test-copy-file.sh (ID): Likewise.
39009
39010 2009-08-30  Bruno Haible  <bruno@clisp.org>
39011
39012         New module 'xstriconveh'.
39013         * lib/xstriconveh.h: New file.
39014         * lib/xstriconveh.c: New file.
39015         * modules/xstriconveh: New file.
39016
39017 2009-08-30  Bruno Haible  <bruno@clisp.org>
39018
39019         Make it easier to use mem_cd_iconveh.
39020         * lib/striconveh.h (iconveh_t): New type.
39021         (iconveh_open, iconveh_close): New declarations.
39022         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
39023         with a single 'const iconveh_t *' argument.
39024         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
39025         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
39026         with a single 'const iconveh_t *' argument.
39027         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
39028         * tests/test-striconveh.c (main): Update.
39029         * NEWS: Mention the change.
39030
39031 2009-08-30  Bruno Haible  <bruno@clisp.org>
39032
39033         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
39034         problem.
39035
39036 2009-08-30  Bruno Haible  <bruno@clisp.org>
39037
39038         Work around iconv_open problem on Solaris.
39039         * lib/iconv_open-solaris.gperf: New file.
39040         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
39041         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
39042         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
39043         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
39044         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
39045         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
39046
39047 2009-08-29  Jim Meyering  <meyering@redhat.com>
39048
39049         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
39050         * top/maint.mk (cvs-check): Remove target; it was just an alias
39051         to the better-named vc-diff-check.
39052         (maintainer-distcheck): Remove rule.  It was used only from
39053         the (alpha/beta/major) target, and all of its commands but one
39054         were coreutils-specific.
39055         (vc-dist): Remove rule.
39056         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
39057         Run vc-diff-check, not vc-dist.
39058         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
39059
39060 2009-08-27  Bruno Haible  <bruno@clisp.org>
39061
39062         * tests/test-bitrotate.c (main): Remove test that uses a shift count
39063         of 0.
39064
39065 2009-08-27  Bruno Haible  <bruno@clisp.org>
39066
39067         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
39068         compilers.
39069         * doc/func.texi: Document the SunPRO C bug.
39070
39071 2009-08-27  Bruno Haible  <bruno@clisp.org>
39072
39073         Fix link error on Solaris.
39074         * tests/test-parse-duration.c (xstrdup): Remove function.
39075
39076 2009-08-26  Pádraig Brady  <P@draigbrady.com>
39077
39078         ignore-value: handle pointer types, too
39079         * lib/ignore-value.h (__attribute__): Remove definition.
39080         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
39081         of a more concise and more-often effective "(void) i" statement.
39082         (ignore_ptr): New function to suppress warnings from functions that
39083         return pointers, and to make it explicit that one function doesn't
39084         handle all cases.
39085
39086 2009-08-25  Bruno Haible  <bruno@clisp.org>
39087
39088         dup2: work around a Linux bug.
39089         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
39090         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
39091         * doc/posix-functions/dup2.texi: Mention the Linux bug.
39092         Reported by Simon Josefsson.
39093
39094 2009-08-25  Jim Meyering  <meyering@redhat.com>
39095
39096         libguestfs uses gnulib
39097         * users.txt: Add libguestfs.
39098
39099 2009-08-24  Eric Blake  <ebb9@byu.net>
39100
39101         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
39102         * lib/pipe2.c (includes): Add binary-io.h.
39103         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
39104
39105 2009-08-24  Bruno Haible  <bruno@clisp.org>
39106
39107         Tolerate declared but missing accept4 syscall.
39108         * lib/accept4.c (accept4): Invoke original accept4 function first, if
39109         available.
39110         * lib/sys_socket.in.h (accept4): If the function is already present,
39111         override it.
39112         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
39113         * modules/accept4 (Makefile.am): Compile accept4.c always.
39114         Reported by Paolo Bonzini and Eric Blake.
39115
39116 2009-08-23  Bruno Haible  <bruno@clisp.org>
39117
39118         New module 'accept4'.
39119         * lib/sys_socket.in.h (accept4): New declaration.
39120         * lib/accept4.c: New file.
39121         * m4/accept4.m4: New file.
39122         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
39123         GNULIB_ACCEPT4, HAVE_ACCEPT4.
39124         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
39125         HAVE_ACCEPT4.
39126         * modules/accept4: New file.
39127         * doc/glibc-functions/accept4.texi: Mention the new module.
39128
39129 2009-08-24  Jim Meyering  <meyering@redhat.com>
39130
39131         progname: also set global program_invocation_name, when possible
39132         Before this change, a libtool-enabled program that calls glibc's
39133         error function would report the program name as
39134         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
39135         * modules/progname (configure.ac): Check for a declaration of
39136         program_invocation_name.
39137         * lib/progname.c:  Include <errno.h>.
39138         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
39139         Set program_invocation_name.
39140
39141 2009-08-23  Bruno Haible  <bruno@clisp.org>
39142
39143         * lib/dup3.c: Include <string.h>.
39144
39145 2009-08-23  Bruno Haible  <bruno@clisp.org>
39146
39147         * lib/dup3.c (dup3): Test only once whether the system actually exists.
39148         * lib/pipe2.c (pipe2): Likewise.
39149         Suggested by Eric Blake.
39150
39151 2009-08-23  Bruno Haible  <bruno@clisp.org>
39152
39153         Tolerate declared but missing dup3 syscall.
39154         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
39155         * lib/unistd.in.h (dup3): If the function is already present,
39156         override it.
39157         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
39158         * modules/dup3 (Makefile.am): Compile dup3.c always.
39159         Reported by Paolo Bonzini.
39160
39161 2009-08-23  Bruno Haible  <bruno@clisp.org>
39162
39163         Tolerate declared but missing pipe2 syscall.
39164         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
39165         available.
39166         * lib/unistd.in.h (pipe2): If the function is already present,
39167         override it.
39168         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
39169         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
39170         Reported by Paolo Bonzini.
39171
39172 2009-08-23  Bruno Haible  <bruno@clisp.org>
39173
39174         * lib/pipe2.c (pipe2): Move #ifs inside function.
39175
39176 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39177
39178         quotearg: document limitations of quote_these_too
39179         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
39180         those limitations are created.
39181         * lib/quotearg.h (set_char_quoting): Document that digits and
39182         letters that are special after backslash are not permitted.
39183         (quotearg_char): Cross-reference set_char_quoting documentation.
39184
39185 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
39186
39187         quotearg: implement custom_quoting_style
39188         * lib/quotearg.c: (struct quoting_options): Add left_quote and
39189         right_quote fields.
39190         (set_custom_quoting): New public function.
39191         (quotearg_buffer_restyled): Add left_quote and right_quote
39192         arguments, handle them very much like locale quoting, and update
39193         all uses.
39194         (quotearg_n_custom): New public function.
39195         (quotearg_n_custom_mem): New public function.
39196         (quotearg_custom): New public function.
39197         (quotearg_custom_mem): New public function.
39198         * lib/quotearg.h: Prototype and document new public functions.
39199         (enum quoting_style): For escape_quoting_style and
39200         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
39201         ignored even though they're otherwise like c_quoting_style.
39202         Add custom_quoting_style member and document with comparison to
39203         clocale_quoting_style.
39204         * tests/test-quotearg.c (custom_quotes): New array.
39205         (custom_results): New array.
39206         (main): Extend to test custom quoting.
39207
39208 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39209
39210         quotearg: fix right quote escaping when it's in quote_these_too
39211         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
39212         quote, be sure to prepend only one backslash.
39213         * tests/test-quotearg.c (use_quote_double_quotes): New function.
39214         (main): Test it.
39215
39216 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39217
39218         quotearg-tests: test escaping of embedded locale quotes
39219         * tests/test-quotearg.c (struct result_strings): Add member for
39220         new input.
39221         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
39222         (inputs): Add new input.
39223         (results_g): Add expected results.
39224         (flag_results): Likewise.
39225         (locale_results): Likewise.
39226         (compare_strings): Check those.
39227
39228 2009-08-23  Bruno Haible  <bruno@clisp.org>
39229
39230         Tests for module 'dup3'.
39231         * modules/dup3-tests: New file.
39232         * tests/test-dup3.c: New file.
39233
39234         New module 'dup3'.
39235         * lib/unistd.in.h (dup3): New declaration.
39236         * lib/dup3.c: New file.
39237         * m4/dup3.m4: New file.
39238         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
39239         HAVE_DUP3.
39240         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
39241         * modules/dup3: New file.
39242         * doc/glibc-functions/dup3.texi: Mention the new module.
39243
39244 2009-08-23  Bruno Haible  <bruno@clisp.org>
39245
39246         Tweak the dup2 test.
39247         * tests/test-dup2.c (main): Create the test file empty. Verify that an
39248         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
39249         the test file is still empty. Fix argument order of lseek.
39250
39251 2009-08-23  Bruno Haible  <bruno@clisp.org>
39252
39253         Avoid test link errors when the modules getopt-gnu, gettext are used.
39254         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
39255         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39256
39257 2009-08-23  Bruno Haible  <bruno@clisp.org>
39258
39259         Fix getdtablesize() on mingw.
39260         * lib/getdtablesize.c (getdtablesize): Implement differently.
39261         * lib/unistd.in.h (getdtablesize): Improve comment.
39262
39263 2009-08-23  Bruno Haible  <bruno@clisp.org>
39264
39265         New module 'mkostemp'.
39266         Based on Ulrich Drepper's 2007-08-10 change in glibc.
39267         * lib/stdlib.in.h (mksotemp): New declaration.
39268         * lib/mkostemp.c: New file, from glibc with modifications.
39269         * lib/tempname.h (GT_FILE): Remove outdated comment.
39270         (gen_tempname): Add flags argument.
39271         * lib/tempname.c (__GT_BIGFILE): Remove macro.
39272         (__GT_FILE): Map to 1.
39273         (small_open, large_open): Remove macros.
39274         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
39275         * lib/mkstemp.c (mkstemp): Update.
39276         * lib/mkdtemp.c (mkdtemp): Likewise.
39277         * m4/mkostemp.m4: New file.
39278         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
39279         HAVE_MKOSTEMP.
39280         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
39281         HAVE_MKOSTEMP.
39282         * modules/mkostemp: New file, based on modules/mkstemp.
39283         * doc/glibc-functions/mkostemp.texi: Mention the new module.
39284         * NEWS: Mention the change.
39285
39286 2009-08-23  Bruno Haible  <bruno@clisp.org>
39287
39288         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
39289         Reported by Eric Blake.
39290
39291 2009-08-23  Bruno Haible  <bruno@clisp.org>
39292
39293         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
39294         Reported by Eric Blake.
39295
39296 2009-08-23  Bruno Haible  <bruno@clisp.org>
39297
39298         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
39299         * modules/pipe2 (Depends-on): Likewise.
39300
39301 2009-08-23  Eric Blake  <ebb9@byu.net>
39302
39303         fcntl-h: add O_TTY_INIT support
39304         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
39305         * tests/test-fcntl-h.c (o): Test it.
39306         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39307
39308         fcntl-h: rename from fcntl, in preparation for fcntl(2)
39309         * modules/fcntl: Move <fcntl.h> header replacement...
39310         * modules/fcntl-h: ...to new name, so as not to collide with
39311         like-named function.
39312         * tests/test-fcntl.c: Rename...
39313         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
39314         * modules/fcntl-tests: Rename...
39315         * modules/fcntl-h-tests: ...to this.  Update test file name.
39316         * modules/chdir-long (Depends-on): Update clients.
39317         * modules/chdir-safer (Depends-on): Likewise.
39318         * modules/fcntl-safer (Depends-on): Likewise.
39319         * modules/fts (Depends-on): Likewise.
39320         * modules/mkancesdirs (Depends-on): Likewise.
39321         * modules/mkdir-p (Depends-on): Likewise.
39322         * modules/open (Depends-on): Likewise.
39323         * modules/savewd (Depends-on): Likewise.
39324         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
39325         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39326
39327 2009-08-22  Bruno Haible  <bruno@clisp.org>
39328
39329         * modules/binary-io (License): Relicense under LGPL.
39330         * modules/pipe2 (License): Likewise.
39331
39332 2009-08-22  Bruno Haible  <bruno@clisp.org>
39333
39334         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
39335         return value.
39336         * lib/pipe-filter-gi.c (filter_init): Likewise.
39337         Reported by Eric Blake.
39338
39339 2009-08-22  Bruno Haible  <bruno@clisp.org>
39340
39341         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
39342         * modules/pipe (Depends-on): Add pipe2.
39343
39344 2009-08-22  Bruno Haible  <bruno@clisp.org>
39345
39346         Tests for module 'pipe2'.
39347         * modules/pipe2-tests: New file.
39348         * tests/test-pipe2.c: New file.
39349
39350         New module 'pipe2'.
39351         * lib/unistd.in.h (pipe2): New declaration.
39352         * lib/pipe2.c: New file.
39353         * m4/pipe2.m4: New file.
39354         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
39355         HAVE_PIPE2.
39356         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
39357         * modules/pipe2: New file.
39358         * doc/glibc-functions/pipe2.texi: Mention the new module.
39359
39360 2009-08-22  Bruno Haible  <bruno@clisp.org>
39361
39362         Reference some new glibc functions.
39363         * doc/glibc-functions/accept4.texi: New file.
39364         * doc/glibc-functions/dup3.texi: New file.
39365         * doc/glibc-functions/mkostemp.texi: New file.
39366         * doc/glibc-functions/pipe2.texi: New file.
39367         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
39368         (Glibc sys/socket.h): Refer to accept4.
39369         (Glibc unistd.h): Refer to dup3, pipe2.
39370         Reported by Eric Blake.
39371
39372 2009-08-22  Jim Meyering  <meyering@redhat.com>
39373             Bruno Haible  <bruno@clisp.org>
39374
39375         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
39376         This makes it so packages using automake-1.11's silent-rules option
39377         can print e.g., a single "GEN    configmake.h" line, rather than
39378         the 30+ statements that perform the job.  If you want to see the
39379         actual commands, you can still run "make V=1".
39380         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
39381         so that make output is abbreviated when those variables are defined
39382         appropriately.
39383         * modules/argz: Likewise.
39384         * modules/arpa_inet: Likewise.
39385         * modules/byteswap: Likewise.
39386         * modules/configmake: Likewise.
39387         * modules/dirent: Likewise.
39388         * modules/errno: Likewise.
39389         * modules/fcntl: Likewise.
39390         * modules/float: Likewise.
39391         * modules/fnmatch: Likewise.
39392         * modules/getopt-posix: Likewise.
39393         * modules/glob: Likewise.
39394         * modules/iconv_open: Likewise.
39395         * modules/inttypes: Likewise.
39396         * modules/localcharset: Likewise.
39397         * modules/locale: Likewise.
39398         * modules/math: Likewise.
39399         * modules/netdb: Likewise.
39400         * modules/netinet_in: Likewise.
39401         * modules/poll: Likewise.
39402         * modules/posix_spawnp-tests: Likewise.
39403         * modules/sched: Likewise.
39404         * modules/search: Likewise.
39405         * modules/selinux-h: Likewise.
39406         * modules/signal: Likewise.
39407         * modules/spawn: Likewise.
39408         * modules/stdarg: Likewise.
39409         * modules/stdbool: Likewise.
39410         * modules/stddef: Likewise.
39411         * modules/stdint: Likewise.
39412         * modules/stdio: Likewise.
39413         * modules/stdlib: Likewise.
39414         * modules/string: Likewise.
39415         * modules/strings: Likewise.
39416         * modules/sys_file: Likewise.
39417         * modules/sys_ioctl: Likewise.
39418         * modules/sys_select: Likewise.
39419         * modules/sys_socket: Likewise.
39420         * modules/sys_stat: Likewise.
39421         * modules/sys_time: Likewise.
39422         * modules/sys_times: Likewise.
39423         * modules/sys_utsname: Likewise.
39424         * modules/sys_wait: Likewise.
39425         * modules/sysexits: Likewise.
39426         * modules/time: Likewise.
39427         * modules/unistd: Likewise.
39428         * modules/wchar: Likewise.
39429         * modules/wctype: Likewise.
39430
39431 2009-08-22  Jim Meyering  <meyering@redhat.com>
39432
39433         announce-gen: detect write failure
39434         * build-aux/announce-gen: Add Coda at end.
39435         Remove equivalent-but-more-verbose block at top.
39436
39437 2009-08-19  Akim Demaille  <demaille@gostai.com>
39438
39439         bootstrap: --help to stdout.
39440         * bootstrap (usage): Don't send --help to stderr.
39441         Use a here doc instead of a long string.
39442
39443 2009-08-21  Eric Blake  <ebb9@byu.net>
39444
39445         test-popen-safer: split from test-popen
39446         * tests/test-popen.c (main): Move...
39447         * tests/test-popen.h: ...into new file.
39448         * tests/test-popen-safer2.c: New file.
39449         * modules/popen-tests (Files): Add test-popen.h.
39450         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
39451         Suggested by Bruno Haible.
39452
39453         test-fcntl-safer: split from test-open
39454         * tests/test-open.c (main): Move...
39455         * tests/test-open.h: ...into new file.
39456         * tests/test-fcntl-safer.c: New file.
39457         * modules/open-tests (Files): Add test-open.h.
39458         * modules/fcntl-safer-tests: New file.
39459         Suggested by Bruno Haible.
39460
39461         test-fopen-safer: split from test-fopen
39462         * tests/test-fopen.c (main): Move...
39463         * tests/test-fopen.h: ...into new file.
39464         * tests/test-fopen-safer.c: New file.
39465         * modules/fopen-tests (Files): Add test-fopen.h.
39466         * modules/fopen-safer-tests: New file.
39467         Suggested by Bruno Haible.
39468
39469 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
39470
39471         popen-safer: test O_CLOEXEC at run-time.
39472         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
39473
39474 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
39475
39476         fcntl: move more flags to the header
39477         * lib/cloexec.c: Do not define FD_CLOEXEC here.
39478         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
39479         * lib/fcntl.in.h: Do both things here.
39480
39481 2009-08-21  Jim Meyering  <meyering@redhat.com>
39482
39483         consistently remove $@-t before redirecting to it
39484         * modules/argz: Remove $@-t and $@ before redirecting to the former.
39485         * modules/alloca-opt: Likewise.
39486         * modules/byteswap: Likewise.
39487         * modules/fnmatch: Likewise.
39488         * modules/getopt-posix: Likewise.
39489         * modules/glob: Likewise.
39490         * modules/poll: Likewise.
39491         * modules/posix_spawnp-tests: Likewise.
39492         * modules/sys_socket: Likewise.
39493         * modules/sysexits: Likewise.
39494
39495 2009-08-21  Eric Blake  <ebb9@byu.net>
39496
39497         popen: simplify access to original popen
39498         * lib/popen.c (rpl_popen): No need to worry about popen being a
39499         macro.
39500         Reported by Bruno Haible.
39501
39502 2009-08-20  Eric Blake  <ebb9@byu.net>
39503
39504         build: avoid some compiler warnings
39505         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
39506         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
39507         type.
39508         (new_exclude_segment, excluded_file_pattern_p)
39509         (excluded_file_name_p): Reduce scope.
39510         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
39511         old-style declaration.
39512
39513 2009-08-20  Simon Josefsson  <simon@josefsson.org>
39514
39515         * tests/test-exclude1.sh: Handle Windows EOL.
39516         * tests/test-exclude2.sh: Likewise.
39517         * tests/test-exclude3.sh: Likewise.
39518         * tests/test-exclude4.sh: Likewise.
39519         * tests/test-exclude5.sh: Likewise.
39520         * tests/test-exclude6.sh: Likewise.
39521         * tests/test-exclude7.sh: Likewise.
39522
39523 2009-08-19  Akim Demaille  <demaille@gostai.com>
39524
39525         bootstrap: find sha1sum when named gsha1sum.
39526         * bootstrap (find_tool): New.
39527         ($SHA1SUM): New.
39528         Use it.
39529
39530 2009-08-20  Jim Meyering  <meyering@redhat.com>
39531
39532         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
39533         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
39534         expression that converts "." in a file name to "\." in the resulting
39535         regexp.  Start with a dummy statement, so that prior shell variable
39536         definitions are expanded portably.  Reported by Simon Josefsson.
39537
39538 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
39539
39540         Fix polling for writeability of a screen buffer.
39541         * lib/poll.c: Distinguish input and screen buffers for the
39542         Win32 implementation.
39543         * lib/select.c: Likewise.
39544
39545 2009-08-19  Eric Blake  <ebb9@byu.net>
39546
39547         popen-safer: prevent popen from clobbering std descriptors
39548         * modules/popen-safer: New file.
39549         * lib/popen-safer.c: Likewise.
39550         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
39551         * lib/stdio--.h (popen): Provide override.
39552         * lib/stdio-safer.h (popen_safer): Provide declaration.
39553         * tests/test-popen.c (includes): Partially test this.
39554         * modules/popen-safer-tests: New file, for more tests.
39555         * tests/test-popen-safer.c: Likewise.
39556         * MODULES.html.sh (file stream based Input/Output): Mention it.
39557
39558         tests: test some of the *-safer modules
39559         * modules/fopen-safer (Depends-on): Add fopen.
39560         * modules/fcntl-safer (Depends-on): Add fcntl.
39561         * modules/stdlib-safer (Depends-on): Add stdlib.
39562         (configure.ac): Set indicator.
39563         * modules/unistd-safer (configure.ac): Likewise.
39564         * modules/tmpfile-safer (configure.ac): Likewise.
39565         (Depends-on): Add tmpfile.
39566         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
39567         active.
39568         * tests/test-fopen.c (includes): Test safer versions when they are
39569         in use.
39570         * tests/test-open.c (includes): Likewise.
39571
39572         popen: fix cygwin 1.5 bug when stdin closed
39573         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
39574         * modules/popen: New file.
39575         * modules/popen-tests: Likewise.
39576         * tests/test-popen.c: Likewise.
39577         * m4/popen.m4: Likewise.
39578         * lib/popen.c: Likewise.
39579         * lib/stdio.in.h (popen): New declaration.
39580         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
39581         * modules/stdio (Makefile.am): Likewise.
39582         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
39583
39584 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
39585
39586         maint.mk: give full control over update-copyright exclusions
39587         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
39588         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
39589         (update-copyright): Don't force inclusion of top-level
39590         ChangeLog.  Don't force exclusion of all COPYING files, but make
39591         them the default exclusion instead.
39592
39593 2009-08-16  Bruno Haible  <bruno@clisp.org>
39594
39595         Fix test failures on Solaris 10.
39596         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
39597         tests when Solaris iconv() is used.
39598         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
39599         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
39600         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
39601         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
39602         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
39603
39604 2009-08-16  Bruno Haible  <bruno@clisp.org>
39605
39606         Fix test failures on Solaris 10.
39607         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
39608         'tr' program and pass it as first argument.
39609         * tests/test-pipe-filter-gi1.sh: Likewise.
39610         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
39611         program as first argument.
39612         * tests/test-pipe-filter-gi1.c (main): Likewise.
39613
39614 2009-08-16  Eric Blake  <ebb9@byu.net>
39615
39616         fpurge: fix previous commits
39617         * modules/fpurge (Makefile.am): Make replacement conditional,
39618         partially reverting 2007-04-29 change; missed in previous
39619         attempt.
39620         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
39621         is missing.
39622
39623 2009-08-16  Bruno Haible  <bruno@clisp.org>
39624
39625         Clarify fpurge's effect on the file position.
39626         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
39627         * tests/test-fpurge.c (main): Make a second pass for checking the file
39628         position.
39629
39630 2009-08-16  Bruno Haible  <bruno@clisp.org>
39631
39632         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
39633         declaration of fpurge is missing.
39634         * tests/test-fpurge.c (main): Check that the file has not more contents
39635         than expected. Close the file before removing it.
39636
39637 2009-08-15  Eric Blake  <ebb9@byu.net>
39638
39639         fpurge: don't wrap working cygwin implementation
39640         * lib/fpurge.c (fpurge): Fix comment typo.
39641         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
39642         1.7 to avoid replacement.
39643         * tests/test-fpurge.c (main): Enhance test.
39644
39645 2009-08-15  Eric Blake  <ebb9@byu.net>
39646         and Jim Meyering  <meyering@redhat.com>
39647
39648         test-update-copyright: skip if perl is insufficient
39649         * tests/test-update-copyright.sh: Failure to run maintainer tool
39650         should not cause testsuite failure on cygwin 1.5.
39651
39652 2009-08-14  Eric Blake  <ebb9@byu.net>
39653
39654         doc: mention more functions added in cygwin 1.7.0
39655         * doc/posix-headers/limits.texi (limits.h): Update for recent
39656         cygwin additions.
39657         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
39658         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
39659         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
39660         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
39661         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
39662
39663 2009-08-14  Eric Blake  <ebb9@byu.net>
39664
39665         maint.mk: simplify update-copyright rule
39666         * top/maint.mk (update-copyright-local): Delete, and document how
39667         to do it in cfg.mk instead.
39668         (update-copyright-exclude-regexp): Delete, and document how to do
39669         it in .x-update-copyright instead.
39670         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
39671         exclude ChangeLog.
39672
39673 2009-08-14  Bruno Haible  <bruno@clisp.org>
39674
39675         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
39676
39677 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39678
39679         maint.mk: support update-copyright-env
39680         * top/maint.mk (update-copyright-env): Define place-holder.
39681         (update-copyright): Expand $(update-copyright-env) before
39682         invoking update-copyright.
39683
39684 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39685
39686         update-copyright: implement forced reformatting
39687         * build-aux/update-copyright: Implement and document
39688         UPDATE_COPYRIGHT_FORCE.
39689         * tests/test-update-copyright.sh: Test it.
39690
39691 2009-08-14  Eric Blake  <ebb9@byu.net>
39692         and Bruno Haible  <bruno@clisp.org>
39693
39694         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
39695         * tests/test-locale.c: Revert previous patch related to NULL.
39696         * tests/test-stdio.c: Likewise.
39697         * tests/test-stdlib.c: Likewise.
39698         * tests/test-string.c: Likewise.
39699         * tests/test-unistd.c: Likewise.
39700         * modules/time-tests (Depends-on): Add verify.
39701         * modules/wchar-tests (Depends-on): Likewise.
39702         * tests/test-time.c: Test for NULL compliance.
39703         * tests/test-wchar.c: Likewise.
39704         * modules/locale (Depends-on): Add stddef.
39705         * modules/stdio (Depends-on): Likewise.
39706         * modules/stdlib (Depends-on): Likewise.
39707         * modules/string (Depends-on): Likewise.
39708         * modules/time (Depends-on): Likewise.
39709         * modules/unistd (Depends-on): Likewise.
39710         * modules/wchar (Depends-on): Likewise.
39711         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
39712         * lib/stdlib.in.h (includes): Likewise.
39713         * lib/string.in.h (includes): Likewise.
39714         * lib/time.in.h (includes): Likewise.
39715         * lib/unistd.in.h (includes): Likewise.
39716         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
39717         replaced.
39718         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39719         * m4/stddef_h.m4: New file.
39720         * modules/stddef: Likewise.
39721         * lib/stddef.in.h: Likewise.
39722         * modules/stddef-tests: Likewise.
39723         * tests/test-stddef.c: Likewise.
39724         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
39725         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
39726         * doc/posix-headers/locale.texi (locale.h): Likewise.
39727         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
39728         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
39729         * doc/posix-headers/string.texi (string.h): Likewise.
39730         * doc/posix-headers/time.texi (time.h): Likewise.
39731         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
39732         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
39733
39734 2009-08-14  Eric Blake  <ebb9@byu.net>
39735
39736         doc: improve git diff of texinfo files
39737         * .gitattributes: Add rule for *.texi files, with hint on how to
39738         use it.
39739         Copied from m4, and based on a report by Bruno Haible.
39740
39741 2009-08-14  Bruno Haible  <bruno@clisp.org>
39742
39743         Disable multithread support by default on Cygwin 1.5.x for real.
39744         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
39745
39746 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39747
39748         update-copyright: much ado about intervals
39749         * build-aux/update-copyright: Implement and document
39750         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
39751         of copyright year intervals.
39752         Also, document UPDATE_COPYRIGHT_YEAR.
39753         * tests/test-update-copyright.sh: Test it.
39754
39755         update-copyright: convert 2-digit to 4-digit years
39756         * build-aux/update-copyright: Implement and document.
39757         * tests/test-update-copyright.sh: Update.
39758
39759 2009-08-14  Jim Meyering  <meyering@redhat.com>
39760
39761         test-exclude: avoid coreutils "make check" failure
39762         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
39763         just as in test-argmatch.c.
39764
39765 2009-08-13  Eric Blake  <ebb9@byu.net>
39766
39767         test-dup2: fix bad assumption
39768         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
39769         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
39770
39771         test-version-etc: fix CRLF portability issue
39772         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
39773         recognize \r.
39774         * tests/test-argp-version-etc-1.sh: Likewise.
39775
39776         getopt: update client modules
39777         * modules/argp (Depends-on): Use getopt-gnu.
39778         * modules/git-merge-changelog (Depends-on): Likewise.
39779         * modules/long-options (Depends-on): Likewise.
39780         * modules/xstrtol (Depends-on): Likewise.
39781
39782 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39783
39784         * tests/test-version-etc.sh: Don't fail on different
39785         project/version.  Don't fail on CRLF differences.  Rewrite to use
39786         multiple -e instead of multiple sed forks, suggested by Eric Blake
39787         <ebb9@byu.net>.
39788         * tests/test-argp-version-etc-1.sh: Likewise.
39789
39790 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39791
39792         * tests/test-version-etc.sh: Don't fail on different
39793         project/version.
39794
39795 2009-08-12  Bruno Haible  <bruno@clisp.org>
39796
39797         Tests for modules 'getopt-posix', 'getopt-gnu'.
39798         * modules/getopt-posix-tests: New file.
39799         * tests/test-getopt.c: New file.
39800         * tests/test-getopt.h: New file.
39801         * tests/test-getopt_long.h: New file.
39802
39803         New modules 'getopt-posix', 'getopt-gnu'.
39804         * modules/getopt-gnu: New file, renamed from modules/getopt.
39805         * modules/getopt-posix: New file.
39806         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
39807         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
39808         (gl_GETOPT): Remove macro.
39809         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
39810         Disable the test against BSD systems that declare optreset. Test
39811         against mingw bug. Test against lack of support of optional arguments
39812         on many platforms.
39813         * doc/glibc-headers/getopt.texi: Update module name and list of
39814         relevant platforms.
39815         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
39816         'getopt-gnu' and more portability problems.
39817         * NEWS: Mention the changes.
39818
39819 2009-08-12  Bruno Haible  <bruno@clisp.org>
39820
39821         Ensure that optarg etc. get declared by <unistd.h>.
39822         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
39823         AC_USE_SYSTEM_EXTENSIONS.
39824         * modules/getopt (Depends-on): Add 'extensions'.
39825
39826 2009-08-12  Bruno Haible  <bruno@clisp.org>
39827
39828         Avoid test link errors.
39829         * modules/pipe-filter-ii-tests (Makefile.am): Define
39830         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
39831         * modules/pipe-filter-gi-tests (Makefile.am): Define
39832         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
39833         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39834
39835 2009-08-12  Bruno Haible  <bruno@clisp.org>
39836
39837         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
39838         gl_GETOPT_SUBSTITUTE before.
39839         (gl_GETOPT): Use it.
39840         * m4/argp.m4 (gl_ARGP): Update.
39841         Reported by Sergey Poznyakoff.
39842
39843         * m4/getopt.m4: Reorder macros.
39844         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
39845         (gl_GETOPT_SUBSTITUTE): Remove macro.
39846
39847 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39848
39849         Minor improvement in gitlog-to-changelog
39850
39851         * build-aux/gitlog-to-changelog: New option `--format' makes
39852         output format string configurable.
39853
39854 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39855
39856         Optimize exclude: use hash tables for non-wildcard patterns.
39857
39858         * lib/exclude.c: Include hash.h and mbuiter.h
39859         (struct exclude_pattern, exclude_segment): New data types.
39860         (struct exclude): Rewrite.
39861         (fnmatch_pattern_has_wildcards): New function.
39862         (new_exclude_segment, free_exclude_segment): New functions.
39863         (excluded_file_pattern_p, excluded_file_name_p): New functions.
39864         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
39865         * lib/exclude.h (is_fnmatch_pattern): New prototype.
39866         * modules/exclude: Depend on hash and mbuiter.
39867
39868         * modules/exclude-tests: New file.
39869         * tests/test-exclude.c: New file.
39870         * tests/test-exclude1.sh: New file.
39871         * tests/test-exclude2.sh: New file.
39872         * tests/test-exclude3.sh: New file.
39873         * tests/test-exclude4.sh: New file.
39874         * tests/test-exclude5.sh: New file.
39875         * tests/test-exclude6.sh: New file.
39876         * tests/test-exclude7.sh: New file.
39877
39878 2009-08-12  Bruno Haible  <bruno@clisp.org>
39879
39880         Ensure that getopt() gets declared by <unistd.h>.
39881         * lib/unistd.in.h: Conditionally include getopt.h.
39882         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
39883         Set GNULIB_UNISTD_H_GETOPT.
39884         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39885         GNULIB_UNISTD_H_GETOPT.
39886         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
39887
39888 2009-08-12  Bruno Haible  <bruno@clisp.org>
39889
39890         Clarify logic.
39891         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
39892         gl_replace_getopt instead of GETOPT_H.
39893
39894 2009-08-12  Bruno Haible  <bruno@clisp.org>
39895
39896         * m4/getopt.m4: Add comments.
39897
39898 2009-08-12  Bruno Haible  <bruno@clisp.org>
39899
39900         Disable multithread support by default on Cygwin 1.5.x.
39901         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
39902         set gl_use_threads=no if not specified otherwise.
39903
39904 2009-08-11  Bruno Haible  <bruno@clisp.org>
39905
39906         Avoid compilation error on NetBSD 5.0.
39907         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
39908         * tests/test-stdio.c: Likewise.
39909         * tests/test-stdlib.c: Likewise.
39910         * tests/test-string.c: Likewise.
39911         * tests/test-unistd.c: Likewise.
39912         Reported by Greg Troxel <gdt@ir.bbn.com>
39913         at <https://savannah.gnu.org/support/?106973>.
39914
39915 2009-08-11  Bruno Haible  <bruno@clisp.org>
39916
39917         * modules/dup2-tests (Depends-on): Remove close.
39918
39919         Undo 2009-07-19 commit.
39920         * modules/acl-tests (Depends-on): Remove close.
39921         * modules/binary-io-tests (Depends-on): Likewise.
39922         * modules/closein-tests (Depends-on): Likewise.
39923         * modules/flock-tests (Depends-on): Likewise.
39924         * modules/fsync-tests (Depends-on): Likewise.
39925         * modules/lseek-tests (Depends-on): Likewise.
39926         * modules/pipe-tests (Depends-on): Likewise.
39927         * modules/posix_spawn-tests (Depends-on): Likewise.
39928         * modules/posix_spawnp-tests (Depends-on): Likewise.
39929         * modules/stat-time-tests (Depends-on): Likewise.
39930         * modules/yesno-tests (Depends-on): Likewise.
39931
39932 2009-08-10  Bruno Haible  <bruno@clisp.org>
39933
39934         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
39935
39936 2009-08-10  Bruno Haible  <bruno@clisp.org>
39937
39938         Fix a gcc warning.
39939         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
39940
39941 2009-08-10  Bruno Haible  <bruno@clisp.org>
39942
39943         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
39944         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
39945         not only the first time.
39946         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
39947         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
39948         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
39949         is 1, not only the the first time.
39950
39951 2009-08-10  Bruno Haible  <bruno@clisp.org>
39952
39953         Make it possible to use module 'gethostname' without module 'close'.
39954         * lib/unistd.in.h (close): Evoke a link error only if
39955         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39956         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39957         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39958         * modules/unistd (Makefile.am): Substitute
39959         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39960         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
39961         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39962         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
39963         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39964         * modules/sys_ioctl (Makefile.am): Substitute
39965         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39966         * modules/socket (configure.ac): On native Windows, set
39967         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
39968         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39969         Reported by Sam Steingold <sds@gnu.org>.
39970
39971 2009-08-10  Bruno Haible  <bruno@clisp.org>
39972
39973         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
39974         * modules/ioctl (configure.ac): Likewise.
39975
39976 2009-08-10  Bruno Haible  <bruno@clisp.org>
39977
39978         Avoid collision between gnulib wrapper and libintl wrapper.
39979         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
39980         already defined in intl/printf.c.
39981         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
39982         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
39983
39984 2009-08-09  Bruno Haible  <bruno@clisp.org>
39985
39986         Make <sys/select.h> really self-contained, also on Solaris 10.
39987         * lib/sys_select.in.h: Include <string.h>.
39988         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
39989         Solaris 10 problem.
39990         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
39991         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
39992         Reported by Jim Meyering.
39993
39994 2009-08-09  Bruno Haible  <bruno@clisp.org>
39995
39996         Avoid warnings from 'aclocal' that are due to a use of macro name
39997         AM_XGETTEXT_OPTION that is not defined in automake.
39998         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
39999         automake.
40000         * modules/error (configure.ac): Likewise.
40001         * modules/propername (configure.ac): Likewise.
40002         * modules/vasprintf (configure.ac): Likewise.
40003         * modules/verror (configure.ac): Likewise.
40004         * modules/xprintf (configure.ac): Likewise.
40005         * modules/xvasprintf (configure.ac): Likewise.
40006
40007 2009-08-08  Bruno Haible  <bruno@clisp.org>
40008
40009         Avoid compilation error in C++ mode.
40010         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
40011         Reported by Sam Steingold <sds@gnu.org>.
40012
40013 2009-08-08  Bruno Haible  <bruno@clisp.org>
40014
40015         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
40016         for the various Unix platforms.
40017         * doc/posix-headers/limits.texi: Update platforms list regarding
40018         HOST_NAME_MAX.
40019         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40020
40021 2009-08-07  Jim Meyering  <meyering@redhat.com>
40022
40023         selinux-at: fix typo in a comment
40024         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
40025         Spotted by Paolo Bonzini.
40026
40027         selinux-at: remove redundant m4 code, add documentation
40028         * modules/selinux-at (configure.ac): Remove redundant code.
40029         LIB_SELINUX is already set via the dependent module, selinux-h.
40030         (Include): Add quotes around selinux-at.h.
40031         * lib/selinux-at.h: Add documentation.
40032         Reported by Bruno Haible in
40033         http://marc.info/?l=gnulib-bug&m=124958988300749
40034
40035 2009-08-07  Bruno Haible  <bruno@clisp.org>
40036
40037         Avoid link error on MacOS X 10.3 and 10.4.
40038         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
40039         on non-ELF systems.
40040         * lib/argp-pv.c (argp_program_version): Likewise.
40041         Reported by Simon Josefsson.
40042
40043 2009-08-07  Simon Josefsson  <simon@josefsson.org>
40044
40045         * tests/test-version-etc.sh: Use $EXEEXT.
40046
40047 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
40048
40049         update-copyright: update documentation to point to maint.mk
40050         * build-aux/update-copyright: Here.
40051
40052 2009-08-06  Jim Meyering  <meyering@redhat.com>
40053
40054         maint.mk: support update-copyright-local
40055         * top/maint.mk (update-copyright-local): Define place-holder.
40056         (update-copyright): Depend on $(update-copyright-local).
40057
40058 2009-08-06  Jim Meyering  <meyering@redhat.com>
40059
40060         selinux-at: new module
40061         Initially written for coreutils, this module will soon be
40062         used by findutils, too.
40063         * MODULES.html.sh [Misc]: Add selinux-at.
40064         * lib/selinux-at.h: New file, from coreutils.
40065         * lib/selinux-at.c: Likewise.
40066         * modules/selinux-at: Likewise.
40067         (License): Change from LGPL to GPL, since it depends
40068         on the GPL'd openat module.
40069
40070         doc: update README
40071         * README: Remove references to cogito.
40072         Remove cvs-repo-updating instructions from 2007.
40073         Don't imply that CVS is better if you have limited disk space.
40074
40075 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40076
40077         update-copyright: support C-style comments
40078         * build-aux/update-copyright: Implement and document.
40079         * tests/test-update-copyright.sh: Test.
40080
40081 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40082
40083         update-copyright: support omitted "(C)"
40084         * build-aux/update-copyright: Implement and document.  Also,
40085         allow variable whitespace before "(C)".
40086         * tests/test-update-copyright.sh: Test.
40087
40088 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40089
40090         update-copyright: don't trip on non-FSF copyright statements
40091         * build-aux/update-copyright: Fix so that the first correctly
40092         formatted FSF copyright statement is recognized no matter what
40093         appears before it.  Update documentation.
40094         * tests/test-update-copyright.sh: Test that.
40095
40096 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40097
40098         update-copyright: clean up code a little
40099         * build-aux/update-copyright: Append "_re" to the name of any
40100         variable holding a regular expression.
40101         Replace "old" and "new" with "stmt" in variable names.
40102         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
40103         handled correctly.
40104         Format code more consistently.
40105
40106 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40107
40108         update-copyright-tests: improve portability
40109         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
40110         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
40111
40112 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
40113
40114         update-copyright: support @copyright{} and &copy;
40115         * build-aux/update-copyright: Implement and document.
40116         * tests/test-update-copyright.sh: Test.
40117
40118 2009-08-04  Jim Meyering  <meyering@redhat.com>
40119
40120         update-copyright-tests: correctly test EOL=\r\n handling
40121         * tests/test-update-copyright.sh: Put \r at the end of some lines
40122         for the dos-eol tests.  Based on a patch by Joel E. Denny.
40123
40124         maint.mk: make update-copyright exclusion list more configurable
40125         * top/maint.mk (update-copyright): Default to excluding COPYING,
40126         but allow an override, in case someone does want to update that file.
40127
40128         maint.mk: don't update copyright date in COPYING
40129         * top/maint.mk (update-copyright): Exclude COPYING.
40130
40131         maint.mk: add a copyright-updating rule
40132         * top/maint.mk (update-copyright): New rule.
40133         Derived from coreutils/Makefile.am.
40134
40135         update-copyright: rename some variables
40136         * build-aux/update-copyright: Rename a few variables for clarity.
40137         Tweak syntax.  List Joel E. Denny as coauthor.
40138
40139 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
40140
40141         update-copyright: fix bug for 2-digit last year and add tests
40142         * build-aux/update-copyright: Fix bug.
40143         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
40144         specified.
40145         * modules/update-copyright-tests: New
40146         * tests/test-update-copyright.sh: New.
40147
40148 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40149
40150         update-copyright: handle leading tabs in line prefix
40151         * build-aux/update-copyright: Count leading tabs as 8 spaces
40152         when computing margin.  This helps with the formatting of
40153         ChangeLogs, for example.
40154         Fix documentation a little.
40155
40156 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40157
40158         update-copyright: support EOL=\r\n
40159         * build-aux/update-copyright: Implement that.
40160
40161 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40162
40163         update-copyright: automatically format copyright statements
40164         * build-aux/update-copyright: Implement that.
40165         Also, be a little more predictable and safer by always failing
40166         when the full copyright format is not perfectly recognized as an
40167         unbroken whole.  Discussed at
40168         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
40169         Rewrite documentation.
40170
40171 2009-08-03  Bruno Haible  <bruno@clisp.org>
40172
40173         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
40174
40175 2009-08-02  Bruno Haible  <bruno@clisp.org>
40176
40177         Tests for module 'uname'.
40178         * modules/uname-tests: New file.
40179         * tests/test-uname.c: New file.
40180
40181         New module 'uname'.
40182         * lib/uname.c: New file.
40183         * m4/uname.m4: New file.
40184         * modules/uname: New file.
40185         * doc/posix-functions/uname.texi: Mention the new module.
40186
40187 2009-08-02  Bruno Haible  <bruno@clisp.org>
40188
40189         Tests for module 'sys_utsname'.
40190         * modules/sys_utsname-tests: New file.
40191         * tests/test-sys_utsname.c: New file.
40192
40193         New module 'sys_utsname'.
40194         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
40195         * m4/sys_utsname_h.m4: New file.
40196         * modules/sys_utsname: New file.
40197         * doc/posix-headers/sys_utsname.texi: Mention the new module.
40198
40199 2009-08-02  Bruno Haible  <bruno@clisp.org>
40200
40201         Implicitly initialize the sockets library.
40202         * lib/gethostname.c: Include sockets.h.
40203         (rpl_gethostname): Invoke gl_sockets_startup.
40204         * lib/socket.c: Include sockets.h.
40205         (rpl_socket): Invoke gl_sockets_startup.
40206         * modules/gethostname (Depends-on): Add sockets.
40207         * modules/socket (Depends-on): Likewise.
40208         * tests/test-poll.c: Don't include sockets.h.
40209         (main): Don't invoke gl_sockets_startup.
40210         * tests/test-select.c: Don't include sockets.h.
40211         (main): Don't invoke gl_sockets_startup.
40212
40213 2009-08-02  Bruno Haible  <bruno@clisp.org>
40214
40215         Allow multiple calls to gl_sockets_startup.
40216         * lib/sockets.c (initialized_sockets_version): New variable.
40217         (gl_sockets_startup): Do nothing if already called for this or a higher
40218         version.
40219         (gl_sockets_cleanup): Reset initialized_sockets_version.
40220
40221 2009-08-03  Simon Josefsson  <simon@josefsson.org>
40222
40223         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
40224         different project/version.
40225
40226 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
40227             Bruno Haible  <bruno@clisp.org>
40228
40229         Tests for module 'pipe-filter-gi'.
40230         * modules/pipe-filter-gi-tests: New file.
40231         * tests/test-pipe-filter-gi1.sh: New file.
40232         * tests/test-pipe-filter-gi1.c: New file.
40233         * tests/test-pipe-filter-gi2.sh: New file.
40234         * tests/test-pipe-filter-gi2-main.c: New file.
40235         * tests/test-pipe-filter-gi2-child.c: New file.
40236
40237         New module 'pipe-filter-gi'.
40238         * lib/pipe-filter-gi.c: New file.
40239         * modules/pipe-filter-gi: New file.
40240
40241 2009-08-02  Bruno Haible  <bruno@clisp.org>
40242             Paolo Bonzini  <bonzini@gnu.org>
40243
40244         Tests for module 'pipe-filter-ii'.
40245         * modules/pipe-filter-ii-tests: New file.
40246         * tests/test-pipe-filter-ii1.sh: New file.
40247         * tests/test-pipe-filter-ii1.c: New file.
40248         * tests/test-pipe-filter-ii2.sh: New file.
40249         * tests/test-pipe-filter-ii2-main.c: New file.
40250         * tests/test-pipe-filter-ii2-child.c: New file.
40251
40252         New module 'pipe-filter-ii'.
40253         * lib/pipe-filter.h: New file.
40254         * lib/pipe-filter-ii.c: New file.
40255         * lib/pipe-filter-aux.h: New file.
40256         * modules/pipe-filter-ii: New file.
40257
40258 2009-08-02  Simon Josefsson  <simon@josefsson.org>
40259
40260         * lib/gc-libgcrypt.c: Change copyright to FSF.
40261         * lib/gc-gnulib.c: Likewise.
40262
40263 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
40264
40265         * lib/gethostname.c: Include limits.h.
40266
40267 2009-08-02  Simon Josefsson  <simon@josefsson.org>
40268             Bruno Haible  <bruno@clisp.org>
40269
40270         Ensure HOST_NAME_MAX as part of the gethostname module.
40271         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
40272         define also HOST_NAME_MAX.
40273         * tests/test-gethostname.c: Include <limits.h>.
40274         (main): Check also HOST_NAME_MAX.
40275         * doc/posix-headers/limits.texi: Document the mingw problem.
40276
40277 2009-08-02  Bruno Haible  <bruno@clisp.org>
40278
40279         * lib/gethostname.c (gethostname): Fix handling of large len argument.
40280         Add comments.
40281
40282 2009-03-31  Simon Josefsson  <simon@josefsson.org>
40283
40284         * lib/gethostname.c: Add Windows wrapper.
40285         * m4/gethostname.m4: Look for gethostname in -lws2_32.
40286         * modules/gethostname: Depend on sys_socket & errno, for also
40287         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
40288         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
40289
40290 2009-07-31  Jim Meyering  <meyering@redhat.com>
40291
40292         getloadavg: fix symbol name in comment
40293         * lib/getloadavg.c: Correct a typo I introduced when adding
40294         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
40295         Matt Kraai spotted the problem.
40296
40297 2009-07-29  Matt Kraai  <mkraai@beckman.com>
40298
40299         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
40300         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
40301         code also if ! defined N_NAME_POINTER.
40302         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
40303         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
40304         but the n_name member is a 12-byte array.
40305
40306 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
40307
40308         update-copyright: generalize comment handling
40309         * build-aux/update-copyright: Handle copyright statements
40310         within more comment styles.
40311         Document usage.
40312         Report any file with an external copyright holder or parse failure.
40313
40314 2009-07-29  Jim Meyering  <meyering@redhat.com>
40315
40316         mktime: correct setting of REPLACE_MKTIME
40317         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
40318
40319         update-copyright: new module
40320         * modules/update-copyright: New file.
40321         * build-aux/update-copyright: New file.
40322         * MODULES.html.sh (maint+release support): Add update-copyright.
40323
40324 2009-07-27  Bruno Haible  <bruno@clisp.org>
40325
40326         Fix compilation error when <ctime> is used and mktime is replaced.
40327         * lib/time.in.h (mktime): New declaration.
40328         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
40329         REPLACE_MKTIME instead of defining mktime in config.h.
40330         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
40331         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
40332         Reported by Ross McFarland <rwmcfa1@neces.com>.
40333
40334 2009-07-27  Bruno Haible  <bruno@clisp.org>
40335
40336         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
40337         Reported by Matt Kraai <mkraai@beckman.com>.
40338
40339 2009-07-25  Jim Meyering  <meyering@redhat.com>
40340
40341         maint.mk: avoid warnings about missing files
40342         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
40343         diagnostic when .prev-version does not exist.
40344         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
40345         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
40346         nonexistent cfg.mk.
40347         Suggestions from Simon Josefsson.
40348
40349 2009-07-25  Bruno Haible  <bruno@clisp.org>
40350
40351         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
40352         defined as macros. Needed on QNX 6.4.1.
40353         Reported by Matt Kraai <mkraai@beckman.com>.
40354
40355 2009-07-23  Jim Meyering  <meyering@redhat.com>
40356
40357         maint.mk: invoke "make dist" with a working value of XZ_OPT
40358         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
40359
40360 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
40361
40362         Make fseeko.c compile on QNX.
40363         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
40364
40365 2009-07-22  Peter Simons  <simons@cryp.to>
40366
40367         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
40368         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
40369         * lib/md4.h: Likewise.
40370         * lib/md5.h: Likewise.
40371         * lib/sha1.h: Likewise.
40372         * lib/sha256.h: Likewise.
40373         * lib/sha512.h: Likewise.
40374
40375         tests-sha1: don't assign literal string to 'char *' variable
40376         * tests/test-sha1.c (main): Declare locals with "const" to match
40377         attributes of the right hand side.
40378
40379 2009-07-21  Eric Blake  <ebb9@byu.net>
40380
40381         dup2: fix more mingw problems
40382         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
40383         fd to itself.
40384         * doc/posix-functions/dup2.texi (dup2): Document the bug.
40385         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
40386         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
40387         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
40388         care of mingw bugs.
40389
40390 2009-07-21  Jim Meyering  <meyering@redhat.com>
40391
40392         vc-list-files: avoid failure when /bin/sh is dash
40393         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
40394         On some Debian based systems, /bin/sh is a symlink to dash, and running
40395         this command would omit the "/" following each 'tests' prefix:
40396           dash -x build-aux/vc-list-files -C . tests
40397         That is because bash and dash work differently:
40398           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
40399           bash ok
40400           dash odd
40401
40402 2009-07-21  Eric Blake  <ebb9@byu.net>
40403
40404         dup2-tests: test previous patch
40405         * modules/dup2-tests: New file.
40406         * tests/test-dup2.c: Likewise.
40407         * tests/test-open.c (main): Avoid unspecified behavior.
40408         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
40409         test.
40410
40411         dup2: work around mingw and cygwin 1.5 bug
40412         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
40413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40414         * modules/unistd (Makefile.am): Substitute it.
40415         * lib/unistd.in.h (dup2): Declare the replacement.
40416         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
40417         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
40418         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
40419         * modules/execute (Depends-on): Add dup2.
40420         * modules/fseterr (Depends-on): Likewise.
40421         * modules/pipe (Depends-on): Likewise.
40422         * modules/posix_spawn-internal (Depends-on): Likewise.
40423
40424 2009-07-21  Bruno Haible  <bruno@clisp.org>
40425
40426         * modules/.gitattributes: New file.
40427
40428 2009-07-20  Bruno Haible  <bruno@clisp.org>
40429
40430         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
40431         (main): Use it.
40432
40433 2009-07-20  Eric Blake  <ebb9@byu.net>
40434
40435         test-pipe: make a bit more robust.
40436         * tests/test-pipe.c (myerr): Allow error messages regardless of
40437         what we do to stderr.
40438         (test_pipe): Rearrange to avoid deadlock.
40439         (child_main): Try a larger read, to ensure we avoided deadlock.
40440         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
40441         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
40442         if misused.
40443
40444 2009-07-19  Jim Meyering  <meyering@redhat.com>
40445
40446         fts: avoid false-positive cycle-detection
40447         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
40448         for each new command line argument.
40449
40450 2009-07-19  Bruno Haible  <bruno@clisp.org>
40451
40452         Fix build error on mingw with the modules sys_select and unistd.
40453         * modules/acl-tests (Depends-on): Add close.
40454         * modules/binary-io-tests (Depends-on): Likewise.
40455         * modules/closein-tests (Depends-on): Likewise.
40456         * modules/flock-tests (Depends-on): Likewise.
40457         * modules/fsync-tests (Depends-on): Likewise.
40458         * modules/lseek-tests (Depends-on): Likewise.
40459         * modules/pipe-tests (Depends-on): Likewise.
40460         * modules/posix_spawn-tests (Depends-on): Likewise.
40461         * modules/posix_spawnp-tests (Depends-on): Likewise.
40462         * modules/stat-time-tests (Depends-on): Likewise.
40463         * modules/yesno-tests (Depends-on): Likewise.
40464
40465 2009-07-19  Bruno Haible  <bruno@clisp.org>
40466
40467         Unify conditionals.
40468         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
40469         macros, not at the compiler macros.
40470         * lib/pipe.c: Likewise.
40471         * lib/execute.c: Likewise.
40472         * lib/spawni.c: Likewise.
40473
40474 2009-07-19  Bruno Haible  <bruno@clisp.org>
40475
40476         Fix handling of closed stdin/stdout/stderr on mingw.
40477         * lib/w32spawn.h: Include unistd.h.
40478         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
40479         file descriptor with O_NOINHERIT flag.
40480         (fd_safer_noinherit): New function, based on fd-safer.c.
40481         (dup_safer_noinherit): New function, based on dup-safer.c.
40482         (undup_safer_noinherit): New function.
40483         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
40484         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
40485         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
40486         instead of fd_safer.
40487         * tests/test-pipe.c: Include <windows.h>.
40488         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
40489         result.
40490
40491         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
40492         from main.
40493         (test_pipe): Pass an extra argument for disambiguation.
40494         (main): Invoke parent_main or child_main.
40495
40496         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
40497         consistently.
40498
40499 2009-07-18  Eric Blake  <ebb9@byu.net>
40500
40501         test-pipe: fix mingw build
40502         * tests/test-pipe.c (main): Avoid fcntl on mingw.
40503
40504 2009-07-18  Bruno Haible  <bruno@clisp.org>
40505
40506         * modules/pipe-tests (Makefile.am): Fix typo.
40507
40508 2009-07-18  Eric Blake  <ebb9@byu.net>
40509
40510         error: fix mingw build
40511         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
40512         Reported by Bruno Haible.
40513
40514         error: avoid undefined use of stdout
40515         * lib/error.c (error, error_at_line): Check that fd 1 is open
40516         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
40517         is handling faults and the close_stdout module wants to report the
40518         detection of closed stdout as an error.
40519
40520 2009-07-17  Eric Blake  <ebb9@byu.net>
40521
40522         pipe: be robust in face of closed fds
40523         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
40524         should cause child to misbehave.
40525         * modules/pipe-tests: New module.
40526         * tests/test-pipe.c: New file.
40527         * tests/test-pipe.sh: New file.
40528         Reported by Akim Demaille.
40529
40530 2009-07-14  Bruno Haible  <bruno@clisp.org>
40531
40532         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
40533         Reported by anonymous kc.
40534
40535 2009-07-07  Jim Meyering  <meyering@redhat.com>
40536
40537         maint.mk: don't look for translatable strings in *.m4 or *.mk
40538         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
40539         when searching for translatable strings.
40540
40541 2009-07-05  Jim Meyering  <meyering@redhat.com>
40542
40543         remove superfluous parentheses in STREQ definition
40544         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
40545         * lib/getugroups.c (STREQ): Likewise.
40546         * lib/fnmatch.c (STREQ): Likewise.
40547         Spotted by Bruno Haible.
40548
40549 2009-07-04  Jim Meyering  <meyering@redhat.com>
40550
40551         argv-iter: new module
40552         * MODULES.html.sh: Add argv-iter.
40553         * lib/argv-iter.c, lib/argv-iter.h: New files.
40554         * modules/argv-iter: New file.
40555         * modules/argv-iter-tests: New file.
40556         * tests/test-argv-iter.c: Test it.
40557
40558 2009-07-04  Bruno Haible  <bruno@clisp.org>
40559
40560         Fix assertion.
40561         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
40562         contains more exact copies of a given entry than file2, leave the extra
40563         copies unpaired rather than aborting.
40564         Reported by Eric Blake.
40565
40566 2009-07-02  Bruno Haible  <bruno@clisp.org>
40567
40568         Speedup git-merge-changelog for git cherry-pick.
40569         * lib/git-merge-changelog.c (struct entries_mapping): New type.
40570         (entries_mapping_get): New function, extracted from compute_mapping.
40571         (entries_mapping_reverse_get): New function.
40572         (compute_mapping): Add a 'full' argument. Return the result in a
40573         'struct entries_mapping'.
40574         (main): Update. Access the mappings through entries_mapping_get.
40575         Reported by Eric Blake.
40576
40577 2009-07-02  Bruno Haible  <bruno@clisp.org>
40578
40579         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
40580         best_i.
40581
40582 2009-07-02  Bruno Haible  <bruno@clisp.org>
40583
40584         Speed up approximate search for matching ChangeLog entries.
40585         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
40586         argument. Call fstrcmp_bounded instead of fstrcmp.
40587         (compute_mapping, try_split_merged_entry, main): Update callers.
40588
40589 2009-07-02  Bruno Haible  <bruno@clisp.org>
40590
40591         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
40592
40593 2009-06-30  Bruno Haible  <bruno@clisp.org>
40594
40595         Reduce the number of uc_is_cased calls.
40596         * lib/unicase.h (casing_suffix_context_t): Add
40597         'first_char_except_ignorable' field.
40598         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
40599         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
40600         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
40601         Update initializer.
40602         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
40603         case-ignorable characters.
40604         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
40605         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
40606         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
40607         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
40608         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
40609
40610 2009-06-30  Bruno Haible  <bruno@clisp.org>
40611
40612         Tests for module 'unicase/ignorable'.
40613         * modules/unicase/ignorable-tests: New file.
40614         * tests/unicase/test-ignorable.c: New file, generated by
40615         gen-uni-tables.
40616
40617         Tests for module 'unicase/cased'.
40618         * modules/unicase/cased-tests: New file.
40619         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
40620         * tests/unicase/test-predicate-part1.h: New file, derived from
40621         tests/unictype/test-predicate-part1.h.
40622         * tests/unicase/test-predicate-part2.h: New file, same as
40623         tests/unictype/test-predicate-part2.h.
40624
40625         Fix evaluation of "Before C" condition of FINAL_SIGMA.
40626         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
40627         (output_casing_properties): New function.
40628         (main): Call it.
40629         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
40630         * lib/unicase/cased.c: Include unictype/bitmap.h.
40631         (uc_is_cased): Define through a bitmap lookup.
40632         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
40633         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
40634         (uc_is_case_ignorable): Define through a bitmap lookup.
40635         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
40636         lib/unictype/bitmap.h.
40637         (Depends-on): Add inline. Clean up.
40638         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
40639         lib/unictype/bitmap.h.
40640         (Depends-on): Add inline. Clean up.
40641         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
40642         recognition.
40643         * tests/unicase/test-u16-tolower.c (main): Likewise.
40644         * tests/unicase/test-u32-tolower.c (main): Likewise.
40645
40646 2009-06-30  Bruno Haible  <bruno@clisp.org>
40647
40648         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
40649         * lib/unicase/u16-casemap.c: Likewise.
40650         * lib/unicase/u32-casemap.c: Likewise.
40651
40652 2009-06-29  Bruno Haible  <bruno@clisp.org>
40653
40654         Define u32_casefold as a wrapper around u32_ct_casefold.
40655         * lib/unicase/u32-casefold.c: Update.
40656         * modules/unicase/u32-casefold (Depends-on): Add
40657         unicase/u32-ct-casefold, unicase/empty-prefix-context,
40658         unicase/empty-suffix-context. Clean up.
40659
40660         Define u16_casefold as a wrapper around u16_ct_casefold.
40661         * lib/unicase/u16-casefold.c: Update.
40662         * modules/unicase/u16-casefold (Depends-on): Add
40663         unicase/u16-ct-casefold, unicase/empty-prefix-context,
40664         unicase/empty-suffix-context. Clean up.
40665
40666         Define u8_casefold as a wrapper around u8_ct_casefold.
40667         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
40668         * lib/unicase/u8-casefold.c: Update.
40669         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
40670         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40671
40672         Define u32_totitle as a wrapper around u32_ct_totitle.
40673         * lib/unicase/u32-totitle.c: Update.
40674         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
40675         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40676
40677         Define u16_totitle as a wrapper around u16_ct_totitle.
40678         * lib/unicase/u16-totitle.c: Update.
40679         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
40680         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40681
40682         Define u8_totitle as a wrapper around u8_ct_totitle.
40683         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
40684         functions.
40685         (FUNC): Delegate to U_CT_TOTITLE.
40686         * lib/unicase/u8-totitle.c: Update.
40687         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
40688         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40689
40690         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
40691         invocation.
40692         * modules/unicase/u32-tolower (Depends-on): Add
40693         unicase/empty-prefix-context, unicase/empty-suffix-context.
40694
40695         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
40696         invocation.
40697         * modules/unicase/u16-tolower (Depends-on): Add
40698         unicase/empty-prefix-context, unicase/empty-suffix-context.
40699
40700         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
40701         * modules/unicase/u8-tolower (Depends-on): Add
40702         unicase/empty-prefix-context, unicase/empty-suffix-context.
40703
40704         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
40705         invocation.
40706         * modules/unicase/u32-toupper (Depends-on): Add
40707         unicase/empty-prefix-context, unicase/empty-suffix-context.
40708
40709         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
40710         invocation.
40711         * modules/unicase/u16-toupper (Depends-on): Add
40712         unicase/empty-prefix-context, unicase/empty-suffix-context.
40713
40714         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
40715         * modules/unicase/u8-toupper (Depends-on): Add
40716         unicase/empty-prefix-context, unicase/empty-suffix-context.
40717
40718         New module 'unicase/u32-ct-casefold'.
40719         * lib/unicase/u32-ct-casefold.c: New file.
40720         * modules/unicase/u32-ct-casefold: New file.
40721
40722         New module 'unicase/u16-ct-casefold'.
40723         * lib/unicase/u16-ct-casefold.c: New file.
40724         * modules/unicase/u16-ct-casefold: New file.
40725
40726         New module 'unicase/u8-ct-casefold'.
40727         * lib/unicase/u8-ct-casefold.c: New file.
40728         * lib/unicase/u-ct-casefold.h: New file, derived from
40729         lib/unicase/u-casefold.h.
40730         * modules/unicase/u8-ct-casefold: New file.
40731
40732         New module 'unicase/u32-ct-totitle'.
40733         * lib/unicase/u32-ct-totitle.c: New file.
40734         * modules/unicase/u32-ct-totitle: New file.
40735
40736         New module 'unicase/u16-ct-totitle'.
40737         * lib/unicase/u16-ct-totitle.c: New file.
40738         * modules/unicase/u16-ct-totitle: New file.
40739
40740         New module 'unicase/u8-ct-totitle'.
40741         * lib/unicase/u8-ct-totitle.c: New file.
40742         * lib/unicase/u-ct-totitle.h: New file, derived from
40743         lib/unicase/u-totitle.h.
40744         * modules/unicase/u8-ct-totitle: New file.
40745
40746         New module 'unicase/u32-ct-tolower'.
40747         * lib/unicase/u32-ct-tolower.c: New file.
40748         * modules/unicase/u32-ct-tolower: New file.
40749
40750         New module 'unicase/u16-ct-tolower'.
40751         * lib/unicase/u16-ct-tolower.c: New file.
40752         * modules/unicase/u16-ct-tolower: New file.
40753
40754         New module 'unicase/u8-ct-tolower'.
40755         * lib/unicase/u8-ct-tolower.c: New file.
40756         * modules/unicase/u8-ct-tolower: New file.
40757
40758         New module 'unicase/u32-ct-toupper'.
40759         * lib/unicase/u32-ct-toupper.c: New file.
40760         * modules/unicase/u32-ct-toupper: New file.
40761
40762         New module 'unicase/u16-ct-toupper'.
40763         * lib/unicase/u16-ct-toupper.c: New file.
40764         * modules/unicase/u16-ct-toupper: New file.
40765
40766         New module 'unicase/u8-ct-toupper'.
40767         * lib/unicase/u8-ct-toupper.c: New file.
40768         * modules/unicase/u8-ct-toupper: New file.
40769
40770         Add context arguments to u*_casemap functions.
40771         * lib/unicase/unicasemap.h: Include unicase.h.
40772         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
40773         suffix_context arguments.
40774         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
40775         functions.
40776         (FUNC): Add prefix_context and suffix_context arguments. Use
40777         uc_is_cased and uc_is_case_ignorable.
40778         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
40779         * lib/unicase/u16-casemap.c: Likewise.
40780         * lib/unicase/u32-casemap.c: Likewise.
40781         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
40782         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40783         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
40784         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40785         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
40786         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40787
40788         New module 'unicase/u32-suffix-context'.
40789         * lib/unicase/u32-suffix-context.c: New file.
40790         * modules/unicase/u32-suffix-context: New file.
40791
40792         New module 'unicase/u16-suffix-context'.
40793         * lib/unicase/u16-suffix-context.c: New file.
40794         * modules/unicase/u16-suffix-context: New file.
40795
40796         New module 'unicase/u8-suffix-context'.
40797         * lib/unicase/u8-suffix-context.c: New file.
40798         * lib/unicase/u-suffix-context.h: New file.
40799         * modules/unicase/u8-suffix-context: New file.
40800
40801         New module 'unicase/empty-suffix-context'.
40802         * lib/unicase/empty-suffix-context.c: New file.
40803         * modules/unicase/empty-suffix-context: New file.
40804
40805         New module 'unicase/u32-prefix-context'.
40806         * lib/unicase/u32-prefix-context.c: New file.
40807         * modules/unicase/u32-prefix-context: New file.
40808
40809         New module 'unicase/u16-prefix-context'.
40810         * lib/unicase/u16-prefix-context.c: New file.
40811         * modules/unicase/u16-prefix-context: New file.
40812
40813         New module 'unicase/u8-prefix-context'.
40814         * lib/unicase/u8-prefix-context.c: New file.
40815         * lib/unicase/u-prefix-context.h: New file.
40816         * lib/unicase/context.h: New file.
40817         * modules/unicase/u8-prefix-context: New file.
40818
40819         New module 'unicase/empty-prefix-context'.
40820         * lib/unicase/empty-prefix-context.c: New file.
40821         * modules/unicase/empty-prefix-context: New file.
40822
40823         New module 'unicase/ignorable'.
40824         * lib/unicase/ignorable.c: New file.
40825         * modules/unicase/ignorable: New file.
40826
40827         New module 'unicase/cased'.
40828         * lib/unicase/caseprop.h: New file.
40829         * lib/unicase/cased.c: New file.
40830         * modules/unicase/cased: New file.
40831
40832         New functions for case mapping of substrings.
40833         * lib/unicase.h (casing_prefix_context_t): New type.
40834         (unicase_empty_prefix_context): New variable.
40835         (u8_casing_prefix_context, u16_casing_prefix_context,
40836         u32_casing_prefix_context, u8_casing_prefixes_context,
40837         u16_casing_prefixes_context, u32_casing_prefixes_context): New
40838         declarations.
40839         (casing_suffix_context_t): New type.
40840         (unicase_empty_suffix_context): New variable.
40841         (u8_casing_suffix_context, u16_casing_suffix_context,
40842         u32_casing_suffix_context, u8_casing_suffixes_context,
40843         u16_casing_suffixes_context, u32_casing_suffixes_context,
40844         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
40845         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
40846         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
40847         declarations.
40848
40849 2009-06-28  Jim Meyering  <meyering@redhat.com>
40850
40851         boostrap: indent only with spaces
40852         * build-aux/bootstrap: Indent only with spaces, never TABs.
40853
40854         bootstrap: split long lines
40855         * build-aux/bootstrap: Keep line length < 80.
40856
40857         bootstrap: sync from coreutils
40858         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
40859         just as autoreconf does.  Verify a list of prerequisite
40860         package-name,version-number pairs if defined in bootstrap.conf.
40861         Refer to README-prereq, if prerequisites are not satisfied.
40862
40863 2009-06-27  Eric Blake  <ebb9@byu.net>
40864
40865         tests: add test for bogus NULL definition
40866         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
40867         * tests/test-stdlib.c: Likewise.
40868         * tests/test-string.c: Likewise.
40869         * tests/test-locale.c: Likewise.
40870         * tests/test-unistd.c: Likewise.
40871         * modules/stdio-tests (Depends-on): Add verify.
40872         * modules/stdlib-tests (Depends-on): Likewise.
40873         * modules/string-tests (Depends-on): Likewise.
40874         * modules/locale-tests (Depends-on): Likewise.
40875         * modules/unistd-tests (Depends-on): Likewise.
40876
40877 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
40878
40879         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
40880         self-explaining comment.
40881         * m4/selinux-selinux-h: Update serial.
40882         (gl_LIBSELINUX): New macro, adding a warning for missing development
40883         packages to code extracted from...
40884         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
40885         Add warning for missing development packages here, too.
40886
40887 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
40888
40889         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
40890
40891 2009-06-25  Eric Blake  <ebb9@byu.net>
40892
40893         version-etc: fix regression
40894         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
40895         gcc.
40896         (version_etc): Use it, to catch bugs with trailing NULL.
40897         * lib/version-etc.c (version_etc_arn): Delete unused argument.
40898         (version_etc_va): Fix logic bug.
40899         * modules/version-etc-tests: Add test.
40900         * tests/test-version-etc.c: New file.
40901         * tests/test-version-etc.sh: Likewise.
40902
40903 2009-06-25  Sam Steingold  <sds@gnu.org>
40904
40905         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
40906         mbtowc declaration.
40907
40908 2009-06-25  Eric Blake  <ebb9@byu.net>
40909
40910         fpurge: migrate into <stdio.h>
40911         * lib/fpurge.h: Delete...
40912         * lib/stdio.in.h (fpurge): ...and declare here, instead.
40913         * lib/fpurge.c (fpurge): Change declaring header.
40914         * modules/fpurge (Files): Drop deleted file.
40915         (Depends-on): Add stdio.
40916         (configure.ac): Set witness.
40917         * modules/stdio (Makefile.am): Support fpurge macros.
40918         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40919         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
40920         * lib/fflush.c: Update client.
40921         * tests/test-fpurge.c: Likewise.
40922         * NEWS: Mention the change.
40923
40924 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40925
40926         * lib/argp-version-etc.c (program_authors): Add const
40927         qualifier.
40928         * lib/version-etc.c: Fix typos in the comments.
40929         * modules/argp-version-etc: Depends on version-etc.
40930
40931 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40932
40933         argp-version-etc: new module.
40934
40935         * lib/argp-version-etc.c: New file.
40936         * lib/argp-version-etc.h: New file.
40937         * modules/argp-version-etc: New file.
40938         * modules/argp-version-etc-tests: New file.
40939         * tests/test-argp-version-etc.c: New test.
40940         * tests/test-argp-version-etc-1.sh: New test.
40941
40942 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40943
40944         Provide additional interfaces and documentation for version-etc
40945         module.
40946
40947         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
40948         interfaces.
40949         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
40950         prototypes.
40951
40952 2009-06-24  Bruno Haible  <bruno@clisp.org>
40953
40954         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
40955         HAVE_LIB${NAME} macro.
40956         Reported by Sam Steingold <sds@gnu.org>.
40957
40958 2009-06-23  Simon Josefsson  <simon@josefsson.org>
40959
40960         * modules/hash-tests (test_hash_LDADD): Link to libintl when
40961         needed.
40962
40963 2009-06-21  Bruno Haible  <bruno@clisp.org>
40964
40965         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
40966         work.
40967         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
40968         together with LIB${NAME}, LTLIB${NAME}.
40969         Reported by Sam Steingold <sds@gnu.org>.
40970
40971 2009-06-20  Jim Meyering  <meyering@redhat.com>
40972
40973         tests: make sc_require_test_exit_idiom more generic
40974         * top/maint.mk (Exit_witness_file): New overridable variable.
40975         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
40976         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
40977
40978 2009-06-19  Jim Meyering  <meyering@redhat.com>
40979
40980         hash: reverse order of src/dst parameters in an internal interface
40981         * lib/hash.c (transfer_entries): Reverse order of parameters to
40982         put DST before SRC.  Adjust callers.
40983
40984         tests: test-hash: avoid wholesale duplication
40985         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
40986         Instead, use a loop and add a single conditional.
40987
40988         tests: test-hash: allow seed selection via a command line argument
40989         * tests/test-hash.c (get_seed): New function.
40990         (main): Use it.
40991
40992 2009-06-19  Eric Blake  <ebb9@byu.net>
40993
40994         hash: avoid memory leak on allocation failure
40995         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
40996         failure.  Factor repeated algorithm...
40997         (transfer_entries): ...into new helper routine.
40998         (hash_delete): React to hash_rehash return value.
40999
41000         hash: reduce memory pressure in hash_rehash no-op case
41001         * lib/hash.c (next_prime): Avoid overflow.
41002         (hash_initialize): Factor bucket size computation...
41003         (compute_bucket_size): ...into new helper function.
41004         (hash_rehash): Use new function and open coding to reduce memory
41005         pressure, and avoid a memory leak in USE_OBSTACK code.
41006         Reported by Jim Meyering.
41007
41008 2009-06-18  Eric Blake  <ebb9@byu.net>
41009
41010         hash: make rotation more obvious
41011         * modules/hash (Depends-on): Add bitrotate and stdint.
41012         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
41013         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
41014         (SIZE_MAX): Rely on headers for definition.
41015         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
41016         (raw_hasher): Use rotr_sz.
41017         Suggested by Jim Meyering.
41018
41019         hash: fix memory leak in last patch
41020         * lib/hash.c (hash_rehash): Avoid memory leak.
41021
41022         hash: avoid no-op rehashing
41023         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
41024
41025         hash: provide default callback functions
41026         * lib/hash.c (raw_hasher, raw_comparator): New functions.
41027         (hash_initialize): Use them as defaults.
41028         * tests/test-hash.c (main): Test this.
41029
41030         hash: minor optimization
41031         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
41032         when possible.
41033         (hash_initialize): Document this promise.
41034         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
41035         * tests/test-hash.c (hash_compare_strings): Test this.
41036
41037 2009-06-18  Bruno Haible  <bruno@clisp.org>
41038
41039         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
41040         going to be replaced anyway.
41041
41042 2009-06-18  Bruno Haible  <bruno@clisp.org>
41043
41044         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
41045         in one place.
41046         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
41047         be replaced anyway.
41048
41049 2009-06-18  Eric Blake  <ebb9@byu.net>
41050
41051         hash: check for resize before insertion
41052         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
41053         threshold before insertion, so that a pathological hash_rehash
41054         that fills every bucket can still trigger another rehash.
41055
41056 2009-06-18  Jim Meyering  <meyering@redhat.com>
41057
41058         hash-tests: add a loop around the small tests
41059         * tests/test-hash.c (main): Repeat small tests with selected
41060         small initial table sizes.
41061
41062 2009-06-17  Eric Blake  <ebb9@byu.net>
41063
41064         hash: minor cleanups
41065         * lib/hash.h (hash_entry): Make opaque, by moving...
41066         * lib/hash.c (hash_entry): ...here.
41067         (hash_insert): Clarify restrictions on what can be inserted.
41068         (hash_get_next): Clarify when it is safe to remove an element
41069         during traversal.
41070         (check_tuning): Skip verification when tuning is known safe.
41071         (hash_initialize): Clarify restrictions on tuning.
41072
41073 2009-06-17  Jim Meyering  <jim@meyering.net>
41074         and Eric Blake  <ebb9@byu.net>
41075
41076         hash-tests: new module
41077         * modules/hash-tests: New file.
41078         * tests/test-hash.c: New file.
41079
41080 2009-06-17  Eric Blake  <ebb9@byu.net>
41081
41082         strstr-simple: document new module
41083         * MODULES.html.sh: Document new module.
41084
41085         strstr, strcasestr: replace on platforms with broken memchr
41086         * modules/strstr: Split into...
41087         * modules/strstr-simple: ...new module that does not care about
41088         performance, but does care about glibc bug.
41089         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
41090         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
41091         if platform memchr is broken, per Debian bug 521737.
41092         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
41093         memchr.
41094         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
41095         * doc/posix-functions/strstr.texi (strstr): Document the fix.
41096         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
41097         * modules/mountlist (Depends-on): Add strstr-simple.
41098         * modules/gen-uni-tables (Depends-on): Likewise.
41099         * modules/argz (Depends-on): Add strstr.
41100
41101 2009-06-17  Bruno Haible  <bruno@clisp.org>
41102
41103         * modules/posix_spawn-internal (Depends-on): Add errno.
41104
41105 2009-06-17  Bruno Haible  <bruno@clisp.org>
41106
41107         Define missing ESTALE on Interix 3.5.
41108         * lib/errno.in.h (ESTALE): Assign a value if missing.
41109         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
41110         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
41111         missing.
41112         * doc/posix-headers/errno.texi: Mention the Interix bug.
41113         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
41114
41115 2009-06-15  Eric Blake  <ebb9@byu.net>
41116
41117         memchr, memchr2: add valgrind exception
41118         * lib/memchr.valgrind: New file.
41119         * lib/memchr2.valgrind: New file.
41120         * modules/memchr (Files): Distribute valgrind file.
41121         * modules/memchr2 (Files): Likewise.
41122
41123         docs: memchr is no longer obsolete
41124         * MODULES.html.sh: Move memchr from obsolete to string.h section.
41125         * lib/string.in.h (memchr): Simplify logic.
41126
41127 2009-06-14  Jim Meyering  <meyering@redhat.com>
41128
41129         link-follow: fix the "checking..." message to not mention trailing slash
41130         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
41131         never considered trailing slashes.
41132
41133 2009-06-14  Bruno Haible  <bruno@clisp.org>
41134
41135         * m4/memchr.m4: Mention also the bug on IA-64.
41136         * doc/posix-functions/memchr.texi: Likewise.
41137
41138 2009-06-12  Eric Blake  <ebb9@byu.net>
41139
41140         memchr: detect broken x86_64 and alpha implementations
41141         * modules/memchr-tests (Depends-on): Move mmap detection...
41142         * modules/memchr (Depends-on): ...here.
41143         (configure.ac): Set indicator.
41144         * lib/string.in.h (memchr): Declare replacement.
41145         * modules/string (Makefile.am): Trigger replacement.
41146         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
41147         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
41148         bugs.
41149         * doc/posix-functions/memchr.texi (memchr): Document the bug.
41150         * modules/getpagesize (License): Relax license.
41151
41152 2009-06-11  Bruno Haible  <bruno@clisp.org>
41153
41154         * lib/idpriv.h: Add more references.
41155
41156 2009-06-08  Bruno Haible  <bruno@clisp.org>
41157
41158         Tests for module 'idpriv-droptemp'.
41159         * modules/idpriv-droptemp-tests: New file.
41160         * tests/test-idpriv-droptemp.sh: New file.
41161         * tests/test-idpriv-droptemp.su.sh: New file.
41162         * tests/test-idpriv-droptemp.c: New file.
41163
41164         New module 'idpriv-droptemp'.
41165         * lib/idpriv-droptemp.c: New file.
41166         * modules/idpriv-droptemp: New file.
41167
41168 2009-06-08  Bruno Haible  <bruno@clisp.org>
41169
41170         Tests for module 'idpriv-drop'.
41171         * modules/idpriv-drop-tests: New file.
41172         * tests/test-idpriv-drop.sh: New file.
41173         * tests/test-idpriv-drop.su.sh: New file.
41174         * tests/test-idpriv-drop.c: New file.
41175
41176         New module 'idpriv-drop'.
41177         * lib/idpriv.h: New file.
41178         * lib-idpriv-drop.c: New file.
41179         * m4/idpriv.m4: New file.
41180         * modules/idpriv-drop: New file.
41181
41182 2009-06-08  Bruno Haible  <bruno@clisp.org>
41183
41184         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
41185         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41186         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41187         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41188         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41189         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41190         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41191
41192 2009-06-08  Eric Blake  <ebb9@byu.net>
41193
41194         test-strstr: use memory fence, when possible
41195         * tests/test-strstr.c (main): Use memory fence, in order to be
41196         more likely to trigger Debian bug 521737.
41197         * modules/strstr-tests (Files): Pull in additional files.
41198
41199         memchr: no longer obsolete, for wider field testing
41200         * modules/memchr (Status, Notice): Delete, this module is no
41201         longer obsolete.
41202         * modules/vasnprintf (Depends-on): Add memchr.
41203
41204 2009-06-07  Jim Meyering  <meyering@redhat.com>
41205
41206         hash: declare some functions with the warn_unused_result attribute
41207         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
41208
41209 2009-06-07  Bruno Haible  <bruno@clisp.org>
41210
41211         * tests/test-alignof.c: Don't test int64_t if it does not exist.
41212         Reported by Eric Blake.
41213
41214 2009-06-06  Eric Blake  <ebb9@byu.net>
41215
41216         test-alignof: fix typo with long double
41217         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
41218         compiler error.
41219
41220 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
41221
41222         Escape non-texinfo { and }s.
41223         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
41224         markup error.
41225
41226 2009-06-04  Jim Meyering  <meyering@redhat.com>
41227
41228         gitlog-to-changelog: don't infloop on an empty commit log
41229         * build-aux/gitlog-to-changelog: Warn about an empty log message.
41230         Reported by Boris Petersen <transacid@centerim.org>.
41231
41232 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
41233
41234         version-etc: extend for packagers
41235         Add three new configure options, intended for packagers:
41236           --with-packager="packager name"
41237           --with-packager-version="packager-specific version"
41238           --with-packager-bug-reports="packager bug reporting"
41239         An example with coreutils:
41240           $ ./configure \
41241             --with-packager=Gentoo \
41242             --with-packager-bug-report=http://bugs.gentoo.org/ \
41243             --with-packager-version="patchset 1.6"
41244           $ ./src/ls --version | head -n2
41245           ls (GNU coreutils) 7.1-dirty
41246           Packaged by Gentoo (patchset 1.6)
41247         Note that the bug reporting info via --help doesn't show up because
41248         coreutils uses its own custom emit_bug_reporting_address() implementation
41249         in src/system.h.  If it didn't, it'd look like:
41250           $ ./src/ls --help | tail -n4
41251           Report bugs to <bug-coreutils@gnu.org>.
41252           Report Gentoo bugs to <http://bugs.gentoo.org/>.
41253           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
41254           General help using GNU software: <http://www.gnu.org/gethelp/>.
41255         * lib/version-etc.c: Print new information, if provided.
41256         * m4/version-etc.m4: New file.
41257         * modules/version-etc (Files): Add m4/version-etc.m4.
41258         (configure.ac): Add gl_VERSION_ETC.
41259
41260 2009-05-31  Bruno Haible  <bruno@clisp.org>
41261
41262         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
41263         and 'int64_t'.
41264         * modules/alignof-tests (Dependencies): Add stdint.
41265         Reported by Eric Blake.
41266
41267 2009-05-31  Bruno Haible  <bruno@clisp.org>
41268
41269         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
41270         restriction due to compiler bugs.
41271         Reported by Eric Blake.
41272
41273 2009-05-31  Simon Josefsson  <simon@josefsson.org>
41274             Bruno Haible  <bruno@clisp.org>
41275
41276         Fix test-alignof failure.
41277         * lib/alignof.h (alignof_slot): New macro.
41278         (alignof_type): New macro, with the same semantics as the previous
41279         'alignof'.
41280         (alignof): Alias to alignof_slot.
41281         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
41282         check that the results are usable as constant expressions.
41283
41284 2009-05-31  Bruno Haible  <bruno@clisp.org>
41285
41286         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
41287         * tests/test-memchr.c (main): Check that memchr does not read past the
41288         first occurrence of the byte.
41289         * tests/test-strstr.c (main): Update comment.
41290         Suggested by Eric Blake.
41291
41292 2009-05-30  Bruno Haible  <bruno@clisp.org>
41293
41294         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
41295         detail how to use dumpbin.
41296         Reported by David Byron <dbyron@dbyron.com>.
41297
41298 2009-06-02  Simon Josefsson  <simon@josefsson.org>
41299
41300         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
41301
41302 2009-06-02  Simon Josefsson  <simon@josefsson.org>
41303
41304         * m4/manywarnings.m4: Add GCC 4.4 warnings.
41305
41306 2009-05-28  Bruno Haible  <bruno@clisp.org>
41307
41308         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
41309         build-aux/ files.
41310
41311 2009-05-28  Simon Josefsson  <simon@josefsson.org>
41312
41313         * gnulib-tool (func_import): Transform license on build-aux/ files too.
41314
41315 2009-05-27  Simon Josefsson  <simon@josefsson.org>
41316
41317         * gnulib-tool (sed_transform_main_lib_file)
41318         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
41319         regexps.
41320
41321 2009-05-26  Simon Josefsson  <simon@josefsson.org>
41322
41323         * tests/test-strstr.c: Add another self-test.
41324         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
41325         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
41326
41327 2009-05-23  Bruno Haible  <bruno@clisp.org>
41328
41329         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
41330         change.
41331
41332 2009-05-21  Bruno Haible  <bruno@clisp.org>
41333
41334         Simplify use of mode_t varargs.
41335         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
41336         uses 'mode_t' or 'int'.
41337         * lib/openat.c (openat): Likewise.
41338         * lib/open-safer.c (open_safer): Likewise.
41339         * m4/mode_t.m4: New file.
41340         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
41341         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
41342         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
41343         * modules/open (Files): Add m4/mode_t.m4.
41344         * modules/openat (Files): Likewise.
41345         * modules/fcntl-safer (Files): Likewise.
41346         Suggested by Eric Blake.
41347
41348 2009-05-21  Pádraig Brady  <P@draigbrady.com>
41349
41350         * doc/glibc-functions/fallocate.texi: New file.
41351         * doc/gnulib.texi: Include it.
41352
41353 2009-05-21  Eric Blake  <ebb9@byu.net>
41354             Bruno Haible  <bruno@clisp.org>
41355
41356         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
41357         invocations.
41358         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41359
41360 2009-05-21  Eric Blake  <ebb9@byu.net>
41361             Bruno Haible  <bruno@clisp.org>
41362
41363         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
41364         include_next. Fix of 2008-11-20 commit.
41365         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
41366         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
41367         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
41368         NEXT_MATH_H.
41369         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
41370         instead of NEXT_MATH_H.
41371
41372 2009-05-21  Bruno Haible  <bruno@clisp.org>
41373
41374         Avoid redefinition warnings for SIZE_MAX.
41375         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
41376         Reported by Simon Josefsson.
41377
41378 2009-05-21  Bruno Haible  <bruno@clisp.org>
41379
41380         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
41381         AC_CACHE_VAL.
41382
41383 2009-05-20  Bruno Haible  <bruno@clisp.org>
41384
41385         Make zeroptr.h work on mingw.
41386         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
41387         mprotect.
41388         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
41389         * modules/memchr2-tests (configure.ac): Likewise.
41390         * modules/memcmp-tests (configure.ac): Likewise.
41391         * modules/memmem-tests (configure.ac): Likewise.
41392         * modules/memrchr-tests (configure.ac): Likewise.
41393         Reported by Simon Josefsson.
41394
41395 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41396
41397         * tests/test-glob.c: Include string.h for strcmp prototype.
41398
41399 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41400
41401         * modules/getdelim (Depends-on): Add explicit stdint, although it
41402         was implicitly already pulled in via realloc-posix.
41403         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
41404
41405 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41406
41407         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
41408         G. Christensen" <tgc@jupiterrise.com>.
41409         * m4/sys_socket_h.m4: Check for sa_family_t.
41410         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
41411         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
41412         * tests/test-sys_socket.c: Check that sa_family_t works.
41413
41414 2009-05-18  Eric Blake  <ebb9@byu.net>
41415
41416         maint.mk: allow gnulib_dir in VPATH build
41417         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
41418
41419 2009-05-15  Jim Meyering  <meyering@redhat.com>
41420
41421         maint.mk: Give gnulib_dir a default definition.
41422         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
41423         Thus, most packages no longer need to specify this variable in cfg.mk
41424
41425 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
41426
41427         rename.m4: fix typos that would make non-mingw cross-configure fail
41428         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
41429
41430 2009-05-13  Eric Blake  <ebb9@byu.net>
41431
41432         mmap-anon: avoid out-of-order autoconf expansion
41433         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
41434         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
41435         * modules/memchr-tests (Depends-on): Add extensions.
41436         * modules/memchr2-tests (Depends-on): Add extensions.
41437         * modules/memcmp-tests (Depends-on): Add extensions.
41438         * modules/memmem-tests (Depends-on): Add extensions.
41439         * modules/memrchr-tests (Depends-on): Add extensions.
41440
41441 2009-05-13  Bruno Haible  <bruno@clisp.org>
41442
41443         Make some tests ISO C 99 compliant.
41444         * tests/zerosize-ptr.h: New file.
41445         * tests/test-memchr.c: Include zerosize-ptr.h.
41446         (main): Use a zero-size object pointer instead of NULL.
41447         * tests/test-memchr2.c: Include zerosize-ptr.h.
41448         (main): Use a zero-size object pointer instead of NULL.
41449         * tests/test-memcmp.c: Include zerosize-ptr.h.
41450         (main): Use a zero-size object pointer instead of NULL.
41451         * tests/test-memmem.c: Include zerosize-ptr.h.
41452         (main): Use a zero-size object pointer instead of NULL.
41453         * tests/test-memrchr.c: Include zerosize-ptr.h.
41454         (main): Use a zero-size object pointer instead of NULL.
41455         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
41456         m4/mmap-anon.m4.
41457         (Depends-on): Add getpagesize.
41458         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41459         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
41460         m4/mmap-anon.m4.
41461         (Depends-on): Add getpagesize.
41462         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41463         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
41464         m4/mmap-anon.m4.
41465         (Depends-on): Add getpagesize.
41466         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41467         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
41468         m4/mmap-anon.m4.
41469         (Depends-on): Add getpagesize.
41470         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41471         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
41472         m4/mmap-anon.m4.
41473         (Depends-on): Add getpagesize.
41474         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41475
41476 2009-05-12  Bruno Haible  <bruno@clisp.org>
41477
41478         Tests for module 'alignof'.
41479         * modules/alignof-tests: New file.
41480         * tests/test-alignof.c: New file.
41481
41482 2009-05-12  Bruno Haible  <bruno@clisp.org>
41483
41484         Fix alignof macro.
41485         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
41486         vendor compilers that are always correct.
41487
41488 2009-05-12  Bruno Haible  <bruno@clisp.org>
41489
41490         Make the MAP_ANONYMOUS detection work on HP-UX 11.
41491         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
41492         not whether its fully works.
41493
41494 2009-05-12  Bruno Haible  <bruno@clisp.org>
41495
41496         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
41497
41498 2009-05-12  Jim Meyering  <meyering@redhat.com>
41499
41500         * top/maint.mk: Adjust backslash alignment.
41501
41502 2009-05-11  Simon Josefsson  <simon@josefsson.org>
41503
41504         * top/maint.mk: Make $(srcdir)/build-aux configurable.
41505
41506 2009-05-11  Eric Blake  <ebb9@byu.net>
41507
41508         argp: avoid undefined behavior
41509         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
41510         macros.
41511
41512 2009-05-08  Simon Josefsson  <simon@josefsson.org>
41513
41514         * tests/test-vc-list-files-git.sh: Do git config of user.email and
41515         user.name to prevent git commit from complaining.
41516
41517 2009-05-10  Bruno Haible  <bruno@clisp.org>
41518
41519         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
41520         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
41521         it rewrites every file name only once.
41522         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
41523
41524 2009-05-08  Bruno Haible  <bruno@clisp.org>
41525
41526         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
41527         instead of 'max'.
41528
41529 2009-05-08  Simon Josefsson  <simon@josefsson.org>
41530
41531         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
41532         sockaddr_storage test.
41533
41534 2009-05-07  Simon Josefsson  <simon@josefsson.org>
41535
41536         * modules/sys_socket (Makefile.am): Substitute
41537         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
41538         * m4/sys_socket_h.m4: Check for sockaddr_storage.
41539         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
41540         * tests/test-sys_socket.c: Check sockaddr_storage.
41541
41542 2009-05-08  Bruno Haible  <bruno@clisp.org>
41543
41544         New module 'alignof'.
41545         * lib/alignof.h: New file.
41546         * modules/alignof: New file.
41547
41548 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41549             Bruno Haible  <bruno@clisp.org>
41550
41551         Fix test-file-has-acl on FreeBSD.
41552         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
41553         mask is implicitly added.
41554         * tests/test-file-has-acl.c: Include <signal.h>.
41555         (main): Terminate the test after 5 seconds.
41556         * modules/acl-tests (configure.ac): Check for alarm function.
41557
41558 2009-05-04  Bruno Haible  <bruno@clisp.org>
41559
41560         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
41561         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
41562         * modules/errno (configure.ac): Drop AC_REQUIRE.
41563         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
41564         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
41565
41566 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41567
41568         * modules/glob-tests: New module.
41569         * tests/test-glob.c: Add.
41570
41571 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41572
41573         * modules/fnmatch-tests: New module.
41574         * tests/test-fnmatch.c: Add.
41575
41576 2009-05-04  Eric Blake  <ebb9@byu.net>
41577
41578         maint: make the new no-submodule-changes rule VPATH-safe
41579         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
41580
41581 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41582             Bruno Haible  <bruno@clisp.org>
41583
41584         acl: Fix infinite loop on FreeBSD.
41585         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
41586         of return value from acl_get_entry.
41587         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
41588         Likewise.
41589
41590 2009-05-03  Bruno Haible  <bruno@clisp.org>
41591
41592         * lib/acl-internal.h (acl_entries): Clarify return value.
41593         * lib/acl_entries.c (acl_entries): Likewise.
41594
41595 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41596
41597         Bug fix in acl module.
41598         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
41599
41600 2009-05-03  Bruno Haible  <bruno@clisp.org>
41601
41602         Create gperf-generated file in the source dir, not in the build dir.
41603         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
41604         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
41605         * modules/unicase/locale-language (unicase/locale-languages.h):
41606         Likewise.
41607         * modules/unicase/special-casing (unicase/special-casing-table.h):
41608         Likewise.
41609         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
41610         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
41611         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
41612         Reported by Ralf Wildenhues.
41613
41614 2009-05-03  Bruno Haible  <bruno@clisp.org>
41615
41616         * modules/fnmatch (Description, configure.ac): Taken from
41617         fnmatch-posix.
41618         * modules/fnmatch-posix: Turn into a symbolic reference to the
41619         'fnmatch' module, and deprecate.
41620         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
41621
41622 2009-05-03  Bruno Haible  <bruno@clisp.org>
41623
41624         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
41625         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
41626         Reported by Ralf Wildenhues.
41627
41628 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41629
41630         * m4/fnmatch.m4: Fix fnmatch re-define.
41631
41632 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41633
41634         priv-set: new module and tests; adapt write-any-file
41635         * lib/priv-set.c: New file.
41636         * lib/priv-set.h: New file.
41637         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
41638         * lib/write-any-file.c: Simplify by using priv-set module.
41639         * m4/priv-set.m4: New file.
41640         * modules/priv-set: New file.
41641         * modules/unlinkdir: Add dependency on priv-set module.
41642         * modules/write-any-file: Likewise.
41643
41644         Tests for module 'priv-set'.
41645         * modules/priv-set-tests: New file.
41646         * tests/test-priv-set.c: New file.
41647
41648 2009-05-03  Jim Meyering  <meyering@redhat.com>
41649             Bruno Haible  <bruno@clisp.org>
41650
41651         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
41652         use the converted UTF-8 variant of the name instead.
41653
41654 2009-05-03  Jim Meyering  <meyering@redhat.com>
41655
41656         tests: tighten some getdate tests
41657         * tests/test-getdate.c (main): Tighten tests: require equality,
41658         not just greater than.  Set TZ envvar to UTC0.
41659
41660 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
41661
41662         getdate: correctly interpret "next monday" when run on a Monday
41663         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
41664         that e.g., "next tues" (when run on a tuesday) results in a date
41665         that is one week in the future, and not today's date.
41666         I.e., add a week when the wday is the same as the current one.
41667         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
41668         and earlier by Martin Bernreuther and Jan Minář.
41669         * tests/test-getdate.c (main): Check that "next DAY" is always in
41670         the future and that "last DAY" is always in the past.
41671
41672 2009-05-02  Jim Meyering  <meyering@redhat.com>
41673
41674         build: ensure that a release build fails when a submodule is unclean
41675         * top/maint.mk (no-submodule-changes): New rule.
41676         (alpha beta major): Depend on it.
41677
41678 2009-05-02  Bruno Haible  <bruno@clisp.org>
41679
41680         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
41681         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
41682         shell variable gl_fnmatch_required to detect which variant is
41683         requested.
41684         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
41685         gl_FUNC_FNMATCH_POSIX.
41686         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
41687         exclude fnmatch-posix.
41688
41689 2009-05-02  Bruno Haible  <bruno@clisp.org>
41690
41691         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
41692         * modules/mbsrtowcs (License): Change to LGPLv2+.
41693         * modules/strnlen1 (License): Likewise.
41694         Reported by Simon Josefsson.
41695
41696 2009-05-02  Bruno Haible  <bruno@clisp.org>
41697
41698         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
41699         "cross".
41700         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
41701         gnulib-tool was called with option --source-base=lib.
41702
41703 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41704
41705         Use automake *-local hooks without commands, for extensibility.
41706         * modules/localcharset (Makefile.am): Rename install-exec-local
41707         rule to install-exec-localcharset, and make it a prerequisite of
41708         install-exec-local.  Likewise, rename the uninstall-local rule to
41709         uninstall-localcharset, and make it a prerequisite of the former.
41710
41711 2009-05-01  Bruno Haible  <bruno@clisp.org>
41712
41713         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
41714         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41715         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
41716         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
41717         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
41718         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41719         m4/locale-zh.m4, m4/codeset.m4.
41720
41721         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41722         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
41723         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41724         m4/locale-zh.m4.
41725
41726         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
41727         REPLACE_WCRTOMB if mbstate_t must be replaced.
41728         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
41729         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
41730
41731 2009-05-01  Bruno Haible  <bruno@clisp.org>
41732
41733         Avoid compiler warnings when redefining macros defined by <libintl.h>.
41734         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
41735         dngettext, dcngettext, textdomain, bindtextdomain,
41736         bind_textdomain_codeset): Undefine before redefining.
41737
41738 2009-04-30  Bruno Haible  <bruno@clisp.org>
41739
41740         Fix bug introduced on 2009-04-25.
41741         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
41742         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
41743         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
41744         is defined.
41745         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
41746         is defined.
41747         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
41748         is defined.
41749         Reported by Elbert_Pol <elbert.pol@gmail.com>.
41750
41751 2009-04-28  Bruno Haible  <bruno@clisp.org>
41752
41753         Comment tweaks.
41754         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
41755         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
41756         * lib/unicase.h (u*_casexfrm): Likewise.
41757         Reported by Paolo Bonzini.
41758
41759 2009-04-28  Bruno Haible  <bruno@clisp.org>
41760
41761         Fix a compilation error.
41762         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
41763         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41764         Reported by Jim Meyering.
41765
41766 2009-04-27  Bruno Haible  <bruno@clisp.org>
41767
41768         New module 'libunistring'.
41769         * modules/libunistring: New file.
41770         * m4/libunistring.m4: New file.
41771         * MODULES.html.sh (Unicode string functions): Add it.
41772
41773 2009-04-27  Eric Blake  <ebb9@byu.net>
41774
41775         maint.mk: allow package-specific header to provide <config.h>
41776         * top/maint.mk (sc_require_config_h): New variable.
41777         (sc_require_config_h, sc_require_config_h_first): Use it.
41778
41779 2009-04-27  Simon Josefsson  <simon@josefsson.org>
41780
41781         * top/maint.mk (sc_avoid_if_before_free): Except
41782         useless-if-before-free script.
41783
41784 2009-04-27  Eric Blake  <ebb9@byu.net>
41785
41786         maintainer-makefile: depend on all required helper scripts
41787         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
41788         useless-if-before-free.
41789         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
41790         version, rather than assuming gnulib checkout is available.
41791         Reported by Simen Josefsson.
41792
41793 2009-04-26  Bruno Haible  <bruno@clisp.org>
41794
41795         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
41796         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
41797         "../" or "..".
41798
41799 2009-04-26  Bruno Haible  <bruno@clisp.org>
41800
41801         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
41802         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
41803         AC_LIB_HAVE_LINKFLAGS.
41804
41805 2009-04-26  Bruno Haible  <bruno@clisp.org>
41806
41807         Simplify calling convention of u*_conv_from_encoding.
41808         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
41809         u32_conv_from_encoding): Expect a resultbuf argument and return the
41810         result directly as a pointer.
41811         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
41812         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
41813         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
41814         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
41815         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
41816         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41817         Update.
41818         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
41819         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
41820         * lib/vasnprintf.c (VASNPRINTF): Update.
41821         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
41822         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
41823         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
41824         * NEWS: Mention the change.
41825
41826 2009-04-26  Bruno Haible  <bruno@clisp.org>
41827
41828         Simplify calling convention of u*_conv_to_encoding.
41829         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
41830         u32_conv_to_encoding): Expect a resultbuf argument and return the
41831         result directly as a pointer.
41832         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41833         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
41834         freeing scaled_offsets if mem_iconveha failed.
41835         * lib/unicase/u-casexfrm.h (FUNC): Update.
41836         * lib/uninorm/u-normxfrm.h (FUNC): Update.
41837         * lib/vasnprintf.c (VASNPRINTF): Update.
41838         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
41839         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
41840         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
41841         * NEWS: Mention the change.
41842
41843 2009-04-26  Bruno Haible  <bruno@clisp.org>
41844
41845         Avoid test failures on AIX and OSF/1.
41846         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
41847         malloc(0).
41848         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41849         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41850         Likewise.
41851         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
41852         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
41853         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
41854         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
41855         * doc/posix-functions/malloc.texi: Document the portability problem
41856         related to malloc(0).
41857
41858 2009-04-26  Bruno Haible  <bruno@clisp.org>
41859
41860         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
41861         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
41862         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
41863
41864 2009-04-25  Bruno Haible  <bruno@clisp.org>
41865
41866         Avoid link error when creating a namespace clean library.
41867         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
41868         as macro with arguments if already defined as an alias.
41869         * lib/signbitf.c (gl_signbitf): Don't undefine.
41870         * lib/signbitd.c (gl_signbitd): Don't undefine.
41871         * lib/signbitl.c (gl_signbitl): Don't undefine.
41872
41873 2009-04-25  Jim Meyering  <meyering@redhat.com>
41874
41875         vc-list-files: fix another quoting bug
41876         * build-aux/vc-list-files: Avoid sed backslash expansion
41877         of pathological directory names.
41878
41879 2009-04-25  Eric Blake  <ebb9@byu.net>
41880
41881         vc-list-files: fix shell quoting error
41882         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
41883         timestamp.
41884
41885 2009-04-25  Jim Meyering  <meyering@redhat.com>
41886
41887         vc-list-files: restore lost functionality with subdir argument
41888         * build-aux/vc-list-files: When given a non-"." sub-directory
41889         argument, substitute the $dir/ prefix back onto each resulting name.
41890         Otherwise, coreutils' root_tests check would fail.
41891
41892 2009-04-24  Eric Blake  <ebb9@byu.net>
41893
41894         vc-list-files: ignore git symlinks
41895         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
41896         than ls-files, to ignore git symlinks.
41897
41898         maint.mk: import improvements from m4
41899         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
41900         (move_if_change): Delete unused macro.
41901         (news-date-check, vc-diff-check): Support VPATH builds.
41902         (announcement): Likewise.  Split --bootstrap-tools list...
41903         (boostrap-tools): ...into separate list, which can be overridden
41904         in cfg.mk.
41905         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
41906         requiring dependency on useless-if-before-free module.
41907         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
41908         Support VPATH builds.
41909
41910 2009-04-24  Jim Meyering  <meyering@redhat.com>
41911
41912         maint.mk: remove coreutils-specific rules and variables
41913         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
41914         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
41915         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
41916
41917         maint.mk: remove obsolete rule
41918         * top/maint.mk (rel-check): Remove rule.
41919         (WGET, WGETFLAGS): Remove now-unused variables.
41920
41921 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41922
41923         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
41924         consistency.
41925
41926         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
41927         '$(PATH_SEPARATOR)' instead of ':'.
41928
41929 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41930
41931         * lib/getopt1.c (main): Use 'const' for static array.
41932
41933 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41934
41935         * top/maint.mk: Sync with coreutils.
41936         * NEWS: Explain incompatibilities.
41937
41938 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41939             Bruno Haible  <bruno@clisp.org>
41940
41941         Fix cross-compilation results.
41942         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
41943         statement, as third argument of AC_TRY_RUN.
41944         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
41945         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
41946         Likewise.
41947         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
41948         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
41949         Likewise.
41950         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
41951         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
41952         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
41953
41954 2009-04-20  Bruno Haible  <bruno@clisp.org>
41955
41956         Avoid test failure on mingw.
41957         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
41958
41959 2009-04-20  Bruno Haible  <bruno@clisp.org>
41960
41961         Avoid compilation error on mingw.
41962         * modules/localename-tests (Depends-on): Add locale.
41963
41964 2009-04-19  Bruno Haible  <bruno@clisp.org>
41965
41966         Support for building a shared library on Windows platforms.
41967         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
41968         (main): Test the presence of UNINORM_NFC here.
41969         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
41970         (main): Test the presence of UNINORM_NFD here.
41971         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
41972         (main): Test the presence of UNINORM_NFKC here.
41973         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
41974         (main): Test the presence of UNINORM_NFKD here.
41975
41976 2009-04-19  Bruno Haible  <bruno@clisp.org>
41977
41978         Avoid a compiler warning.
41979         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
41980         Change type of variable 'sequence'.
41981
41982 2009-04-19  Bruno Haible  <bruno@clisp.org>
41983
41984         * modules/configmake (Makefile.am): When the contents of configmake.h
41985         does not change, arrange to preserve its modification time.
41986
41987 2009-04-17  Simon Josefsson  <simon@josefsson.org>
41988
41989         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
41990         gettext domain.
41991
41992 2009-04-16  Jim Meyering  <meyering@redhat.com>
41993
41994         useless-if-before-free: improve conversion code
41995         * build-aux/useless-if-before-free: Adjust code-in-comment to match
41996         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
41997
41998 2009-04-14  Bruno Haible  <bruno@clisp.org>
41999
42000         * modules/fcntl (Depends-on): Add extensions.
42001         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
42002
42003 2009-04-12  Ben Pfaff  <blp@gnu.org>
42004
42005         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
42006         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
42007
42008 2009-03-20  Ben Pfaff  <blp@gnu.org>
42009
42010         Make rename replace existing destinations on Windows.
42011         * m4/rename.m4: Add test for Mingw.
42012         * lib/rename.c: Add rename replacement that uses MoveFileEx with
42013         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
42014         * doc/posix-functions/rename.texi: Document.
42015
42016 2009-04-10  Bruno Haible  <bruno@clisp.org>
42017
42018         New include file "iconveh.h".
42019         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
42020         * lib/striconveh.h: Include it.
42021         (enum iconv_ilseq_handler): Remove definition.
42022         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
42023         striconveh.h.
42024         * lib/striconveha.c: Include striconveh.h.
42025         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
42026         * modules/striconveh (Files): Add lib/iconveh.h.
42027         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
42028         lib/striconveh.h.
42029
42030 2009-04-10  Bruno Haible  <bruno@clisp.org>
42031
42032         * lib/uniconv.h: Update comment.
42033
42034 2009-04-10  Bruno Haible  <bruno@clisp.org>
42035
42036         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
42037         always.
42038         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
42039         * lib/unistr/u16-mbtouc-aux.c: Likewise.
42040         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
42041         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
42042         "unistring-notinline.h", so that the function gets defined always.
42043         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
42044         * lib/unistr/u8-uctomb.c: Likewise.
42045         * lib/unistr/u16-mbtouc.c: Likewise.
42046         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
42047         * lib/unistr/u16-uctomb.c: Likewise.
42048         * lib/unistr/u32-mbtouc.c: Likewise.
42049         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
42050         * lib/unistr/u32-uctomb.c: Likewise.
42051
42052 2009-04-10  Bruno Haible  <bruno@clisp.org>
42053
42054         Mark 'utime' obsolete.
42055         * modules/utime (Status, Notice): New sections.
42056         Suggested by Jim Meyering.
42057
42058         Fix cross-compile guess for utime test.
42059         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
42060         autoconf.
42061         * doc/posix-functions/utime.texi: Give more precisions.
42062         Reported by Jan <ipif@ymail.com>.
42063
42064 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
42065
42066         filevercmp: correct today's change
42067         * lib/filevercmp.c: Also handle coreutils' test inputs.
42068         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
42069
42070         Fix regression in 'filevercmp' module. Thanks Sven Joachim
42071         for reporting it.
42072         * lib/filevercmp.c: Special handle for "", "." and "..".
42073         * tests/test-filevercmp.c: Enlarge the set suite.
42074
42075 2009-04-07  Jim Meyering  <meyering@redhat.com>
42076
42077         useless-if-before-free: show how to remove braced useless free, too
42078         * build-aux/useless-if-before-free: still only in a comment, though.
42079
42080 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
42081
42082         maint.mk: import changes to syntax-check macros from coreutils
42083         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
42084         Use them in the relevant macros.
42085
42086 2009-04-06  Bruno Haible  <bruno@clisp.org>
42087
42088         Fix unportable use of bit-fields.
42089         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
42090         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
42091         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
42092
42093 2009-04-06  Bruno Haible  <bruno@clisp.org>
42094
42095         Avoid test failures on AIX and OSF/1.
42096         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
42097         that malloc(0) = NULL.
42098         * tests/unicase/test-u8-tolower.c (check): Likewise.
42099         * tests/unicase/test-u8-totitle.c (check): Likewise.
42100         * tests/unicase/test-u8-toupper.c (check): Likewise.
42101         * tests/unicase/test-u16-casefold.c (check): Likewise.
42102         * tests/unicase/test-u16-tolower.c (check): Likewise.
42103         * tests/unicase/test-u16-totitle.c (check): Likewise.
42104         * tests/unicase/test-u16-toupper.c (check): Likewise.
42105         * tests/unicase/test-u32-casefold.c (check): Likewise.
42106         * tests/unicase/test-u32-tolower.c (check): Likewise.
42107         * tests/unicase/test-u32-totitle.c (check): Likewise.
42108         * tests/unicase/test-u32-toupper.c (check): Likewise.
42109         * tests/uninorm/test-u8-nfc.c (check): Likewise.
42110         * tests/uninorm/test-u8-nfd.c (check): Likewise.
42111         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
42112         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
42113         * tests/uninorm/test-u16-nfc.c (check): Likewise.
42114         * tests/uninorm/test-u16-nfd.c (check): Likewise.
42115         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
42116         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
42117         * tests/uninorm/test-u32-nfc.c (check): Likewise.
42118         * tests/uninorm/test-u32-nfd.c (check): Likewise.
42119         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
42120         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
42121
42122 2009-04-05  Bruno Haible  <bruno@clisp.org>
42123
42124         Work around an autoconf limitation.
42125         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
42126         comment line if it would be longer than 3 KB.
42127
42128 2009-04-05  Bruno Haible  <bruno@clisp.org>
42129
42130         Avoid test failure with libiconv-1.13.
42131         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
42132         of the expected test results.
42133
42134 2009-04-05  Bruno Haible  <bruno@clisp.org>
42135
42136         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
42137         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
42138         that it should be installed.
42139
42140 2009-04-05  Bruno Haible  <bruno@clisp.org>
42141
42142         * gnulib-tool: New option --copy-file.
42143         (func_usage): Document it.
42144         (func_dest_tmpfilename): Moved out of func_import.
42145         (func_add_file, func_update_file): New functions, extracted from
42146         func_import.
42147         (func_import): Update.
42148
42149 2009-04-05  Karl Berry  <karl@gnu.org>
42150
42151         * README: prominently mention gnulib-tool.
42152         Rearrange sections so getting the code is near the top.
42153
42154 2009-04-05  Bruno Haible  <bruno@clisp.org>
42155
42156         * lib/unicase.h: Mention u*_cmp2.
42157         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
42158         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
42159         * lib/unicase/ulc-casecmp.c: Likewise.
42160         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
42161         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
42162         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
42163         unistr/u8-cmp.
42164         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
42165         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
42166         unistr/u16-cmp.
42167         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
42168         unistr/u32-cmp.
42169
42170         * lib/uninorm.h: Mention u*_cmp2.
42171         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
42172         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
42173         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
42174         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
42175         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
42176         unistr/u8-cmp.
42177         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
42178         unistr/u16-cmp.
42179         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
42180         unistr/u32-cmp.
42181
42182         New module 'unistr/u32-cmp2'.
42183         * lib/unistr/u32-cmp2.c: New file.
42184         * modules/unistr/u32-cmp2: New file.
42185
42186         New module 'unistr/u16-cmp2'.
42187         * lib/unistr/u16-cmp2.c: New file.
42188         * modules/unistr/u16-cmp2: New file.
42189
42190         New module 'unistr/u8-cmp2'.
42191         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
42192         * lib/unistr/u8-cmp2.c: New file.
42193         * lib/unistr/u-cmp2.h: New file.
42194         * modules/unistr/u8-cmp2: New file.
42195
42196 2009-04-05  Bruno Haible  <bruno@clisp.org>
42197
42198         * lib/unictype.h (uc_property_is_valid): New macro.
42199         * tests/unictype/test-pr_byname.c (main): Use it.
42200
42201         * lib/unistr.h: Doc fixes.
42202         * lib/uniconv.h: Doc fixes.
42203         * lib/unictype.h: Doc fixes.
42204
42205 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
42206
42207         Port coreutils 7.2 to Solaris 8.
42208
42209         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
42210         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
42211         for Solaris 8.  This is a bit of a hack, as it means it's the
42212         caller's responsibility to add -lnsl if needed, but most likely it
42213         won't be needed since only getaddrinfo uses this and getaddrinfo
42214         isn't needed on Solaris 8.
42215
42216         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
42217         problem to Solaris 8 encountered with coreutils 7.2, which
42218         resulted in a message "fnmatch.c:292: warning: passing argument 4
42219         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
42220         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
42221
42222 2009-04-03  Simon Josefsson  <simon@josefsson.org>
42223
42224         * m4/ld-version-script.m4: Add FIXME comment.
42225
42226 2009-04-02  Simon Josefsson  <simon@josefsson.org>
42227
42228         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
42229         SOVERSION variable.
42230
42231 2009-04-02  Bruno Haible  <bruno@clisp.org>
42232
42233         * Makefile (info, html, dvi, pdf): Combine the rules.
42234         Suggested by Jim Meyering.
42235
42236 2009-04-01  Bruno Haible  <bruno@clisp.org>
42237
42238         * Makefile (info, html, dvi, pdf): New targets.
42239         Reported by Reuben Thomas <rrt@sc3d.org>.
42240
42241 2009-04-01  Bruno Haible  <bruno@clisp.org>
42242
42243         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
42244         can be put into PATH.
42245         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
42246
42247 2009-04-01  Bruno Haible  <bruno@clisp.org>
42248
42249         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
42250
42251 2009-04-01  Bruno Haible  <bruno@clisp.org>
42252
42253         Rename module 'visibility'.
42254         * modules/lib-symbol-visibility: Renamed from modules/visibility.
42255         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
42256         * doc/gnulib.texi: Update.
42257         * MODULES.html.sh (Misc): Update.
42258         * NEWS: Mention the change.
42259
42260 2009-04-01  Simon Josefsson  <simon@josefsson.org>
42261
42262         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
42263         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
42264         Eric Blake <ebb9@byu.net> for review.
42265         * MODULES.html.sh: Add lib-msvc-compat.
42266         * doc/gnulib.texi: Link to new section.
42267         * m4/ld-output-def.m4: New file.
42268         * doc/ld-output-def.texi: New file.
42269
42270 2009-04-01  Simon Josefsson  <simon@josefsson.org>
42271
42272         Rename ld-version-script to lib-symbol-versions.  Suggested by
42273         Bruno Haible <bruno@clisp.org>.
42274         * modules/ld-version-script: Renamed to lib-symbol-versions.
42275         * doc/ld-version-script.texi: Fix module name.
42276         * MODULES.html.sh: Add lib-symbol-versions.
42277
42278 2009-03-31  Simon Josefsson  <simon@josefsson.org>
42279
42280         * modules/u64-tests: New file.
42281         * tests/test-u64.c: New file.
42282
42283 2009-03-04  Simon Josefsson  <simon@josefsson.org>
42284
42285         * MODULES.html.sh: Mention u64.
42286         * modules/u64: New module.
42287         * modules/crypto/sha512: Depend on u64 module instead of providing
42288         u64.h.
42289
42290 2009-03-27  Eric Blake  <ebb9@byu.net>
42291
42292         test-strerror: make debugging EAI_SYSTEM easier
42293         * modules/getaddrinfo-tests (Depends-on): Add strerror.
42294         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
42295         failure was EAI_SYSTEM.
42296
42297 2009-03-25  Bruno Haible  <bruno@clisp.org>
42298
42299         Fix a problem with --enable-relocatable on Solaris 7.
42300         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
42301         since 2008-02-24.
42302
42303 2009-03-25  Eric Blake  <ebb9@byu.net>
42304
42305         test-sockets: avoid gcc warning
42306         * tests/test-sockets.c (main): Silence compiler warning.
42307
42308 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42309
42310         New modules nproc, pthread, contributed by Glen Lenker.
42311
42312         * MODULES.html.sh: Add pthread, nproc.
42313         * lib/nproc.c: New file.
42314         * lib/nproc.h: New file.
42315         * lib/pthread.in.h: New file.
42316         * m4/pthread.m4: New file.
42317         * modules/nproc: New file.
42318         * modules/pthread: New file.
42319
42320 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42321
42322         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
42323         New variable.
42324
42325 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
42326
42327         filevercmp: handle simple~ and numbered.~3~ backup suffixes
42328         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
42329         * tests/test-filevercmp.c: Add tests for backup suffixes.
42330
42331 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42332
42333         * modules/stdlib (Depends-on): Add stdint, needed when defining
42334         struct random_data on, for example, HP-UX 10.20.  Reported by
42335         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42336
42337 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42338
42339         * lib/readline.c (readline): Call fflush on stdout after printing
42340         prompt.
42341
42342 2009-03-20  Bruno Haible  <bruno@clisp.org>
42343
42344         Remove dependency from 'close' module to -lws2_32 on native Windows.
42345         * lib/close-hook.h: New file.
42346         * lib/close-hook.c: New file.
42347         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
42348         w32sock.h.
42349         (_gl_close_fd_maybe_socket): Remove function.
42350         (rpl_close): Invoke execute_all_close_hooks instead of
42351         _gl_close_fd_maybe_socket.
42352         * lib/sockets.c: Include close-hook.h, w32sock.h.
42353         (close_fd_maybe_socket): New function, essentially from lib/close.c.
42354         (close_sockets_hook): New variable.
42355         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
42356         (gl_sockets_cleanup): Unregister it.
42357         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
42358         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
42359         * modules/close-hook: New file.
42360         * modules/close (Files): Remove lib/w32sock.h.
42361         (Depends-on): Add close-hook.
42362         (Link): Remove section.
42363         * modules/sockets (Files): Add lib/w32sock.h.
42364         (Depends-on): Add close-hook.
42365         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
42366         invocation.
42367         * NEWS: Mention that LIB_CLOSE is gone.
42368
42369 2009-03-23  Eric Blake  <ebb9@byu.net>
42370
42371         signal-tests: test previous patch
42372         * tests/test-signal.c: New file.
42373         * modules/signal-tests: Likewise.
42374
42375         signal.h: always support 'volatile sig_atomic_t'
42376         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
42377         (gl_SIGNAL_H_DEFAULTS): Add a default.
42378         * modules/signal (Makefile.am): Substitute if needed.
42379         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
42380         users can blindly add volatile.
42381         * doc/posix-headers/signal.texi (signal.h): Document it.
42382         Reported by Matthew Woehlke.
42383
42384 2009-03-23  Jim Meyering  <meyering@redhat.com>
42385
42386         pathmax: PATH_MAX: use pathconf only when available
42387         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
42388         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
42389         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
42390         This avoids a link failure in a PSP cross-compilation environment
42391         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
42392
42393         * lib/vasnprintf.c (divide): Fix typo in comment.
42394
42395 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42396
42397         * gnulib-tool (func_filter_filelist): Fix comment.
42398
42399 2009-03-20  Bruno Haible  <bruno@clisp.org>
42400
42401         Make sockets.h self-contained.
42402         * lib/sockets.c: Include sockets.h first.
42403         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
42404
42405 2009-03-19  Eric Blake  <ebb9@byu.net>
42406
42407         doc: mention more functions added in cygwin 1.7.0
42408         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
42409         addition.
42410         * doc/posix-functions/log2f.texi: Likewise.
42411
42412 2009-03-19  Jim Meyering  <meyering@redhat.com>
42413
42414         fsusage: avoid syntax error due to statement-before-declaration
42415         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
42416         after all declarations.  Reported by Matthew Woehlke in
42417         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
42418
42419 2009-03-18  Eric Blake  <ebb9@byu.net>
42420
42421         build-aux/compile: sync from automake
42422         * build-aux/compile: New file, from automake.
42423         * config/srclist.txt: Mention build-aux/compile.
42424
42425 2009-03-17  Bruno Haible  <bruno@clisp.org>
42426
42427         * lib/git-merge-changelog.c: Fix typo in comment.
42428         Reported by Reuben Thomas <rrt@sc3d.org>.
42429
42430 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
42431
42432         * m4/regex.m4: update and improve help for
42433         --without-included-regex.
42434
42435 2009-03-17  Simon Josefsson  <simon@josefsson.org>
42436
42437         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
42438         failure on missing include files.
42439
42440 2009-03-17  Eric Blake  <ebb9@byu.net>
42441
42442         doc: mention more functions added in cygwin 1.7.0
42443         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
42444         addition.
42445         * doc/posix-functions/fwscanf.texi: Likewise.
42446         * doc/posix-functions/swprintf.texi: Likewise.
42447         * doc/posix-functions/swscanf.texi: Likewise.
42448         * doc/posix-functions/vfwprintf.texi: Likewise.
42449         * doc/posix-functions/vfwscanf.texi: Likewise.
42450         * doc/posix-functions/vswprintf.texi: Likewise.
42451         * doc/posix-functions/vswscanf.texi: Likewise.
42452         * doc/posix-functions/vwprintf.texi: Likewise.
42453         * doc/posix-functions/vwscanf.texi: Likewise.
42454         * doc/posix-functions/wcscasecmp.texi: Likewise.
42455         * doc/posix-functions/wcsdup.texi: Likewise.
42456         * doc/posix-functions/wcsftime.texi: Likewise.
42457         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42458         * doc/posix-functions/wprintf.texi: Likewise.
42459         * doc/posix-functions/wscanf.texi: Likewise.
42460         * doc/glibc-functions/gethostbyname2.texi: Likewise.
42461
42462 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42463
42464         maint.mk: really add $(AM_MAKEFLAGS)
42465         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
42466         was inadvertently omitted in the last commit.
42467         Spotted by Bruno Haible.
42468
42469         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
42470         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
42471         $(AM_MAKEFLAGS)' rather than plain `make'.
42472
42473         gnulib-tool: execute $MAKE not make
42474         * gnulib-tool: Default $MAKE to 'make'.
42475         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
42476         than make.  Initialize $MAKE in the do-autobuild script.
42477
42478         gnulib-tool: use $MAKE not make in generated files
42479         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
42480         make, in generated files.  Initialize $MAKE in the do-autobuild
42481         script.
42482
42483         * top/GNUmakefile (_have-git-version-gen): Fix typo.
42484
42485         GNUmakefile: disable parallelism only for multiple, recursive targets
42486         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
42487         additions in the Makefile.
42488         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
42489         by Automake.
42490         (.NOTPARALLEL): Only disable parallel builds if multiple targets
42491         are listed on the command line and at least one of them is
42492         listed in $(ALL_RECURSIVE_TARGETS).
42493
42494 2009-03-14  Bruno Haible  <bruno@clisp.org>
42495
42496         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
42497         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
42498         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
42499         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
42500         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
42501         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
42502         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
42503         unistr/u8-uctomb.
42504         * modules/unistr/u8-strchr (Depends-on): Likewise.
42505         * modules/unistr/u8-strrchr (Depends-on): Likewise.
42506         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
42507         unistr/u16-uctomb.
42508         * modules/unistr/u16-strchr (Depends-on): Likewise.
42509         * modules/unistr/u16-strrchr (Depends-on): Likewise.
42510
42511 2009-03-12  Bruno Haible  <bruno@clisp.org>
42512
42513         Work around select() bug on Interix 3.5.
42514         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
42515         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
42516         * m4/select.m4: New file.
42517         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
42518         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
42519         * modules/select (Files): Add m4/select.m4.
42520         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
42521         * modules/nanosleep (Depends-on): Add select.
42522         * modules/poll (Depends-on): Likewise.
42523         * doc/posix-functions/select.texi: Mention the Interix bug.
42524         Reported by Markus Duft <mduft@gentoo.org>.
42525
42526         * lib/select.c: Renamed from lib/winsock-select.c.
42527         * modules/select (Files): Add lib/select.c, remove
42528         lib/winsock-select.c.
42529         (configure.ac): Update.
42530
42531 2009-03-12  Jim Meyering  <meyering@redhat.com>
42532
42533         avoid gcc warnings about unused macro definitions
42534         * lib/readtokens.c (STREQ): Remove unused definition.
42535         * lib/xmalloc.c (SIZE_MAX): Likewise.
42536         * lib/openat-die.c (N_): Likewise.
42537         * lib/mountlist.c (SIZE_MAX): Remove definition.
42538         Instead, include <stdint.h>.
42539         * lib/readutmp.c: Likewise.
42540         * modules/readutmp (Depends-on): Add stdint.
42541         * modules/mountlist (Depends-on): Add stdint.
42542         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
42543
42544 2009-03-10  Bruno Haible  <bruno@clisp.org>
42545
42546         Tests for module 'mbmemcasecoll'.
42547         * modules/mbmemcasecoll-tests: New file.
42548         * tests/test-mbmemcasecoll1.sh: New file.
42549         * tests/test-mbmemcasecoll2.sh: New file.
42550         * tests/test-mbmemcasecoll3.sh: New file.
42551         * tests/test-mbmemcasecoll.c: New file.
42552
42553         New module 'mbmemcasecoll'.
42554         * lib/mbmemcasecoll.h: New file.
42555         * lib/mbmemcasecoll.c: New file.
42556         * modules/mbmemcasecoll: New file.
42557
42558         * tests/test-mbmemcasecmp.h: New file, extracted from
42559         tests/test-mbmemcasecmp.c.
42560         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
42561         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
42562         (main): Update.
42563         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
42564
42565 2009-03-09  Bruno Haible  <bruno@clisp.org>
42566
42567         Tests for module 'mbmemcasecmp'.
42568         * modules/mbmemcasecmp-tests: New file.
42569         * tests/test-mbmemcasecmp1.sh: New file.
42570         * tests/test-mbmemcasecmp2.sh: New file.
42571         * tests/test-mbmemcasecmp3.sh: New file.
42572         * tests/test-mbmemcasecmp.c: New file.
42573
42574         New module 'mbmemcasecmp'.
42575         * lib/mbmemcasecmp.h: New file.
42576         * lib/mbmemcasecmp.c: New file.
42577         * modules/mbmemcasecmp: New file.
42578
42579 2009-03-09  Bruno Haible  <bruno@clisp.org>
42580
42581         Tests for module 'unicase/ulc-casecoll'.
42582         * modules/unicase/ulc-casecoll-tests: New file.
42583         * tests/unicase/test-ulc-casecoll1.sh: New file.
42584         * tests/unicase/test-ulc-casecoll2.sh: New file.
42585         * tests/unicase/test-ulc-casecoll.c: New file.
42586
42587         New module 'unicase/ulc-casecoll'.
42588         * lib/unicase.h (ulc_casecoll): New declaration.
42589         * lib/unicase/ulc-casecoll.c: New file.
42590         * modules/unicase/ulc-casecoll: New file.
42591
42592         New module 'unicase/ulc-casexfrm'.
42593         * lib/unicase.h (ulc_casexfrm): New declaration.
42594         * lib/unicase/ulc-casexfrm.c: New file.
42595         * modules/unicase/ulc-casexfrm: New file.
42596
42597 2009-03-09  Bruno Haible  <bruno@clisp.org>
42598
42599         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
42600         invocations.
42601
42602         * m4/mbscasecmp.m4: Remove file.
42603         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
42604         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
42605
42606         * m4/mbscasestr.m4: Remove file.
42607         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
42608         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
42609
42610         * m4/mbschr.m4: Remove file.
42611         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
42612         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
42613
42614         * m4/mbscspn.m4: Remove file.
42615         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
42616         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
42617
42618         * m4/mbslen.m4: Remove file.
42619         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
42620         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
42621
42622         * m4/mbsncasecmp.m4: Remove file.
42623         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
42624         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
42625
42626         * m4/mbsnlen.m4: Remove file.
42627         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
42628         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
42629
42630         * m4/mbspbrk.m4: Remove file.
42631         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
42632         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
42633
42634         * m4/mbspcasecmp.m4: Remove file.
42635         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
42636         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
42637
42638         * m4/mbsrchr.m4: Remove file.
42639         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
42640         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
42641
42642         * m4/mbssep.m4: Remove file.
42643         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
42644         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
42645
42646         * m4/mbsspn.m4: Remove file.
42647         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
42648         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
42649
42650         * m4/mbsstr.m4: Remove file.
42651         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
42652         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
42653
42654         * m4/mbstok_r.m4: Remove file.
42655         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
42656         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
42657
42658         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
42659
42660         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
42661         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
42662
42663         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
42664
42665 2009-03-08  Bruno Haible  <bruno@clisp.org>
42666
42667         Tests for module 'unicase/ulc-casecmp'.
42668         * modules/unicase/ulc-casecmp-tests: New file.
42669         * tests/unicase/test-ulc-casecmp1.sh: New file.
42670         * tests/unicase/test-ulc-casecmp2.sh: New file.
42671         * tests/unicase/test-ulc-casecmp.c: New file.
42672
42673         New module 'unicase/ulc-casecmp'.
42674         * lib/unicase.h (ulc_casecmp): New declaration.
42675         * lib/unicase/ulc-casecmp.c: New file.
42676         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
42677         'const SRC_UNIT *'.
42678         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
42679         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
42680         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
42681         * modules/unicase/ulc-casecmp: New file.
42682
42683         Tests for module 'unicase/u32-is-cased'.
42684         * modules/unicase/u32-is-cased-tests: New file.
42685         * tests/unicase/test-u32-is-cased.c: New file.
42686
42687         Tests for module 'unicase/u16-is-cased'.
42688         * modules/unicase/u16-is-cased-tests: New file.
42689         * tests/unicase/test-u16-is-cased.c: New file.
42690
42691         Tests for module 'unicase/u8-is-cased'.
42692         * modules/unicase/u8-is-cased-tests: New file.
42693         * tests/unicase/test-u8-is-cased.c: New file.
42694         * tests/unicase/test-is-cased.h: New file.
42695
42696         New module 'unicase/u32-is-cased'.
42697         * lib/unicase/u32-is-cased.c: New file.
42698         * modules/unicase/u32-is-cased: New file.
42699
42700         New module 'unicase/u16-is-cased'.
42701         * lib/unicase/u16-is-cased.c: New file.
42702         * modules/unicase/u16-is-cased: New file.
42703
42704         New module 'unicase/u8-is-cased'.
42705         * lib/unicase/u8-is-cased.c: New file.
42706         * lib/unicase/u-is-cased.h: New file.
42707         * modules/unicase/u8-is-cased: New file.
42708
42709         Tests for module 'unicase/u32-is-casefolded'.
42710         * modules/unicase/u32-is-casefolded-tests: New file.
42711         * tests/unicase/test-u32-is-casefolded.c: New file.
42712
42713         Tests for module 'unicase/u16-is-casefolded'.
42714         * modules/unicase/u16-is-casefolded-tests: New file.
42715         * tests/unicase/test-u16-is-casefolded.c: New file.
42716
42717         Tests for module 'unicase/u8-is-casefolded'.
42718         * modules/unicase/u8-is-casefolded-tests: New file.
42719         * tests/unicase/test-u8-is-casefolded.c: New file.
42720         * tests/unicase/test-is-casefolded.h: New file.
42721
42722         New module 'unicase/u32-is-casefolded'.
42723         * lib/unicase/u32-is-casefolded.c: New file.
42724         * modules/unicase/u32-is-casefolded: New file.
42725
42726         New module 'unicase/u16-is-casefolded'.
42727         * lib/unicase/u16-is-casefolded.c: New file.
42728         * modules/unicase/u16-is-casefolded: New file.
42729
42730         New module 'unicase/u8-is-casefolded'.
42731         * lib/unicase/u8-is-casefolded.c: New file.
42732         * modules/unicase/u8-is-casefolded: New file.
42733
42734         Tests for module 'unicase/u32-is-titlecase'.
42735         * modules/unicase/u32-is-titlecase-tests: New file.
42736         * tests/unicase/test-u32-is-titlecase.c: New file.
42737
42738         Tests for module 'unicase/u16-is-titlecase'.
42739         * modules/unicase/u16-is-titlecase-tests: New file.
42740         * tests/unicase/test-u16-is-titlecase.c: New file.
42741
42742         Tests for module 'unicase/u8-is-titlecase'.
42743         * modules/unicase/u8-is-titlecase-tests: New file.
42744         * tests/unicase/test-u8-is-titlecase.c: New file.
42745         * tests/unicase/test-is-titlecase.h: New file.
42746
42747         New module 'unicase/u32-is-titlecase'.
42748         * lib/unicase/u32-is-titlecase.c: New file.
42749         * modules/unicase/u32-is-titlecase: New file.
42750
42751         New module 'unicase/u16-is-titlecase'.
42752         * lib/unicase/u16-is-titlecase.c: New file.
42753         * modules/unicase/u16-is-titlecase: New file.
42754
42755         New module 'unicase/u8-is-titlecase'.
42756         * lib/unicase/u8-is-titlecase.c: New file.
42757         * modules/unicase/u8-is-titlecase: New file.
42758
42759         Tests for module 'unicase/u32-is-lowercase'.
42760         * modules/unicase/u32-is-lowercase-tests: New file.
42761         * tests/unicase/test-u32-is-lowercase.c: New file.
42762
42763         Tests for module 'unicase/u16-is-lowercase'.
42764         * modules/unicase/u16-is-lowercase-tests: New file.
42765         * tests/unicase/test-u16-is-lowercase.c: New file.
42766
42767         Tests for module 'unicase/u8-is-lowercase'.
42768         * modules/unicase/u8-is-lowercase-tests: New file.
42769         * tests/unicase/test-u8-is-lowercase.c: New file.
42770         * tests/unicase/test-is-lowercase.h: New file.
42771
42772         New module 'unicase/u32-is-lowercase'.
42773         * lib/unicase/u32-is-lowercase.c: New file.
42774         * modules/unicase/u32-is-lowercase: New file.
42775
42776         New module 'unicase/u16-is-lowercase'.
42777         * lib/unicase/u16-is-lowercase.c: New file.
42778         * modules/unicase/u16-is-lowercase: New file.
42779
42780         New module 'unicase/u8-is-lowercase'.
42781         * lib/unicase/u8-is-lowercase.c: New file.
42782         * modules/unicase/u8-is-lowercase: New file.
42783
42784         Tests for module 'unicase/u32-is-uppercase'.
42785         * modules/unicase/u32-is-uppercase-tests: New file.
42786         * tests/unicase/test-u32-is-uppercase.c: New file.
42787
42788         Tests for module 'unicase/u16-is-uppercase'.
42789         * modules/unicase/u16-is-uppercase-tests: New file.
42790         * tests/unicase/test-u16-is-uppercase.c: New file.
42791
42792         Tests for module 'unicase/u8-is-uppercase'.
42793         * modules/unicase/u8-is-uppercase-tests: New file.
42794         * tests/unicase/test-u8-is-uppercase.c: New file.
42795         * tests/unicase/test-is-uppercase.h: New file.
42796
42797         New module 'unicase/u32-is-uppercase'.
42798         * lib/unicase/u32-is-uppercase.c: New file.
42799         * modules/unicase/u32-is-uppercase: New file.
42800
42801         New module 'unicase/u16-is-uppercase'.
42802         * lib/unicase/u16-is-uppercase.c: New file.
42803         * modules/unicase/u16-is-uppercase: New file.
42804
42805         New module 'unicase/u8-is-uppercase'.
42806         * lib/unicase/u8-is-uppercase.c: New file.
42807         * modules/unicase/u8-is-uppercase: New file.
42808
42809         New module 'unicase/u32-is-invariant'.
42810         * lib/unicase/u32-is-invariant.c: New file.
42811         * modules/unicase/u32-is-invariant: New file.
42812
42813         New module 'unicase/u16-is-invariant'.
42814         * lib/unicase/u16-is-invariant.c: New file.
42815         * modules/unicase/u16-is-invariant: New file.
42816
42817         New module 'unicase/u8-is-invariant'.
42818         * lib/unicase/u8-is-invariant.c: New file.
42819         * lib/unicase/invariant.h: New file.
42820         * lib/unicase/u-is-invariant.h: New file.
42821         * modules/unicase/u8-is-invariant: New file.
42822
42823         Tests for module 'unicase/u32-casecoll'.
42824         * modules/unicase/u32-casecoll-tests: New file.
42825         * tests/unicase/test-u32-casecoll.c: New file.
42826
42827         Tests for module 'unicase/u16-casecoll'.
42828         * modules/unicase/u16-casecoll-tests: New file.
42829         * tests/unicase/test-u16-casecoll.c: New file.
42830
42831         Tests for module 'unicase/u8-casecoll'.
42832         * modules/unicase/u8-casecoll-tests: New file.
42833         * tests/unicase/test-u8-casecoll.c: New file.
42834
42835         New module 'unicase/u32-casecoll'.
42836         * lib/unicase/u32-casecoll.c: New file.
42837         * modules/unicase/u32-casecoll: New file.
42838
42839         New module 'unicase/u16-casecoll'.
42840         * lib/unicase/u16-casecoll.c: New file.
42841         * modules/unicase/u16-casecoll: New file.
42842
42843         New module 'unicase/u8-casecoll'.
42844         * lib/unicase/u8-casecoll.c: New file.
42845         * lib/unicase/u-casecoll.h: New file.
42846         * modules/unicase/u8-casecoll: New file.
42847
42848         New module 'unicase/u32-casexfrm'.
42849         * lib/unicase/u32-casexfrm.c: New file.
42850         * modules/unicase/u32-casexfrm: New file.
42851
42852         New module 'unicase/u16-casexfrm'.
42853         * lib/unicase/u16-casexfrm.c: New file.
42854         * modules/unicase/u16-casexfrm: New file.
42855
42856         New module 'unicase/u8-casexfrm'.
42857         * lib/unicase/u8-casexfrm.c: New file.
42858         * lib/unicase/u-casexfrm.h: New file.
42859         * modules/unicase/u8-casexfrm: New file.
42860
42861         Tests for module 'unicase/u32-casecmp'.
42862         * modules/unicase/u32-casecmp-tests: New file.
42863         * tests/unicase/test-u32-casecmp.c: New file.
42864
42865         Tests for module 'unicase/u16-casecmp'.
42866         * modules/unicase/u16-casecmp-tests: New file.
42867         * tests/unicase/test-u16-casecmp.c: New file.
42868
42869         Tests for module 'unicase/u8-casecmp'.
42870         * modules/unicase/u8-casecmp-tests: New file.
42871         * tests/unicase/test-u8-casecmp.c: New file.
42872         * tests/unicase/test-casecmp.h: New file.
42873
42874         New module 'unicase/u32-casecmp'.
42875         * lib/unicase/u32-casecmp.c: New file.
42876         * modules/unicase/u32-casecmp: New file.
42877
42878         New module 'unicase/u16-casecmp'.
42879         * lib/unicase/u16-casecmp.c: New file.
42880         * modules/unicase/u16-casecmp: New file.
42881
42882         New module 'unicase/u8-casecmp'.
42883         * lib/unicase/u8-casecmp.c: New file.
42884         * lib/unicase/u-casecmp.h: New file.
42885         * modules/unicase/u8-casecmp: New file.
42886
42887         Tests for module 'unicase/u32-casefold'.
42888         * modules/unicase/u32-casefold-tests: New file.
42889         * tests/unicase/test-u32-casefold.c: New file.
42890
42891         Tests for module 'unicase/u16-casefold'.
42892         * modules/unicase/u16-casefold-tests: New file.
42893         * tests/unicase/test-u16-casefold.c: New file.
42894
42895         Tests for module 'unicase/u8-casefold'.
42896         * modules/unicase/u8-casefold-tests: New file.
42897         * tests/unicase/test-u8-casefold.c: New file.
42898
42899         New module 'unicase/u32-casefold'.
42900         * lib/unicase/u32-casefold.c: New file.
42901         * modules/unicase/u32-casefold: New file.
42902
42903         New module 'unicase/u16-casefold'.
42904         * lib/unicase/u16-casefold.c: New file.
42905         * modules/unicase/u16-casefold: New file.
42906
42907         New module 'unicase/u8-casefold'.
42908         * lib/unicase/u8-casefold.c: New file.
42909         * lib/unicase/u-casefold.h: New file.
42910         * modules/unicase/u8-casefold: New file.
42911
42912         New module 'unicase/tocasefold'.
42913         * lib/unicase/casefold.h: New file.
42914         * lib/unicase/tocasefold.c: New file.
42915         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
42916         * modules/unicase/tocasefold: New file.
42917
42918         Tests for module 'unicase/u32-totitle'.
42919         * modules/unicase/u32-totitle-tests: New file.
42920         * tests/unicase/test-u32-totitle.c: New file.
42921
42922         Tests for module 'unicase/u16-totitle'.
42923         * modules/unicase/u16-totitle-tests: New file.
42924         * tests/unicase/test-u16-totitle.c: New file.
42925
42926         Tests for module 'unicase/u8-totitle'.
42927         * modules/unicase/u8-totitle-tests: New file.
42928         * tests/unicase/test-u8-totitle.c: New file.
42929
42930         New module 'unicase/u32-totitle'.
42931         * lib/unicase/u32-totitle.c: New file.
42932         * modules/unicase/u32-totitle: New file.
42933
42934         New module 'unicase/u16-totitle'.
42935         * lib/unicase/u16-totitle.c: New file.
42936         * modules/unicase/u16-totitle: New file.
42937
42938         New module 'unicase/u8-totitle'.
42939         * lib/unicase/u8-totitle.c: New file.
42940         * lib/unicase/u-totitle.h: New file.
42941         * modules/unicase/u8-totitle: New file.
42942
42943         Tests for module 'unicase/u32-tolower'.
42944         * modules/unicase/u32-tolower-tests: New file.
42945         * tests/unicase/test-u32-tolower.c: New file.
42946
42947         Tests for module 'unicase/u16-tolower'.
42948         * modules/unicase/u16-tolower-tests: New file.
42949         * tests/unicase/test-u16-tolower.c: New file.
42950
42951         Tests for module 'unicase/u8-tolower'.
42952         * modules/unicase/u8-tolower-tests: New file.
42953         * tests/unicase/test-u8-tolower.c: New file.
42954
42955         New module 'unicase/u32-tolower'.
42956         * lib/unicase/u32-tolower.c: New file.
42957         * modules/unicase/u32-tolower: New file.
42958
42959         New module 'unicase/u16-tolower'.
42960         * lib/unicase/u16-tolower.c: New file.
42961         * modules/unicase/u16-tolower: New file.
42962
42963         New module 'unicase/u8-tolower'.
42964         * lib/unicase/u8-tolower.c: New file.
42965         * modules/unicase/u8-tolower: New file.
42966
42967         Tests for module 'unicase/u32-toupper'.
42968         * modules/unicase/u32-toupper-tests: New file.
42969         * tests/unicase/test-u32-toupper.c: New file.
42970
42971         Tests for module 'unicase/u16-toupper'.
42972         * modules/unicase/u16-toupper-tests: New file.
42973         * tests/unicase/test-u16-toupper.c: New file.
42974
42975         Tests for module 'unicase/u8-toupper'.
42976         * modules/unicase/u8-toupper-tests: New file.
42977         * tests/unicase/test-u8-toupper.c: New file.
42978
42979         New module 'unicase/u32-toupper'.
42980         * lib/unicase/u32-toupper.c: New file.
42981         * modules/unicase/u32-toupper: New file.
42982
42983         New module 'unicase/u16-toupper'.
42984         * lib/unicase/u16-toupper.c: New file.
42985         * modules/unicase/u16-toupper: New file.
42986
42987         New module 'unicase/u8-toupper'.
42988         * lib/unicase/u8-toupper.c: New file.
42989         * modules/unicase/u8-toupper: New file.
42990
42991         New module 'unicase/u32-casemap'.
42992         * lib/unicase/u32-casemap.c: New file.
42993         * modules/unicase/u32-casemap: New file.
42994
42995         New module 'unicase/u16-casemap'.
42996         * lib/unicase/u16-casemap.c: New file.
42997         * modules/unicase/u16-casemap: New file.
42998
42999         New module 'unicase/u8-casemap'.
43000         * lib/unicase/unicasemap.h: New file.
43001         * lib/unicase/u8-casemap.c: New file.
43002         * lib/unicase/u-casemap.h: New file.
43003         * modules/unicase/u8-casemap: New file.
43004
43005         New module 'unicase/special-casing'.
43006         * lib/unicase/special-casing.h: New file.
43007         * lib/unicase/special-casing.c: New file.
43008         * lib/unicase/special-casing-table.gperf: New file, generated by
43009         gen-uni-tables.c.
43010         * modules/unicase/special-casing: New file.
43011
43012         Tests for module 'unicase/locale-language'.
43013         * modules/unicase/locale-language-tests: New file.
43014         * tests/unicase/test-locale-language.sh: New file.
43015         * tests/unicase/test-locale-language.c: New file.
43016
43017         New module 'unicase/locale-language'.
43018         * lib/unicase/locale-language.c: New file.
43019         * lib/unicase/locale-languages.gperf: New file.
43020         * modules/unicase/locale-language: New file.
43021
43022         Generate more tables for case conversion and case folding.
43023         * lib/gen-uni-tables.c (SCC_*): New enum items.
43024         (struct special_casing_rule): New type.
43025         (casing_rules, num_casing_rules, allocated_casing_rules): New
43026         variables.
43027         (add_casing_rule, fill_casing_rules): New functions.
43028         (struct casefold_rule): New type.
43029         (casefolding_rules, num_casefolding_rules,
43030         allocated_casefolding_rules): New variables.
43031         (fill_casefolding_rules): New function.
43032         (unicode_casefold): New variable.
43033         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
43034         sort_casing_rules, output_casing_rules): New functions.
43035         (main): Accept to more arguments: SpecialCasing.txt and
43036         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
43037         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
43038         Output mapping for casefolding.
43039
43040         * lib/unicase.h: Include stdbool.h, uninorm.h.
43041         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
43042         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
43043         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
43044         arguments.
43045         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
43046         resultp arguments.
43047         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
43048         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
43049         resultp arguments.
43050         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
43051         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
43052         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
43053         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
43054         declarations.
43055         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
43056
43057 2009-03-08  Bruno Haible  <bruno@clisp.org>
43058
43059         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
43060         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
43061         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
43062         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
43063
43064 2009-03-07  Bruno Haible  <bruno@clisp.org>
43065
43066         Adjust u*_normcmp, u*_normcoll API.
43067         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
43068         u16_normcoll, u32_normcoll): Change failure conventions.
43069         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
43070         errno and return -1.
43071         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
43072
43073 2009-03-07  Bruno Haible  <bruno@clisp.org>
43074
43075         Tests for module 'uninorm/u32-normcoll'.
43076         * modules/uninorm/u32-normcoll-tests: New file.
43077         * tests/uninorm/test-u32-normcoll.c: New file.
43078
43079         Tests for module 'uninorm/u16-normcoll'.
43080         * modules/uninorm/u16-normcoll-tests: New file.
43081         * tests/uninorm/test-u16-normcoll.c: New file.
43082
43083         Tests for module 'uninorm/u8-normcoll'.
43084         * modules/uninorm/u8-normcoll-tests: New file.
43085         * tests/uninorm/test-u8-normcoll.c: New file.
43086
43087 2009-03-07  Bruno Haible  <bruno@clisp.org>
43088
43089         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
43090         tests/uninorm/test-u32-normcmp.c.
43091         * tests/uninorm/test-u32-normcmp.c: Include it.
43092         (test_nonascii): New function, extracted from main. Add some more
43093         tests.
43094         (main): Invoke test_ascii and test_nonascii.
43095         * modules/uninorm/u32-normcmp-tests (Files): Add
43096         tests/uninorm/test-u32-normcmp.h.
43097         (Depends-on): Remove uninorm/u32-normcmp.
43098
43099         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
43100         tests/uninorm/test-u16-normcmp.c.
43101         * tests/uninorm/test-u16-normcmp.c: Include it.
43102         (test_nonascii): New function, extracted from main. Add some more
43103         tests.
43104         (main): Invoke test_ascii and test_nonascii.
43105         * modules/uninorm/u16-normcmp-tests (Files): Add
43106         tests/uninorm/test-u16-normcmp.h.
43107         (Depends-on): Remove uninorm/u16-normcmp.
43108
43109         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
43110         tests/uninorm/test-u8-normcmp.c.
43111         * tests/uninorm/test-u8-normcmp.c: Include it.
43112         (test_nonascii): New function, extracted from main. Add some more
43113         tests.
43114         (main): Invoke test_ascii and test_nonascii.
43115         * modules/uninorm/u8-normcmp-tests (Files): Add
43116         tests/uninorm/test-u8-normcmp.h.
43117         (Depends-on): Remove uninorm/u8-normcmp.
43118
43119 2009-03-07  Bruno Haible  <bruno@clisp.org>
43120
43121         New module 'uninorm/u32-normcoll'.
43122         * lib/uninorm/u32-normcoll.c: New file.
43123         * modules/uninorm/u32-normcoll: New file.
43124
43125         New module 'uninorm/u16-normcoll'.
43126         * lib/uninorm/u16-normcoll.c: New file.
43127         * modules/uninorm/u16-normcoll: New file.
43128
43129         New module 'uninorm/u8-normcoll'.
43130         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
43131         declarations.
43132         * lib/uninorm/u8-normcoll.c: New file.
43133         * lib/uninorm/u-normcoll.h: New file.
43134         * modules/uninorm/u8-normcoll: New file.
43135
43136         New module 'uninorm/u32-normxfrm'.
43137         * lib/uninorm/u32-normxfrm.c: New file.
43138         * modules/uninorm/u32-normxfrm: New file.
43139
43140         New module 'uninorm/u16-normxfrm'.
43141         * lib/uninorm/u16-normxfrm.c: New file.
43142         * modules/uninorm/u16-normxfrm: New file.
43143
43144         New module 'uninorm/u8-normxfrm'.
43145         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
43146         declarations.
43147         * lib/uninorm/u8-normxfrm.c: New file.
43148         * lib/uninorm/u-normxfrm.h: New file.
43149         * modules/uninorm/u8-normxfrm: New file.
43150
43151 2009-03-07  Bruno Haible  <bruno@clisp.org>
43152
43153         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
43154         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
43155         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
43156
43157 2009-03-07  Bruno Haible  <bruno@clisp.org>
43158
43159         New module 'memxfrm'.
43160         * lib/memxfrm.h: New file.
43161         * lib/memxfrm.c: New file.
43162         * modules/memxfrm: New file.
43163
43164 2009-03-07  Bruno Haible  <bruno@clisp.org>
43165
43166         New module 'memcmp2'.
43167         * lib/memcmp2.h: New file.
43168         * lib/memcmp2.c: New file.
43169         * modules/memcmp2: New file.
43170
43171 2009-03-07  Bruno Haible  <bruno@clisp.org>
43172
43173         Tests for module 'uninorm/decomposing-form'.
43174         * modules/uninorm/decomposing-form-tests: New file.
43175         * tests/uninorm/test-decomposing-form.c: New file.
43176
43177         New module 'uninorm/decomposing-form'.
43178         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
43179         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
43180         Add 'decomposing_variant' field.
43181         * lib/uninorm/decomposing-form.c: New file.
43182         * lib/uninorm/nfc.c (uninorm_nfc): Update.
43183         * lib/uninorm/nfd.c (uninorm_nfd): Update.
43184         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
43185         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
43186         * modules/uninorm/decomposing-form: New file.
43187         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
43188         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
43189
43190 2009-03-07  Bruno Haible  <bruno@clisp.org>
43191
43192         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
43193         strings.
43194
43195 2009-03-06  Bruno Haible  <bruno@clisp.org>
43196
43197         Tests for module 'uninorm/u32-normcmp'.
43198         * tests/uninorm/test-u32-normcmp.c: New file.
43199         * modules/uninorm/u32-normcmp-tests: New file.
43200
43201         Tests for module 'uninorm/u16-normcmp'.
43202         * tests/uninorm/test-u16-normcmp.c: New file.
43203         * modules/uninorm/u16-normcmp-tests: New file.
43204
43205         Tests for module 'uninorm/u8-normcmp'.
43206         * tests/uninorm/test-u8-normcmp.c: New file.
43207         * modules/uninorm/u8-normcmp-tests: New file.
43208
43209         New module 'uninorm/u32-normcmp'.
43210         * lib/uninorm/u32-normcmp.c: New file.
43211         * modules/uninorm/u32-normcmp: New file.
43212
43213         New module 'uninorm/u16-normcmp'.
43214         * lib/uninorm/u16-normcmp.c: New file.
43215         * modules/uninorm/u16-normcmp: New file.
43216
43217         New module 'uninorm/u8-normcmp'.
43218         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
43219         declarations.
43220         * lib/uninorm/u8-normcmp.c: New file.
43221         * lib/uninorm/u-normcmp.h: New file.
43222         * modules/uninorm/u8-normcmp: New file.
43223
43224 2009-03-06  Bruno Haible  <bruno@clisp.org>
43225
43226         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
43227         Reported by Eric Blake.
43228
43229 2009-03-06  Eric Blake  <ebb9@byu.net>
43230             Bruno Haible  <bruno@clisp.org>
43231
43232         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
43233         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
43234         condition.
43235         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
43236         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
43237         condition.
43238         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
43239
43240 2009-03-06  Eric Blake  <ebb9@byu.net>
43241
43242         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
43243         to avoid compiler warnings.
43244         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
43245
43246 2009-03-05  Bruno Haible  <bruno@clisp.org>
43247
43248         * tests/test-ftell.c (main): Disable test beyond end of file on
43249         FreeMiNT.
43250         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
43251
43252 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
43253
43254         * lib/filevercmp.c: Move hidden files up in ordering.
43255         * tests/test-filevercmp.c: Add tests for hidden files.
43256
43257 2009-03-04  Bruno Haible  <bruno@clisp.org>
43258
43259         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
43260         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
43261         AM_CFLAGS.
43262         Reported by Simon Josefsson.
43263
43264 2009-03-03  Bruno Haible  <bruno@clisp.org>
43265
43266         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
43267         Reported by Simon Josefsson.
43268
43269         * doc/ld-version-script.texi: Update node reference.
43270
43271 2009-03-03  Bruno Haible  <bruno@clisp.org>
43272
43273         * modules/visibility (License): Change to 'unlimited'.
43274         Suggested by Simon Josefsson.
43275
43276 2009-03-03  Jim Meyering  <meyering@redhat.com>
43277
43278         unlinkdir: cannot_unlink_dir may modify process state
43279         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
43280         it's neither thread-safe nor appropriate for use in a library.
43281
43282 2009-03-03  Eric Blake  <ebb9@byu.net>
43283
43284         test-closein: silence test under Darwin
43285         * tests/test-closein.sh: Ignore stderr from cat, since we don't
43286         care if it dies from EPIPE or EBADF.
43287
43288 2009-03-03  Bruno Haible  <bruno@clisp.org>
43289
43290         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
43291         earlier.
43292         * doc/visibility.texi: Fix @node and @section.
43293
43294 2009-03-03  Simon Josefsson  <simon@josefsson.org>
43295
43296         * doc/gnulib.texi: Link to sections for ld version script and
43297         visibility.
43298         * doc/visibility.texi: Add @node and @section.
43299         * modules/ld-version-script: New module.
43300         * m4/ld-version-script.m4: New file.
43301         * doc/ld-version-script.texi: New file.
43302
43303 2009-03-02  David Lutterkort  <lutter@redhat.com>
43304
43305         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
43306         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43307
43308 2009-03-02  Bruno Haible  <bruno@clisp.org>
43309
43310         * doc/visibility.texi: Mention libtool's -export-symbols option.
43311
43312 2009-03-02  Jim Meyering  <meyering@redhat.com>
43313
43314         announce-gen: new option: --no-print-checksums
43315         * build-aux/announce-gen (usage): Describe it.
43316         (print_checksums): Print a newline here, not in the [*] footnote.
43317         (main): Honor it.
43318
43319 2009-03-01  Bruno Haible  <bruno@clisp.org>
43320
43321         Use socklen_t in the native Windows replacements prototypes.
43322         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
43323         instead of 'int'.
43324         * lib/getsockopt.c (rpl_getsockopt): Likewise.
43325         * lib/setsockopt.c (rpl_setsockopt): Likewise.
43326         * modules/getsockopt (Depends-on): Add socklen.
43327         * modules/setsockopt (Depends-on): Add socklen.
43328
43329 2009-03-01  Bruno Haible  <bruno@clisp.org>
43330
43331         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
43332         least 4.2.
43333
43334 2009-03-01  Eric Blake  <ebb9@byu.net>
43335             Bruno Haible  <bruno@clisp.org>
43336
43337         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
43338         error messages.
43339         * lib/wait-process.c (wait_subprocess): Omit error message about
43340         deadly signal sent to the child of termsigp != NULL.
43341
43342 2009-03-01  Eric Blake  <ebb9@byu.net>
43343
43344         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
43345
43346 2009-03-01  Bruno Haible  <bruno@clisp.org>
43347
43348         Avoid a gcc warning.
43349         * tests/test-sched.c (b): Make global.
43350         Reported by Eric Blake.
43351
43352 2009-01-19  Martin Lambers  <marlam@marlam.de>
43353
43354         Provide POSIX semantics for socket timeout options on W32.
43355         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
43356         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
43357         * modules/setsockopt: Depend on sys_time module for struct timeval.
43358         * modules/getsockopt: Depend on sys_time module for struct timeval.
43359
43360 2009-03-01  Simon Josefsson  <simon@josefsson.org>
43361
43362         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
43363         __USE_GNU, for consistency with netdb.in.h.
43364         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43365
43366 2009-03-01  Bruno Haible  <bruno@clisp.org>
43367
43368         More support for FreeMiNT.
43369         * lib/fseeko.c (rpl_fseeko): Complete last commit.
43370         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43371
43372 2009-03-01  Bruno Haible  <bruno@clisp.org>
43373
43374         More support for FreeMiNT.
43375         * lib/fpurge.c (fpurge): Correct last commit.
43376         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43377
43378 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43379
43380         Fix unportable awk script in vc-list-files.
43381         * build-aux/vc-list-files: In the replacement awk script, use
43382         substr with a second argument of 1, not zero.
43383         Report by Simon Josefsson.
43384
43385 2009-02-28  Bruno Haible  <bruno@clisp.org>
43386
43387         More support for FreeMiNT.
43388         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
43389         to FreeMiNT today.
43390         * lib/fwriting.c (fwriting): Likewise.
43391         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
43392
43393 2009-02-28  Bruno Haible  <bruno@clisp.org>
43394
43395         * tests/test-freadseek.c (main): Disable test beyond end of file on
43396         FreeMiNT.
43397         * tests/test-ftello.c (main): Likewise.
43398         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
43399
43400 2009-02-28  Bruno Haible  <bruno@clisp.org>
43401
43402         Add tentative support for FreeMiNT.
43403         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
43404         * lib/fpurge.c (fpurge): Likewise.
43405         * lib/freadable.c (freadable): Likewise.
43406         * lib/freading.c (freading): Likewise.
43407         * lib/freadptr.c (freadptr): Likewise.
43408         * lib/freadseek.c (freadptrinc): Likewise.
43409         * lib/fseeko.c (rpl_fseeko): Likewise.
43410         * lib/fseterr.c (fseterr): Likewise.
43411         * lib/fwritable.c (fwritable): Likewise.
43412         * lib/fwriting.c (fwriting): Likewise.
43413         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
43414         Hourihane.
43415         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43416
43417 2009-02-28  Bruno Haible  <bruno@clisp.org>
43418
43419         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
43420         SIGCHLD.
43421         Reported by Jim Meyering.
43422
43423 2009-02-28  Bruno Haible  <bruno@clisp.org>
43424
43425         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
43426         Mention the results of these tests on various platforms.
43427         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
43428         order.
43429         * doc/posix-functions/printf.texi: Likewise.
43430         * doc/posix-functions/snprintf.texi: Likewise.
43431         * doc/posix-functions/sprintf.texi: Likewise.
43432         * doc/posix-functions/vfprintf.texi: Likewise.
43433         * doc/posix-functions/vprintf.texi: Likewise.
43434         * doc/posix-functions/vsnprintf.texi: Likewise.
43435         * doc/posix-functions/vsprintf.texi: Likewise.
43436         * doc/glibc-functions/obstack_printf.texi: Likewise.
43437         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
43438
43439 2009-02-28  Bruno Haible  <bruno@clisp.org>
43440
43441         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
43442         Reported by Loïc Minier <lool@dooz.org>.
43443
43444 2009-02-27  Bruno Haible  <bruno@clisp.org>
43445
43446         * gnulib-tool (func_import): Make the sed expression used to create the
43447         sed script for updating the .gitignore file POSIX compliant.
43448         Reported by Eric Blake.
43449
43450 2009-02-27  Bruno Haible  <bruno@clisp.org>
43451
43452         * gnulib-tool (sed): Don't alias as "sed --posix".
43453         Reported by Eric Blake.
43454
43455 2009-02-27  Bruno Haible  <bruno@clisp.org>
43456
43457         Avoid test link errors.
43458         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
43459         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
43460         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
43461         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
43462         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43463
43464 2009-02-27  Bruno Haible  <bruno@clisp.org>
43465
43466         Avoid spurious "(cached)" in configure output.
43467         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
43468         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
43469         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
43470         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
43471         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
43472         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
43473         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
43474         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
43475         Reported by Eric Blake.
43476
43477 2009-02-27  Eric Blake  <ebb9@byu.net>
43478
43479         printf: fix regression in previous patch
43480         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
43481
43482 2009-02-27  Bruno Haible  <bruno@clisp.org>
43483
43484         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
43485         value.
43486         * lib/stdint.in.h: Likewise.
43487         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
43488
43489 2009-02-27  Eric Blake  <ebb9@byu.net>
43490
43491         doc: mention more functions added in cygwin 1.7.0
43492         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
43493         addition.
43494         * doc/posix-functions/open_wmemstream.texi: Likewise.
43495         * doc/posix-functions/wcsnlen.texi: Likewise.
43496         * doc/posix-functions/wcsnrtombs.texi: Likewise.
43497         * doc/posix-functions/wcstod.texi: Likewise.
43498         * doc/posix-functions/wcstof.texi: Likewise.
43499         * doc/posix-functions/wcstoimax.texi: Likewise.
43500         * doc/posix-functions/wcstok.texi: Likewise.
43501         * doc/posix-functions/wcstoumax.texi: Likewise.
43502
43503         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
43504         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
43505         * doc/posix-functions/fprintf.texi: Update.
43506         * doc/posix-functions/printf.texi: Update.
43507         * doc/posix-functions/snprintf.texi: Update.
43508         * doc/posix-functions/sprintf.texi: Update.
43509         * doc/posix-functions/vfprintf.texi: Update.
43510         * doc/posix-functions/vprintf.texi: Update.
43511         * doc/posix-functions/vsnprintf.texi: Update.
43512         * doc/posix-functions/vsprintf.texi: Update.
43513         * doc/glibc-functions/obstack_printf.texi: Update.
43514         * doc/glibc-functions/obstack_vprintf.texi: Update.
43515
43516 2009-02-26  Eric Blake  <ebb9@byu.net>
43517
43518         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
43519         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
43520         compilation bug by using runtime conversion.
43521         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
43522         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
43523         * modules/ceill-tests (Files): Use nan.h.
43524         * modules/floorl-tests (Files): Likewise.
43525         * modules/frexpl-tests (Files): Likewise.
43526         * modules/isnanl-tests (Files): Likewise.
43527         * modules/ldexpl-tests (Files): Likewise.
43528         * modules/roundl-tests (Files): Likewise.
43529         * modules/truncl-tests (Files): Likewise.
43530         * tests/test-ceill.c (main): Use a working NaN.
43531         * tests/test-floorl.c (main): Likewise.
43532         * tests/test-frexpl.c (main): Likewise.
43533         * tests/test-isnan.c (test_long_double): Likewise.
43534         * tests/test-isnanl.h (main): Likewise.
43535         * tests/test-ldexpl.h (main): Likewise.
43536         * tests/test-roundl.h (main): Likewise.
43537         * tests/test-truncl.h (main): Likewise.
43538         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
43539
43540 2009-02-26  Eric Blake  <ebb9@byu.net>
43541             Bruno Haible  <bruno@clisp.org>
43542
43543         Work around a *printf bug with %ls on Solaris.
43544         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
43545         precision is specified, sprintf stops converting the wide string
43546         argument when the number of bytes that have been produced by this
43547         conversion equals or exceeds the precision.
43548         * doc/posix-functions/fprintf.texi: Update.
43549         * doc/posix-functions/printf.texi: Update.
43550         * doc/posix-functions/snprintf.texi: Update.
43551         * doc/posix-functions/sprintf.texi: Update.
43552         * doc/posix-functions/vfprintf.texi: Update.
43553         * doc/posix-functions/vprintf.texi: Update.
43554         * doc/posix-functions/vsnprintf.texi: Update.
43555         * doc/posix-functions/vsprintf.texi: Update.
43556         * doc/glibc-functions/obstack_printf.texi: Update.
43557         * doc/glibc-functions/obstack_vprintf.texi: Update.
43558
43559 2009-02-26  Eric Blake  <ebb9@byu.net>
43560
43561         stdlib: favor compiler check of random.h
43562         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
43563         to avoid an ObjC random.h installed by Swarm.
43564
43565 2009-02-26  Bruno Haible  <bruno@clisp.org>
43566
43567         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
43568         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
43569         Reported by Gary V. Vaughan <gary@gnu.org>.
43570
43571 2009-02-26  Bruno Haible  <bruno@clisp.org>
43572
43573         Fix *printf behaviour regarding the %ls directive.
43574         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
43575         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
43576         NEED_PRINTF_DIRECTIVE_LS.
43577         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
43578         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43579         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43580         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
43581         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
43582         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
43583         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
43584         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43585         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43586         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43587         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43588         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
43589         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43590         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43591         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43592         * doc/posix-functions/fprintf.texi: Update.
43593         * doc/posix-functions/printf.texi: Update.
43594         * doc/posix-functions/snprintf.texi: Update.
43595         * doc/posix-functions/sprintf.texi: Update.
43596         * doc/posix-functions/vfprintf.texi: Update.
43597         * doc/posix-functions/vprintf.texi: Update.
43598         * doc/posix-functions/vsnprintf.texi: Update.
43599         * doc/posix-functions/vsprintf.texi: Update.
43600         * doc/glibc-functions/obstack_printf.texi: Update.
43601         * doc/glibc-functions/obstack_vprintf.texi: Update.
43602         Reported by Eric Blake.
43603
43604 2009-02-25  Bruno Haible  <bruno@clisp.org>
43605
43606         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
43607         with known value.
43608         Reported by Gary V. Vaughan <gary@gnu.org>.
43609
43610 2009-02-25  Bruno Haible  <bruno@clisp.org>
43611
43612         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
43613         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
43614         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
43615         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
43616         Reported by Gary V. Vaughan <gary@gnu.org>.
43617
43618 2009-02-25  Bruno Haible  <bruno@clisp.org>
43619
43620         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
43621         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
43622         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
43623         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
43624         Reported by Gary V. Vaughan <gary@gnu.org>.
43625
43626 2009-02-25  Eric Blake  <ebb9@byu.net>
43627
43628         tests: skip fseek/ftell tests if ungetc is broken
43629         * m4/ungetc.m4: New file.
43630         * modules/fseek-tests: Split test, so ungetc dependency is
43631         separate from rest of test.
43632         * modules/fseeko-tests: Likewise.
43633         * modules/ftell-tests: Likewise.
43634         * modules/ftello-tests: Likewise.
43635         * tests/test-fseek.c (main): Isolate ungetc dependency.
43636         * tests/test-fseeko.c (main): Likewise.
43637         * tests/test-ftell.c (main): Likewise.
43638         * tests/test-ftello.c (main): Likewise.
43639         * tests/test-fseek2.sh: New file.
43640         * tests/test-fseeko2.sh: Likewise.
43641         * tests/test-ftell2.sh: Likewise.
43642         * tests/test-ftello2.sh: Likewise.
43643
43644 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
43645
43646         test-getaddrinfo: fix usage of skip return code 77
43647         * tests/test-gettaddrinfo.c: Return skip code 77 only
43648         for first occurance of skip (4x77 is not 77)
43649
43650 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
43651
43652         strtod: avoid C99 decl-after-statement
43653         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
43654
43655 2009-02-24  Eric Blake  <ebb9@byu.net>
43656
43657         strtod: detect HP-UX 11.31 bug
43658         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
43659         Reported by Gary V. Vaughan.
43660
43661 2009-02-23  Bruno Haible  <bruno@clisp.org>
43662
43663         Fix invalid read past end of memory block.
43664         * lib/vasnprintf.c (DCHAR_SET): Define.
43665         (local_wcslen): Define only when needed.
43666         (local_strnlen, local_wcsnlen): New functions.
43667         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
43668         directives that involve a conversion ourselves.
43669         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
43670         wcsnlen, mbrtowc, wcrtomb.
43671         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
43672         * tests/test-vasprintf-posix.c (test_function): Likewise.
43673         * tests/test-snprintf-posix.h (test_function): Likewise.
43674         * tests/test-sprintf-posix.h (test_function): Likewise.
43675         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43676
43677 2009-02-22  Bruno Haible  <bruno@clisp.org>
43678
43679         Implement new clarified decomposition of Hangul syllables.
43680         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
43681         of type LTV, return only a pairwise decomposition.
43682         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
43683         Likewise.
43684         * tests/uninorm/test-decomposition.c (main): Updated expected result.
43685         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
43686         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
43687
43688 2009-02-22  Bruno Haible  <bruno@clisp.org>
43689
43690         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
43691         zero-length results and shrink excess allocated memory.
43692         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
43693         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
43694         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
43695         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
43696         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
43697         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
43698         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
43699         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
43700         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
43701         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
43702         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
43703         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
43704
43705 2009-02-21  Bruno Haible  <bruno@clisp.org>
43706
43707         * doc/gnulib.texi: Include safe-alloc.texi earlier.
43708         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
43709         spaces after a period. Put a space between a macro name and its
43710         argument list. Trivial rewordings.
43711         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
43712         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
43713         (main): Return 0 explicitly.
43714
43715 2009-02-21  Bruno Haible  <bruno@clisp.org>
43716
43717         Tests for module 'uninorm/filter'.
43718         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
43719         * modules/uninorm/filter-tests: New file.
43720
43721         New module 'uninorm/filter'.
43722         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
43723         uninorm_filter_flush, uninorm_filter_free): New declarations.
43724         * lib/uninorm/uninorm-filter.c: New file.
43725         * modules/uninorm/filter: New file.
43726
43727 2009-02-21  Bruno Haible  <bruno@clisp.org>
43728
43729         Tests for module 'uninorm/nfkc'.
43730         * tests/uninorm/test-nfkc.c: New file.
43731         * tests/uninorm/test-u8-nfkc.c: New file.
43732         * tests/uninorm/test-u16-nfkc.c: New file.
43733         * tests/uninorm/test-u32-nfkc.c: New file.
43734         * tests/uninorm/test-u32-nfkc-big.sh: New file.
43735         * tests/uninorm/test-u32-nfkc-big.c: New file.
43736         * modules/uninorm/nfkc-tests: New file.
43737
43738         New module 'uninorm/nfkc'.
43739         * lib/uninorm/nfkc.c: New file.
43740         * modules/uninorm/nfkc: New file.
43741
43742         Tests for module 'uninorm/nfkd'.
43743         * tests/uninorm/test-nfkd.c: New file.
43744         * tests/uninorm/test-u8-nfkd.c: New file.
43745         * tests/uninorm/test-u16-nfkd.c: New file.
43746         * tests/uninorm/test-u32-nfkd.c: New file.
43747         * tests/uninorm/test-u32-nfkd-big.sh: New file.
43748         * tests/uninorm/test-u32-nfkd-big.c: New file.
43749         * modules/uninorm/nfkd-tests: New file.
43750
43751         New module 'uninorm/nfkd'.
43752         * lib/uninorm/nfkd.c: New file.
43753         * modules/uninorm/nfkd: New file.
43754
43755         Tests for module 'uninorm/nfc'.
43756         * tests/uninorm/test-nfc.c: New file.
43757         * tests/uninorm/test-u8-nfc.c: New file.
43758         * tests/uninorm/test-u16-nfc.c: New file.
43759         * tests/uninorm/test-u32-nfc.c: New file.
43760         * tests/uninorm/test-u32-nfc-big.sh: New file.
43761         * tests/uninorm/test-u32-nfc-big.c: New file.
43762         * modules/uninorm/nfc-tests: New file.
43763
43764         New module 'uninorm/nfc'.
43765         * lib/uninorm/nfc.c: New file.
43766         * modules/uninorm/nfc: New file.
43767
43768         Tests for module 'uninorm/nfd'.
43769         * tests/uninorm/test-nfd.c: New file.
43770         * tests/uninorm/test-u8-nfd.c: New file.
43771         * tests/uninorm/test-u16-nfd.c: New file.
43772         * tests/uninorm/test-u32-nfd.c: New file.
43773         * tests/uninorm/test-u32-nfd-big.sh: New file.
43774         * tests/uninorm/test-u32-nfd-big.c: New file.
43775         * tests/uninorm/test-u32-normalize-big.h: New file.
43776         * tests/uninorm/test-u32-normalize-big.c: New file.
43777         * tests/uninorm/NormalizationTest.txt: New file, created from
43778         Unicode 5.1.0 NormalizationTest.txt.
43779         * modules/uninorm/nfd-tests: New file.
43780
43781         New module 'uninorm/nfd'.
43782         * lib/uninorm/nfd.c: New file.
43783         * modules/uninorm/nfd: New file.
43784
43785         New module 'uninorm/u32-normalize'.
43786         * lib/uninorm/u32-normalize.c: New file.
43787         * modules/uninorm/u32-normalize: New file.
43788
43789         New module 'uninorm/u16-normalize'.
43790         * lib/uninorm/u16-normalize.c: New file.
43791         * modules/uninorm/u16-normalize: New file.
43792
43793         New module 'uninorm/u8-normalize'.
43794         * lib/uninorm/u8-normalize.c: New file.
43795         * lib/uninorm/normalize-internal.h: New file.
43796         * lib/uninorm/u-normalize-internal.h: New file.
43797         * modules/uninorm/u8-normalize: New file.
43798
43799         New module 'uninorm/decompose-internal'.
43800         * lib/uninorm/decompose-internal.c: New file.
43801         * modules/uninorm/decompose-internal: New file.
43802
43803         Tests for module 'uninorm/composition'.
43804         * tests/uninorm/test-composition.c: New file.
43805         * modules/uninorm/composition-tests: New file.
43806
43807         New module 'uninorm/composition'.
43808         * lib/uninorm/composition.c: New file.
43809         * lib/uninorm/composition-table.gperf: New file, generated by
43810         gen-uni-tables.
43811         * modules/uninorm/composition: New file.
43812
43813         Tests for module 'uninorm/compat-decomposition'.
43814         * tests/uninorm/test-compat-decomposition.c: New file.
43815         * modules/uninorm/compat-decomposition-tests: New file.
43816
43817         New module 'uninorm/compat-decomposition'.
43818         * lib/uninorm/decompose-internal.h: New file.
43819         * lib/uninorm/compat-decomposition.c: New file.
43820         * modules/uninorm/compat-decomposition: New file.
43821
43822         Tests for module 'uninorm/canonical-decomposition'.
43823         * tests/uninorm/test-canonical-decomposition.c: New file.
43824         * modules/uninorm/canonical-decomposition-tests: New file.
43825
43826         New module 'uninorm/canonical-decomposition'.
43827         * lib/uninorm/canonical-decomposition.c: New file.
43828         * modules/uninorm/canonical-decomposition: New file.
43829
43830         Tests for module 'uninorm/decomposition'.
43831         * tests/uninorm/test-decomposition.c: New file.
43832         * modules/uninorm/decomposition-tests: New file.
43833
43834         New module 'uninorm/decomposition'.
43835         * lib/uninorm/decomposition.c: New file.
43836         * modules/uninorm/decomposition: New file.
43837
43838         New module 'uninorm/decomposition-table'.
43839         * lib/uninorm/decomposition-table.h: New file.
43840         * lib/uninorm/decomposition-table.c: New file.
43841         * lib/uninorm/decomposition-table1.h: New file, generated by
43842         gen-uni-tables.
43843         * lib/uninorm/decomposition-table2.h: New file, generated by
43844         gen-uni-tables.
43845         * modules/uninorm/decomposition-table: New file.
43846
43847         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
43848         (UC_DECOMP_*): New enumeration items.
43849         (get_decomposition): New function.
43850         (struct decomp_table): New type.
43851         (output_decomposition, output_decomposition_tables): New functions.
43852         (unicode_composition_exclusions): New variable.
43853         (fill_composition_exclusions, debug_output_composition_tables): New
43854         functions.
43855         (main): Accept one more argument. Invoke fill_composition_exclusions.
43856         Output decomposition and composition tables.
43857
43858         New module 'uninorm/base'.
43859         * lib/uninorm.h: New file.
43860         * lib/unictype.h: Update comment.
43861         * modules/uninorm/base: New file.
43862
43863 2009-02-21  David Lutterkort  <lutter@redhat.com>
43864
43865         Tests for module 'safe-alloc'.
43866         * tests/test-safe-alloc.c: New file.
43867         * modules/safe-alloc-tests: New file.
43868
43869         New module 'safe-alloc'.
43870         * lib/safe-alloc.h: New file.
43871         * lib/safe-alloc.c: New file.
43872         * m4/safe-alloc.m4: New file.
43873         * modules/safe-alloc: New file.
43874         * doc/safe-alloc.texi: New file.
43875         * doc/gnulib.texi: Include it.
43876         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
43877         safe-alloc.
43878
43879 2009-02-18  Bruno Haible  <bruno@clisp.org>
43880
43881         Fix link error on non-glibc systems.
43882         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
43883         variable.
43884         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43885
43886 2009-02-18  Jim Meyering  <meyering@redhat.com>
43887
43888         fts: avoid used-uninitialized error due to recent change
43889         * lib/fts.c (fts_read): Guard uses of the new member,
43890         parent->fts_n_dirs_remaining, since it's not relevant for
43891         the parent of a directory specified on the command-line.
43892
43893 2009-02-17  James Youngman  <jay@gnu.org>
43894             Bruno Haible  <bruno@clisp.org>
43895
43896         * m4/include_next.m4: Reformulate comment.
43897
43898 2009-02-16  Jim Meyering  <meyering@redhat.com>
43899
43900         fts: add #if guards so that the fts_lgpl module still builds
43901         * lib/fts.c: Guard just-added hash-table-using parts with
43902         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
43903         Reported by Simon Josefsson.
43904
43905 2009-02-15  Bruno Haible  <bruno@clisp.org>
43906
43907         * modules/array-mergesort-tests: New file.
43908         * tests/test-array-mergesort.c: New file.
43909
43910         New module 'array-mergesort'.
43911         * modules/array-mergesort: New file.
43912         * lib/array-mergesort.h: New file.
43913
43914 2009-02-15  Bruno Haible  <bruno@clisp.org>
43915
43916         Fix 2009-02-07 commit.
43917         * lib/gen-uni-tables.c (output_predicate, output_category,
43918         output_combclass, output_bidi_category, output_decimal_digit,
43919         output_digit, output_numeric, output_mirror, output_scripts,
43920         output_ident_category, output_simple_mapping): Fix format directives.
43921         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
43922
43923 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
43924
43925         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
43926         fixes are available from IBM.
43927
43928 2009-02-13  Jim Meyering  <meyering@redhat.com>
43929
43930         fts: arrange not to stat non-directories in more cases
43931         This makes GNU find (when it doesn't need to stat each file)
43932         *much* more efficient at traversing reiserfs file systems.
43933         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
43934         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
43935         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
43936         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
43937         (leaf_optimization_applies): New function.
43938         (LCO_hash, LCO_compare): New helper functions.
43939         (link_count_optimize_ok): New function.
43940         (fts_stat): Initialize new member (if dir).
43941         (fts_read): Decrement parent's fts_n_dirs_remaining count if
43942         we've just stat'ed a directory.  Skip the stat call when possible.
43943         ---
43944         Note this AFS-related exchange:
43945         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
43946         and note find's pioctl call in find/fstype.c.
43947         But that is necessary only if you want to enable the
43948         optimization for AFS, and for now, I don't.
43949
43950         fts: move a function definition "up" (no semantic change)
43951         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
43952         "up" to precede upcoming use of a related function.
43953
43954 2009-02-11  Jim Meyering  <meyering@redhat.com>
43955
43956         fts: correct internal computation of nlinks (optimization-related)
43957         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
43958         whether the current entry is a directory, so don't test it.
43959
43960 2009-02-10  Bruno Haible  <bruno@clisp.org>
43961
43962         Tests for module 'uniwbrk/ulc-wordbreaks'.
43963         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
43964         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
43965         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
43966
43967         Tests for module 'uniwbrk/u32-wordbreaks'.
43968         * modules/uniwbrk/u32-wordbreaks-tests: New file.
43969         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
43970
43971         Tests for module 'uniwbrk/u16-wordbreaks'.
43972         * modules/uniwbrk/u16-wordbreaks-tests: New file.
43973         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
43974
43975         Tests for module 'uniwbrk/u8-wordbreaks'.
43976         * modules/uniwbrk/u8-wordbreaks-tests: New file.
43977         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
43978
43979 2009-02-10  Bruno Haible  <bruno@clisp.org>
43980
43981         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
43982         property.
43983         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
43984         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
43985         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
43986
43987 2009-02-10  Simon Josefsson  <simon@josefsson.org>
43988
43989         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
43990         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
43991
43992 2009-02-10  Bruno Haible  <bruno@clisp.org>
43993
43994         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
43995         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
43996         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
43997         * lib/unilbrk/u8-possible-linebreaks.c: Update.
43998         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
43999         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
44000
44001 2009-02-09  Simon Josefsson  <simon@josefsson.org>
44002
44003         * lib/sockets.h (gl_fd_to_handle): New function.
44004
44005         * tests/test-sockets.c: Call gl_fd_to_handle.
44006
44007 2009-02-09  Bruno Haible  <bruno@clisp.org>
44008
44009         * doc/havelib.texi: Document the conventions on bi-arch systems.
44010
44011 2009-02-08  Bruno Haible  <bruno@clisp.org>
44012
44013         Document the AC_LIB_LINKFLAGS macro.
44014         * doc/havelib.texi: New file, mostly written on 2005-05-24.
44015         * doc/gnulib.texi: Include it.
44016
44017 2009-02-08  Bruno Haible  <bruno@clisp.org>
44018
44019         Fix wrong order of sections, compared to TOC.
44020         * doc/gnulib.texi: Include relocatable-maint.texi after the
44021         "Regular expressions" node, not before.
44022
44023 2009-02-08  Bruno Haible  <bruno@clisp.org>
44024
44025         Tests for module 'unicase/totitle'.
44026         * modules/unicase/totitle-tests: New file.
44027
44028         Tests for module 'unicase/tolower'.
44029         * modules/unicase/tolower-tests: New file.
44030
44031         Tests for module 'unicase/toupper'.
44032         * modules/unicase/toupper-tests: New file.
44033         * tests/unicase/test-mapping-part1.h: New file.
44034         * tests/unicase/test-mapping-part2.h: New file.
44035
44036         New module 'unicase/totitle'.
44037         * modules/unicase/totitle: New file.
44038         * lib/unicase/totitle.c: New file.
44039
44040         New module 'unicase/tolower'.
44041         * modules/unicase/tolower: New file.
44042         * lib/unicase/tolower.c: New file.
44043
44044         New module 'unicase/toupper'.
44045         * modules/unicase/toupper: New file.
44046         * lib/unicase/toupper.c: New file.
44047         * lib/unicase/simple-mapping.h: New file.
44048
44049         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
44050         (mapping_table): New structure.
44051         (output_simple_mapping): New function.
44052         (main): Invoke output_simple_mapping_test and output_simple_mapping.
44053         * modules/gen-uni-tables (Description): Update.
44054         * lib/unicase/toupper.h: New file, automatically generated by
44055         gen-uni-tables.
44056         * lib/unicase/tolower.h: New file, automatically generated by
44057         gen-uni-tables.
44058         * lib/unicase/totitle.h: New file, automatically generated by
44059         gen-uni-tables.
44060         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
44061         gen-uni-tables.
44062         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
44063         gen-uni-tables.
44064         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
44065         gen-uni-tables.
44066
44067         New module 'unicase/base'.
44068         * modules/unicase/base: New file.
44069         * lib/unicase.h: New file.
44070
44071 2009-02-08  Bruno Haible  <bruno@clisp.org>
44072
44073         New module 'uniwbrk/ulc-wordbreaks'.
44074         * modules/uniwbrk/ulc-wordbreaks: New file.
44075         * lib/uniwbrk/ulc-wordbreaks.c: New file.
44076
44077         New module 'uniwbrk/u32-wordbreaks'.
44078         * modules/uniwbrk/u32-wordbreaks: New file.
44079         * lib/uniwbrk/u32-wordbreaks.c: New file.
44080
44081         New module 'uniwbrk/u16-wordbreaks'.
44082         * modules/uniwbrk/u16-wordbreaks: New file.
44083         * lib/uniwbrk/u16-wordbreaks.c: New file.
44084
44085         New module 'uniwbrk/u8-wordbreaks'.
44086         * modules/uniwbrk/u8-wordbreaks: New file.
44087         * lib/uniwbrk/u8-wordbreaks.c: New file.
44088         * lib/uniwbrk/u-wordbreaks.h: New file.
44089
44090         New module 'uniwbrk/table'.
44091         * modules/uniwbrk/table: New file.
44092         * lib/uniwbrk/wbrktable.h: New file.
44093         * lib/uniwbrk/wbrktable.c: New file.
44094
44095         New module 'uniwbrk/wordbreak-property'.
44096         * modules/uniwbrk/wordbreak-property: New file.
44097         * lib/uniwbrk/wordbreak-property.c: New file.
44098
44099         * lib/gen-uni-tables.c (WBP_*): New enum items.
44100         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
44101         (unicode_org_wbp): New variable.
44102         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
44103         New functions.
44104         (wbp_table): New structure.
44105         (output_wbp, output_wbrk_tables): New functions.
44106         (main): Accept additional argument. Invoke fill_org_wbp,
44107         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
44108         output_wbrk_tables.
44109         * modules/gen-uni-tables (Description): Update.
44110         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
44111         gen-uni-tables.
44112
44113         New module 'uniwbrk/base'.
44114         * modules/uniwbrk/base: New file.
44115         * lib/uniwbrk.h: New file.
44116
44117 2009-02-08  Bruno Haible  <bruno@clisp.org>
44118
44119         Update to Unicode 5.1.0.
44120         * lib/gen-uni-tables.c (is_property_alphabetic): Include
44121         U+2185..U+2188.
44122         (is_property_default_ignorable_code_point): Don't include characters
44123         of category Cc or Cs and not-a-characters.
44124         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
44125         U+0D79, U+109E, U+109F, U+A60C.
44126         * lib/unictype/bidi_of.h: Regenerated.
44127         * lib/unictype/blocks.h: Regenerated.
44128         * lib/unictype/categ_C.h: Regenerated.
44129         * lib/unictype/categ_Cf.h: Regenerated.
44130         * lib/unictype/categ_Cn.h: Regenerated.
44131         * lib/unictype/categ_L.h: Regenerated.
44132         * lib/unictype/categ_Ll.h: Regenerated.
44133         * lib/unictype/categ_Lm.h: Regenerated.
44134         * lib/unictype/categ_Lo.h: Regenerated.
44135         * lib/unictype/categ_Lu.h: Regenerated.
44136         * lib/unictype/categ_M.h: Regenerated.
44137         * lib/unictype/categ_Mc.h: Regenerated.
44138         * lib/unictype/categ_Me.h: Regenerated.
44139         * lib/unictype/categ_Mn.h: Regenerated.
44140         * lib/unictype/categ_N.h: Regenerated.
44141         * lib/unictype/categ_Nd.h: Regenerated.
44142         * lib/unictype/categ_Nl.h: Regenerated.
44143         * lib/unictype/categ_No.h: Regenerated.
44144         * lib/unictype/categ_P.h: Regenerated.
44145         * lib/unictype/categ_Pd.h: Regenerated.
44146         * lib/unictype/categ_Pe.h: Regenerated.
44147         * lib/unictype/categ_Pf.h: Regenerated.
44148         * lib/unictype/categ_Pi.h: Regenerated.
44149         * lib/unictype/categ_Po.h: Regenerated.
44150         * lib/unictype/categ_Ps.h: Regenerated.
44151         * lib/unictype/categ_S.h: Regenerated.
44152         * lib/unictype/categ_Sk.h: Regenerated.
44153         * lib/unictype/categ_Sm.h: Regenerated.
44154         * lib/unictype/categ_So.h: Regenerated.
44155         * lib/unictype/categ_of.h: Regenerated.
44156         * lib/unictype/combining.h: Regenerated.
44157         * lib/unictype/ctype_alnum.h: Regenerated.
44158         * lib/unictype/ctype_alpha.h: Regenerated.
44159         * lib/unictype/ctype_graph.h: Regenerated.
44160         * lib/unictype/ctype_lower.h: Regenerated.
44161         * lib/unictype/ctype_print.h: Regenerated.
44162         * lib/unictype/ctype_punct.h: Regenerated.
44163         * lib/unictype/ctype_upper.h: Regenerated.
44164         * lib/unictype/decdigit.h: Regenerated.
44165         * lib/unictype/digit.h: Regenerated.
44166         * lib/unictype/mirror.h: Regenerated.
44167         * lib/unictype/numeric.h: Regenerated.
44168         * lib/unictype/pr_alphabetic.h: Regenerated.
44169         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
44170         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
44171         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
44172         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
44173         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
44174         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
44175         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
44176         * lib/unictype/pr_combining.h: Regenerated.
44177         * lib/unictype/pr_dash.h: Regenerated.
44178         * lib/unictype/pr_decimal_digit.h: Regenerated.
44179         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
44180         * lib/unictype/pr_deprecated.h: Regenerated.
44181         * lib/unictype/pr_diacritic.h: Regenerated.
44182         * lib/unictype/pr_extender.h: Regenerated.
44183         * lib/unictype/pr_format_control.h: Regenerated.
44184         * lib/unictype/pr_grapheme_base.h: Regenerated.
44185         * lib/unictype/pr_grapheme_extend.h: Regenerated.
44186         * lib/unictype/pr_grapheme_link.h: Regenerated.
44187         * lib/unictype/pr_id_continue.h: Regenerated.
44188         * lib/unictype/pr_id_start.h: Regenerated.
44189         * lib/unictype/pr_ideographic.h: Regenerated.
44190         * lib/unictype/pr_ignorable_control.h: Regenerated.
44191         * lib/unictype/pr_lowercase.h: Regenerated.
44192         * lib/unictype/pr_math.h: Regenerated.
44193         * lib/unictype/pr_numeric.h: Regenerated.
44194         * lib/unictype/pr_other_alphabetic.h: Regenerated.
44195         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
44196         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
44197         * lib/unictype/pr_other_id_continue.h: Regenerated.
44198         * lib/unictype/pr_other_lowercase.h: Regenerated.
44199         * lib/unictype/pr_other_math.h: Regenerated.
44200         * lib/unictype/pr_punctuation.h: Regenerated.
44201         * lib/unictype/pr_sentence_terminal.h: Regenerated.
44202         * lib/unictype/pr_soft_dotted.h: Regenerated.
44203         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
44204         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
44205         * lib/unictype/pr_unified_ideograph.h: Regenerated.
44206         * lib/unictype/pr_uppercase.h: Regenerated.
44207         * lib/unictype/pr_xid_continue.h: Regenerated.
44208         * lib/unictype/pr_xid_start.h: Regenerated.
44209         * lib/unictype/pr_zero_width.h: Regenerated.
44210         * lib/unictype/scripts.h: Regenerated.
44211         * lib/unictype/scripts_byname.gperf: Regenerated.
44212         * lib/unictype/sy_java_ident.h: Regenerated.
44213         * lib/unilbrk/lbrkprop1.h: Regenerated.
44214         * lib/unilbrk/lbrkprop2.h: Regenerated.
44215         * tests/unictype/test-categ_C.c: Regenerated.
44216         * tests/unictype/test-categ_Cf.c: Regenerated.
44217         * tests/unictype/test-categ_Cn.c: Regenerated.
44218         * tests/unictype/test-categ_L.c: Regenerated.
44219         * tests/unictype/test-categ_Ll.c: Regenerated.
44220         * tests/unictype/test-categ_Lm.c: Regenerated.
44221         * tests/unictype/test-categ_Lo.c: Regenerated.
44222         * tests/unictype/test-categ_Lu.c: Regenerated.
44223         * tests/unictype/test-categ_M.c: Regenerated.
44224         * tests/unictype/test-categ_Mc.c: Regenerated.
44225         * tests/unictype/test-categ_Me.c: Regenerated.
44226         * tests/unictype/test-categ_Mn.c: Regenerated.
44227         * tests/unictype/test-categ_N.c: Regenerated.
44228         * tests/unictype/test-categ_Nd.c: Regenerated.
44229         * tests/unictype/test-categ_Nl.c: Regenerated.
44230         * tests/unictype/test-categ_No.c: Regenerated.
44231         * tests/unictype/test-categ_P.c: Regenerated.
44232         * tests/unictype/test-categ_Pd.c: Regenerated.
44233         * tests/unictype/test-categ_Pe.c: Regenerated.
44234         * tests/unictype/test-categ_Pf.c: Regenerated.
44235         * tests/unictype/test-categ_Pi.c: Regenerated.
44236         * tests/unictype/test-categ_Po.c: Regenerated.
44237         * tests/unictype/test-categ_Ps.c: Regenerated.
44238         * tests/unictype/test-categ_S.c: Regenerated.
44239         * tests/unictype/test-categ_Sk.c: Regenerated.
44240         * tests/unictype/test-categ_Sm.c: Regenerated.
44241         * tests/unictype/test-categ_So.c: Regenerated.
44242         * tests/unictype/test-ctype_alnum.c: Regenerated.
44243         * tests/unictype/test-ctype_alpha.c: Regenerated.
44244         * tests/unictype/test-ctype_graph.c: Regenerated.
44245         * tests/unictype/test-ctype_lower.c: Regenerated.
44246         * tests/unictype/test-ctype_print.c: Regenerated.
44247         * tests/unictype/test-ctype_punct.c: Regenerated.
44248         * tests/unictype/test-ctype_upper.c: Regenerated.
44249         * tests/unictype/test-decdigit.h: Regenerated.
44250         * tests/unictype/test-digit.h: Regenerated.
44251         * tests/unictype/test-numeric.h: Regenerated.
44252         * tests/unictype/test-pr_alphabetic.c: Regenerated.
44253         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
44254         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
44255         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
44256         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
44257         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
44258         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
44259         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
44260         * tests/unictype/test-pr_combining.c: Regenerated.
44261         * tests/unictype/test-pr_dash.c: Regenerated.
44262         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
44263         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
44264         * tests/unictype/test-pr_deprecated.c: Regenerated.
44265         * tests/unictype/test-pr_diacritic.c: Regenerated.
44266         * tests/unictype/test-pr_extender.c: Regenerated.
44267         * tests/unictype/test-pr_format_control.c: Regenerated.
44268         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
44269         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
44270         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
44271         * tests/unictype/test-pr_id_continue.c: Regenerated.
44272         * tests/unictype/test-pr_id_start.c: Regenerated.
44273         * tests/unictype/test-pr_ideographic.c: Regenerated.
44274         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
44275         * tests/unictype/test-pr_lowercase.c: Regenerated.
44276         * tests/unictype/test-pr_math.c: Regenerated.
44277         * tests/unictype/test-pr_numeric.c: Regenerated.
44278         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
44279         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
44280         Regenerated.
44281         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
44282         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
44283         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
44284         * tests/unictype/test-pr_other_math.c: Regenerated.
44285         * tests/unictype/test-pr_punctuation.c: Regenerated.
44286         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
44287         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
44288         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
44289         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
44290         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
44291         * tests/unictype/test-pr_uppercase.c: Regenerated.
44292         * tests/unictype/test-pr_xid_continue.c: Regenerated.
44293         * tests/unictype/test-pr_xid_start.c: Regenerated.
44294         * tests/unictype/test-pr_zero_width.c: Regenerated.
44295
44296         Update to Unicode 5.1.0.
44297         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
44298         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
44299         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
44300         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
44301         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
44302         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
44303         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
44304         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
44305         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
44306         (nonspacing_table_ind): Update.
44307         * tests/uniwidth/test-uc_width2.sh: Update expected result.
44308
44309         Update to Unicode 5.1.0.
44310         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
44311         code transform.
44312         * lib/uniname/uniname.c (unicode_character_name,
44313         unicode_name_character): Add the range 0x1Fxxx to the code transform.
44314         * lib/uniname/uninames.h: Regenerated.
44315         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
44316
44317 2009-02-07  Bruno Haible  <bruno@clisp.org>
44318
44319         Merge gen-ctype and gen-lbrk into a single program.
44320         * lib/gen-uni-tables.c: New file, incorporating
44321         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
44322         Add directory prefixes to the names of the generated files.
44323         * lib/unictype/gen-ctype.c: Remove file.
44324         * lib/unilbrk/gen-lbrk.c: Remove file.
44325         * modules/gen-uni-tables: New file.
44326         * modules/unictype/gen-ctype: Remove file.
44327         * modules/unilbrk/gen-lbrk: Remove file.
44328
44329 2009-02-07  Bruno Haible  <bruno@clisp.org>
44330
44331         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
44332
44333         New module 'unistr/u32-strcoll'.
44334         * modules/unistr/u32-strcoll: New file.
44335         * lib/unistr/u32-strcoll.c: New file.
44336
44337         New module 'unistr/u16-strcoll'.
44338         * modules/unistr/u16-strcoll: New file.
44339         * lib/unistr/u16-strcoll.c: New file.
44340
44341         New module 'unistr/u8-strcoll'.
44342         * modules/unistr/u8-strcoll: New file.
44343         * lib/unistr/u8-strcoll.c: New file.
44344         * lib/unistr/u-strcoll.h: New file.
44345
44346 2009-02-07  Bruno Haible  <bruno@clisp.org>
44347
44348         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
44349         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
44350         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
44351         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
44352         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
44353         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
44354
44355 2009-02-07  Bruno Haible  <bruno@clisp.org>
44356
44357         Make 64-bit clean.
44358         * lib/unictype/gen-ctype.c (output_predicate, output_category,
44359         output_combclass, output_bidi_category, output_decimal_digit,
44360         output_digit, output_numeric, output_mirror, output_scripts,
44361         output_ident_category): Use proper width specifier in format strings.
44362
44363 2009-02-07  Bruno Haible  <bruno@clisp.org>
44364
44365         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
44366         failure behaviour.
44367
44368 2009-02-07  Jim Meyering  <meyering@redhat.com>
44369
44370         regex: avoid compilation failure with upcoming gcc-4.4
44371         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
44372         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
44373         "... error: integer overflow in preprocessor expression".
44374
44375 2009-02-05  Ben Pfaff  <blp@gnu.org>
44376
44377         Fix link errors on Windows when close module is used.
44378         * modules/close: Add $(LIB_CLOSE) to Link section.
44379         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
44380         $(LIB_CLOSE) on Windows.
44381
44382 2009-02-05  Jim Meyering  <meyering@redhat.com>
44383
44384         still avoid unused-parameter warnings, but do it cleanly
44385         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
44386         (get_fs_usage): Cast to void instead.
44387         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
44388         (dev_from_mount_options, read_file_system_list): Cast to void.
44389         Prompted by Bruno Haible.
44390
44391 2009-02-04  Jim Meyering  <meyering@redhat.com>
44392
44393         fsusage.c: correct copyright year
44394         * lib/fsusage.c: Reflect year in which the change is pushed into
44395
44396         avoid misc. warnings
44397         * lib/fsusage.c (UNUSED_PARAM): Define.
44398         (get_fs_usage): Mark parameter "disk" as unused.
44399         * lib/getugroups.c (getgrent): Use "void" in prototype.
44400         * lib/mountlist.c: Mark unused parameters.
44401         (read_file_system_list): Declare a local with "const".
44402         * lib/nanosleep.c (getnow): Declare static.
44403         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
44404
44405         dirfd: set errno upon failure
44406         * lib/dirfd.c: Include <errno.h>.
44407         Set errno to ENOTSUP when returning -1.
44408         * modules/dirfd (Depends-on): Add errno.
44409         Suggested by John Kodis <kodis@comcast.net>.
44410
44411 2009-02-01  Bruno Haible  <bruno@clisp.org>
44412
44413         Don't assume sizeof (long) >= sizeof (void *).
44414         * lib/memcmp.c: Include stdint.h.
44415         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
44416         srcp2 to 'const byte *'.
44417         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
44418         types to uintptr_t.
44419         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
44420         * modules/memcmp (Depends-on): Add stdint.
44421         Reported by Ozkan Sezer <sezeroz@gmail.com>.
44422
44423 2009-01-30  Eric Blake  <ebb9@byu.net>
44424
44425         fix more require-before-expand issues
44426         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
44427         expand, AC_PROG_AWK.
44428         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
44429
44430 2009-01-28  Eric Blake  <ebb9@byu.net>
44431
44432         version-etc: use consistent URL formatting
44433         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
44434         Improve formatting.  Use fputs for string without %.
44435
44436 2009-01-28  Jim Meyering  <meyering@redhat.com>
44437
44438         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
44439         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
44440         "underquoted definition of NAME" from autoconf-2.59.
44441
44442 2009-01-28  Bruno Haible  <bruno@clisp.org>
44443
44444         * doc/gnulib.texi: Add "Obsolete modules" to index.
44445
44446 2009-01-28  Jim Meyering  <meyering@redhat.com>
44447
44448         useless-if-before-free: recognize more variants
44449         * build-aux/useless-if-before-free: Also recognize e.g.,
44450         if (NULL != p) free (p);
44451
44452 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
44453
44454         test-getaddrinfo: skip (don't fail) this test when there's no network
44455         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
44456         on the presumption that it means you lack network access.
44457
44458 2009-01-26  Jim Meyering  <meyering@redhat.com>
44459
44460         fflush: avoid warnings on modern systems
44461         * lib/fflush.c (rpl_fflush): Move declarations of locals,
44462         pos and result, into scopes where they're used.
44463
44464 2009-01-26  Eric Blake  <ebb9@byu.net>
44465
44466         Silence warning reintroduced by recent extensions patch.
44467         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
44468         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
44469         autoconf.
44470
44471         Backport improved autoconf semantics of AC_DEFUN_ONCE.
44472         * m4/00gnulib.m4: New file.
44473         * gnulib-tool (func_get_filelist): Always use it.
44474         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
44475         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
44476
44477 2009-01-25  Bruno Haible  <bruno@clisp.org>
44478
44479         Make test-quotearg work on MacOS X and AIX.
44480         * tests/test-quotearg.sh: New file.
44481         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
44482         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
44483         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
44484         include <libintl.h>.
44485         (fake_locale): Remove variable.
44486         (gettext, dgettext, dcgettext): Remove functions.
44487         (main): Instead of setting a fake locale, set a real locale. Call
44488         textdomain and bindtextdomain.
44489         * modules/quotearg-tests (Files): Add the new files.
44490         (Depends-on): Add gettext, setenv, unsetenv.
44491         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
44492         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
44493         Augment TESTS_ENVIRONMENT.
44494
44495 2009-01-25  Bruno Haible  <bruno@clisp.org>
44496
44497         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
44498         fr_FR.ISO8859-1 locale on MacOS X.
44499         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
44500         ja_JP.eucJP locale on MacOS X.
44501         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
44502         zh_CN.GB18030 locale on MacOS X.
44503
44504 2009-01-25  Bruno Haible  <bruno@clisp.org>
44505
44506         Avoid link errors on MacOS X 10.3.
44507         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
44508         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
44509
44510 2009-01-25  Bruno Haible  <bruno@clisp.org>
44511
44512         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
44513         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
44514         * modules/pipe (Files): Remove m4/posix_spawn.m4.
44515         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
44516         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
44517         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
44518         posix_spawnattr_init, posix_spawnattr_setsigmask,
44519         posix_spawnattr_setflags, posix_spawnattr_destroy.
44520
44521         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
44522         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
44523         * modules/execute (Files): Remove m4/posix_spawn.m4.
44524         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
44525         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
44526         posix_spawnattr_init, posix_spawnattr_setsigmask,
44527         posix_spawnattr_setflags, posix_spawnattr_destroy.
44528
44529 2009-01-25  Bruno Haible  <bruno@clisp.org>
44530
44531         * lib/glthread/threadlib.c: Include <stdlib.h>.
44532
44533 2009-01-25  Bruno Haible  <bruno@clisp.org>
44534
44535         * lib/glthread/threadlib.c (dummy): New declaration.
44536
44537 2009-01-25  Bruno Haible  <bruno@clisp.org>
44538
44539         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
44540         multibyte characters also for the GB18030 encoding. Don't crash when
44541         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
44542
44543 2009-01-25  Bruno Haible  <bruno@clisp.org>
44544
44545         Avoid redefining 'struct random_data' on OSF/1 5.1.
44546         * lib/stdlib.in.h: Include <random.h> if it exists.
44547         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
44548         HAVE_RANDOM_H. Include <random.h> when testing whether
44549         'struct random_data' exists.
44550         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
44551
44552 2009-01-25  Bruno Haible  <bruno@clisp.org>
44553
44554         Don't install charset.alias on MacOS X >= 10.3.
44555         * lib/localcharset.c (DARWIN7): New macro.
44556         (get_charset_aliases): Hardcode the result for Darwin7.
44557         * modules/localcharset (install-exec-local): Don't install
44558         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
44559
44560 2009-01-25  Bruno Haible  <bruno@clisp.org>
44561
44562         Don't install charset.alias on mingw and Cygwin.
44563         * modules/localcharset (install-exec-local): Don't install
44564         charset.alias on mingw and Cygwin, if the file does not yet exist.
44565         The result for these platforms is hardcoded in localcharset.c.
44566
44567 2009-01-25  Bruno Haible  <bruno@clisp.org>
44568
44569         Make it possible again to use AC_GNU_SOURCE together with gnulib.
44570         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
44571         before requiring AC_USE_SYSTEM_EXTENSIONS.
44572
44573 2009-01-25  Jim Meyering  <meyering@redhat.com>
44574
44575         c-strtod: avoid warnings
44576         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
44577         "assignment discards qualifiers from pointer target type" warnings.
44578
44579 2009-01-24  Bruno Haible  <bruno@clisp.org>
44580
44581         Add support for non-UTF-8 locales on MacOS X.
44582         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
44583         canonical encodings. For Darwin 7 and newer, don't map traditional
44584         encodings to UTF-8.
44585         Reported by Vincent Lefevre <vincent@vinc17.org>
44586         at <http://savannah.gnu.org/bugs/?25235>.
44587
44588 2009-01-24  Bruno Haible  <bruno@clisp.org>
44589
44590         * doc/gnulib.texi (Obsolete modules): New section.
44591         Reported by Mike Frysinger <vapier@gentoo.org>.
44592
44593 2009-01-24  Bruno Haible  <bruno@clisp.org>
44594
44595         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
44596         (%.dvi): New rule.
44597
44598 2009-01-24  Bruno Haible  <bruno@clisp.org>
44599
44600         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
44601         Reported by Eric Blake.
44602
44603 2009-01-24  Bruno Haible  <bruno@clisp.org>
44604
44605         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
44606         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
44607         Reported by Gary V. Vaughan <gary@gnu.org>.
44608
44609 2009-01-24  Bruno Haible  <bruno@clisp.org>
44610
44611         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
44612
44613 2009-01-23  Bruno Haible  <bruno@clisp.org>
44614
44615         Make c-strtod, c-strtold usable in libraries.
44616         * lib/c-strtod.c: Include string.h instead of xalloc.h.
44617         (C_STRTOD): Call strdup instead of xstrdup.
44618         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
44619         * modules/c-strtold (Depends-on): Likewise.
44620         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
44621         * NEWS: Mention the change.
44622         Reported by Michael Gold <mgold@ncf.ca>.
44623
44624 2009-01-23  Jim Meyering  <meyering@redhat.com>
44625
44626         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
44627         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
44628         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
44629
44630 2009-01-23  Simon Josefsson  <simon@josefsson.org>
44631
44632         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
44633         GNU CoreUtils.
44634         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
44635         * modules/version-etc (Description): Update.
44636
44637 2009-01-22  Bruno Haible  <bruno@clisp.org>
44638
44639         Cache the C locale object.
44640         * lib/c-strtod.c (c_locale_cache): New variable.
44641         (c_locale): New function.
44642         (C_STRTOD): Use it, and don't call freelocale.
44643         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
44644         Suggested by Paolo Bonzini.
44645
44646 2009-01-21  Bruno Haible  <bruno@clisp.org>
44647
44648         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
44649         conditions other than overflow.
44650
44651 2009-01-21  Bruno Haible  <bruno@clisp.org>
44652
44653         * lib/c-strtod.c: Include errno.h.
44654         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
44655         value from STRTOD_L and STRTOD.
44656
44657 2009-01-21  Bruno Haible  <bruno@clisp.org>
44658         and Jim Meyering  <meyering@redhat.com>
44659
44660         nanosleep: skip configure test (fail it) for apple universal builds
44661         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
44662         universal builds, assume that nanosleep does not work.
44663         * modules/nanosleep (Depends-on): Add multiarch.
44664
44665         mktime: skip configure test (fail it) for apple universal builds
44666         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
44667         universal builds, assume that mktime does not work.
44668         * modules/mktime (Depends-on): Add multiarch.
44669
44670 2009-01-21  Eric Blake  <ebb9@byu.net>
44671
44672         multiarch: avoid expand-before-require warning
44673         * modules/multiarch (configure.ac): Require, rather than expand,
44674         gl_MULTIARCH.
44675         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
44676         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
44677         enforce that all clients require it.  Partial reversion of
44678         2008-12-29 patch.
44679
44680         error: avoid expand-before-require warning
44681         * modules/errno (configure.ac): Require, rather than expand,
44682         gl_HEADER_ERRNO_H.
44683         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
44684         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
44685         enforce that all clients require it.
44686
44687         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
44688         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
44689         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
44690         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
44691
44692 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
44693
44694         Revert:
44695         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44696
44697         regex: do not depend on obsolete modules.
44698         * modules/regex: Remove memcmp and memmove.
44699
44700 2009-01-20  Bruno Haible  <bruno@clisp.org>
44701
44702         Make the 'link' module link on Windows NT 4.
44703         * lib/link.c (_WIN32_WINNT): Don't define.
44704         (CreateHardLinkFuncType): New type.
44705         (CreateHardLinkFunc, initialized): New variables.
44706         (initialize): New function.
44707         (link): Invoke CreateHardLink indirectly through the function pointer.
44708
44709 2009-01-20  Bruno Haible  <bruno@clisp.org>
44710
44711         Fix compilation failure on mingw.
44712         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
44713
44714 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
44715
44716         * doc/c-strtod.texi: Mention a couple of restrictions.
44717
44718 2009-01-20  Jim Meyering  <meyering@redhat.com>
44719
44720         gettimeofday: move more declarations out of functions
44721         * lib/gettimeofday.c: Move extern declarations of tzset and
44722         gmtime out of containing functions.  Prompted by Bruno Haible.
44723
44724 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44725
44726         regex: do not depend on obsolete modules.
44727         * modules/regex: Remove memcmp and memmove.
44728
44729 2009-01-19  Bruno Haible  <bruno@clisp.org>
44730
44731         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44732         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
44733         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44734         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
44735         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
44736
44737 2009-01-19  Bruno Haible  <bruno@clisp.org>
44738
44739         * tests/test-link.c: Include <errno.h>.
44740         (main): Exit with code 77 when a hard link cannot be created due to
44741         the file system.
44742         * tests/test-link.sh: Skip test when a hard link cannot be created due
44743         to the file system.
44744         Suggested by Eric Blake.
44745
44746 2009-01-19  Martin Lambers  <marlam@marlam.de>
44747
44748         * modules/link-tests: New file.
44749         * tests/test-link.sh: New file.
44750         * tests/test-link.c: New file.
44751
44752 2009-01-19  Eric Blake  <ebb9@byu.net>
44753
44754         doc: mention another function added in cygwin 1.7.0
44755         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
44756         Another new function in cygwin 1.7.
44757
44758 2009-01-19  Bruno Haible  <bruno@clisp.org>
44759
44760         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44761         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
44762         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
44763         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44764         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
44765         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
44766         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
44767         * m4/md4.m4 (gl_MD4): Likewise.
44768         * m4/md5.m4 (gl_MD5): Likewise.
44769         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
44770         * m4/sha1.m4 (gl_SHA1): Likewise.
44771         * m4/sha256.m4 (gl_SHA256): Likewise.
44772         * m4/sha512.m4 (gl_SHA512): Likewise.
44773
44774 2009-01-19  Bruno Haible  <bruno@clisp.org>
44775
44776         * modules/uniname/uniname-tests (Depends-on): Add progname.
44777         * tests/uniname/test-uninames.c: Include progname.h.
44778         (main): Call set_program_name.
44779
44780         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
44781         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
44782         (main): Call set_program_name.
44783
44784         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
44785         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
44786         (main): Call set_program_name.
44787
44788         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
44789         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
44790         (main): Call set_program_name.
44791
44792         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
44793         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
44794         (main): Call set_program_name.
44795
44796         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
44797         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
44798         (main): Call set_program_name.
44799
44800         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
44801         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
44802         (main): Call set_program_name.
44803
44804         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
44805         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
44806         (main): Call set_program_name.
44807
44808         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
44809         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
44810         (main): Call set_program_name.
44811
44812 2009-01-19  Eric Blake  <ebb9@byu.net>
44813
44814         test-unistd: test previous patch
44815         * tests/test-unistd.c: Test *_FILENO macros.
44816
44817         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
44818         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44819         Guarantee a definition.
44820         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
44821         * modules/unistd-safer (Depends-on): Add dependency on unistd.
44822         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
44823         * lib/dup-safer.c (STDERR_FILENO): Likewise.
44824         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44825         Likewise.
44826         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
44827         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
44828         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44829         Likewise.
44830         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
44831         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
44832         (STDERR_FILENO): Likewise.
44833         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
44834         (STDERR_FILENO): Likewise.
44835         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
44836         (STDERR_FILENO): Likewise.
44837         Reported by Elbert Pol.
44838
44839 2009-01-19  Eric Blake  <ebb9@byu.net>
44840
44841         doc: mention more functions added in cygwin 1.7.0
44842         * doc/posix-functions/abort.texi (abort): Update wording related
44843         to cygwin.
44844         * doc/posix-functions/daylight.texi (daylight): Likewise.
44845         * doc/posix-functions/optarg.texi (optarg): Likewise.
44846         * doc/posix-functions/optarg.texi (opterr): Likewise.
44847         * doc/posix-functions/optarg.texi (optind): Likewise.
44848         * doc/posix-functions/optarg.texi (optopt): Likewise.
44849         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
44850         worked in 1.5.x, and was withdrawn in 1.7.
44851         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
44852         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
44853         cygwin versions.
44854         * doc/posix-functions/perror.texi (perror): Likewise.
44855         * doc/posix-functions/printf.texi (printf): Likewise.
44856         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
44857         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
44858         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
44859         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
44860         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
44861         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
44862         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
44863         Likewise.
44864         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
44865         Likewise.
44866         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
44867         this function.
44868         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
44869         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
44870         Likewise.
44871         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
44872         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
44873         * doc/posix-functions/confstr.texi (confstr): Likewise.
44874         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
44875         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
44876         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
44877         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
44878         * doc/posix-functions/fputws.texi (fputws): Likewise.
44879         * doc/posix-functions/fwide.texi (fwide): Likewise.
44880         * doc/posix-functions/getwc.texi (getwc): Likewise.
44881         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
44882         * doc/posix-functions/putwc.texi (putwc): Likewise.
44883         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
44884         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
44885         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
44886         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
44887         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
44888         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
44889         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
44890         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
44891         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
44892         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
44893         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
44894
44895 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44896
44897         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
44898         * lib/ioctl.c: Include <sys/ioctl.h>.
44899
44900 2009-01-19  Simon Josefsson  <simon@josefsson.org>
44901
44902         * modules/getdate-tests (Depends-on): Add progname.
44903         * tests/test-getdate.c: Use progname module, to avoid link errors
44904         on non-glibc systems.
44905
44906 2009-01-18  Simon Josefsson  <simon@josefsson.org>
44907
44908         * modules/filenamecat-tests (Depends-on): Add progname.
44909         * modules/fstrcmp-tests (Depends-on): Likewise.
44910
44911         * tests/test-filenamecat.c: Use progname module, to avoid link
44912         errors on non-glibc systems.
44913         * tests/test-fstrcmp.c: Likewise.
44914
44915 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44916
44917         gettimeofday: avoid warning: nested extern declaration of 'localtime'
44918         * lib/gettimeofday.c: Move extern declaration out of function.
44919
44920 2009-01-18  Bruno Haible  <bruno@clisp.org>
44921
44922         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
44923         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
44924         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
44925
44926 2009-01-18  Bruno Haible  <bruno@clisp.org>
44927
44928         * lib/strftime.c (MEMPCPY): Remove unused macro.
44929         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
44930
44931 2009-01-18  Martin Lambers  <marlam@marlam.de>
44932
44933         New module 'link'.
44934         * lib/unistd.in.h (link): New declaration.
44935         * lib/link.c: New file.
44936         * m4/link.m4: New file.
44937         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
44938         HAVE_LINK.
44939         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
44940         * modules/link: New file.
44941         * doc/posix-functions/link.texi: Mention the new module.
44942
44943 2009-01-18  Bruno Haible  <bruno@clisp.org>
44944
44945         * tests/test-avltree_list.c (main): Call set_program_name.
44946         * tests/test-avltree_oset.c (main): Likewise.
44947         * tests/test-obstack-printf.c: Include progname.h.
44948         (main): Call set_program_name.
44949         * tests/test-quotearg.c: Include progname.h.
44950         (main): Call set_program_name.
44951         * tests/test-xmemdup0.c: Include progname.h.
44952         (main): Call set_program_name.
44953
44954 2009-01-18  Bruno Haible  <bruno@clisp.org>
44955
44956         New module 'alphasort'.
44957         * lib/dirent.in.h (alphasort): New declaration.
44958         * lib/alphasort.c: New file, from glibc with modifications.
44959         * m4/alphasort.m4: New file.
44960         * modules/alphasort: New file.
44961         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
44962         HAVE_ALPHASORT.
44963         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
44964         HAVE_ALPHASORT.
44965         * doc/posix-functions/alphasort.texi: Mention the new module and the
44966         portability problems.
44967
44968 2009-01-18  Bruno Haible  <bruno@clisp.org>
44969
44970         New module 'scandir'.
44971         * lib/dirent.in.h (scandir): New declaration.
44972         * lib/scandir.c: New file, from glibc with modifications.
44973         * m4/scandir.m4: New file.
44974         * modules/scandir: New file.
44975         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
44976         HAVE_SCANDIR.
44977         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
44978         HAVE_SCANDIR.
44979         * doc/posix-functions/scandir.texi: Mention the new module and the
44980         portability problems.
44981
44982 2009-01-17  Bruno Haible  <bruno@clisp.org>
44983
44984         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
44985         Update documentation.
44986         (func_remove_suffix): Escape all dots in the suffix. Update
44987         documentation.
44988         (func_filter_filelist): Update documentation.
44989         Reported by Ralf Wildenhues.
44990
44991 2009-01-17  Bruno Haible  <bruno@clisp.org>
44992
44993         * modules/dprintf-posix-tests: New file.
44994         * tests/test-dprintf-posix.sh: New file.
44995         * tests/test-dprintf-posix.c: New file.
44996
44997         New modules 'dprintf', 'dprintf-posix'.
44998         * lib/stdio.in.h (dprintf): New declaration.
44999         * lib/dprintf.c: New file.
45000         * m4/dprintf.m4: New file.
45001         * m4/dprintf-posix.m4: New file.
45002         * modules/dprintf: New file.
45003         * modules/dprintf-posix: New file.
45004         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
45005         HAVE_DPRINTF, REPLACE_DPRINTF.
45006         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
45007         HAVE_DPRINTF, REPLACE_DPRINTF.
45008         * doc/posix-functions/dprintf.texi: Mention the new modules.
45009
45010 2009-01-17  Bruno Haible  <bruno@clisp.org>
45011
45012         * modules/vdprintf-posix-tests: New file.
45013         * tests/test-vdprintf-posix.sh: New file.
45014         * tests/test-vdprintf-posix.c: New file.
45015
45016         New modules 'vdprintf', 'vdprintf-posix'.
45017         * lib/stdio.in.h (vdprintf): New declaration.
45018         * lib/vdprintf.c: New file.
45019         * m4/vdprintf.m4: New file.
45020         * m4/vdprintf-posix.m4: New file.
45021         * modules/vdprintf: New file.
45022         * modules/vdprintf-posix: New file.
45023         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
45024         HAVE_VDPRINTF, REPLACE_VDPRINTF.
45025         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
45026         HAVE_VDPRINTF, REPLACE_VDPRINTF.
45027         * doc/posix-functions/vdprintf.texi: Mention the new modules.
45028
45029 2009-01-17  Bruno Haible  <bruno@clisp.org>
45030
45031         Fix replacement of fopen on mingw.
45032         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
45033         mingw.
45034
45035 2009-01-17  Bruno Haible  <bruno@clisp.org>
45036
45037         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
45038         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
45039
45040 2009-01-17  Bruno Haible  <bruno@clisp.org>
45041
45042         Avoid test-fflush2.sh failure on mingw.
45043         * tests/test-fflush2.c: Include binary-io.h.
45044         (main): Put standard input into binary mode.
45045         * modules/fflush-tests (Depends-on): Add binary-io.
45046
45047 2009-01-17  Bruno Haible  <bruno@clisp.org>
45048
45049         * lib/wchar.in.h: In another particular situation, include only the
45050         system's <wchar.h> file.
45051         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
45052         Reported by Albert Chin-A-Young <china@thewrittenword.com>
45053         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
45054
45055 2009-01-17  Bruno Haible  <bruno@clisp.org>
45056
45057         Support for stripping executables in --enable-relocatable.
45058         * build-aux/install-reloc: Expect one more argument, or an environment
45059         variable RELOC_STRIP_PROG. If set, strip the destination program and
45060         its wrapper.
45061         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
45062         RELOC_STRIP_PROG.
45063         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
45064         to set RELOCATABLE_STRIP.
45065         * NEWS: Mention the new Makefile requirement.
45066
45067 2009-01-17  Bruno Haible  <bruno@clisp.org>
45068
45069         * build-aux/install-reloc: Remove debugging information left over by
45070         C compiler on MacOS X.
45071
45072 2009-01-17  Bruno Haible  <bruno@clisp.org>
45073
45074         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
45075         * lib/progreloc.c (find_executable): Fix type of pointer passed to
45076         _NSGetExecutablePath.
45077
45078 2009-01-16  Jim Meyering  <meyering@redhat.com>
45079
45080         strerror: avoid warnings about discarding "const"
45081         * lib/strerror.c (rpl_strerror): Instead of returning a const
45082         string from each and every "case", use a variable, and add a single
45083         cast after the switch.
45084
45085 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
45086
45087         * lib/arpa_inet.in.h: Add extern "C" block for C++.
45088
45089 2009-01-16  Bruno Haible  <bruno@clisp.org>
45090
45091         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
45092         array initializer syntax that also works in C++ mode.
45093         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45094
45095 2009-01-16  Jim Meyering  <meyering@redhat.com>
45096
45097         poll: suppress a warning
45098         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
45099         to ignore "...unsigned expression < 0 is always false" warnings.
45100
45101 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
45102
45103         poll: remove declarations of unused variables
45104         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
45105         sockbuf and optlen.
45106
45107 2009-01-15  Bruno Haible  <bruno@clisp.org>
45108
45109         Make fflush-after-ungetc POSIX compliant on BSD systems.
45110         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
45111         (clear_ungetc_buffer): Implement also for other systems.
45112         (rpl_fflush): On glibc systems, invoke
45113         clear_ungetc_buffer_preserving_position. Otherwise, invoke
45114         clear_ungetc_buffer after fetching the stream's position, not before.
45115
45116 2009-01-15  Bruno Haible  <bruno@clisp.org>
45117
45118         Make fflush-after-ungetc POSIX compliant on glibc systems.
45119         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
45120         after ungetc.
45121         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
45122         (rpl_fflush): On glibc systems, simply call the system's fflush
45123         function after clearing the ungetc buffer.
45124         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
45125         Instead, lseek only to the end of file, then use the system's fseeko
45126         for the rest. On glibc systems, reset the EOF indicator bit.
45127
45128 2009-01-15  Jim Meyering  <meyering@redhat.com>
45129
45130         openmp.m4: revert quote-adding change, for portability to older autoconf
45131         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
45132         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
45133         Simon Josefsson noticed the problem when using autoconf-2.61.
45134
45135 2009-01-15  Bruno Haible  <bruno@clisp.org>
45136
45137         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
45138         * tests/test-fflush2.c (ASSERT): Always fail.
45139         (main): Add two tests for fflush() after ungetc(), taking into account
45140         the Austin Group's clarification.
45141         Suggested by Eric Blake.
45142
45143 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
45144
45145         mktime.m4: remove K&R-style function prototypes
45146         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
45147         for the Sun C++ compiler.
45148
45149 2009-01-14  Bruno Haible  <bruno@clisp.org>
45150
45151         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
45152         while including <wchar.h>.
45153         * lib/wchar.in.h: In two particular situations on HP-UX, include only
45154         the system's <wchar.h> file.
45155         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45156
45157 2009-01-14  Bruno Haible  <bruno@clisp.org>
45158
45159         * m4/csharp.m4: Don't mention gettext on the serial number line.
45160         * m4/csharpexec.m4: Likewise.
45161         * m4/eaccess.m4: Likewise.
45162         * m4/javaexec.m4: Likewise.
45163         * m4/sig_atomic_t.m4: Likewise.
45164         * m4/tmpdir.m4: Likewise.
45165         * m4/intldir.m4: Bump gettext version.
45166         * m4/lib-ld.m4: Likewise.
45167
45168 2009-01-14  Bruno Haible  <bruno@clisp.org>
45169
45170         * lib/progname.c (set_program_name): Add more comments.
45171         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
45172
45173 2009-01-14  Simon Josefsson  <simon@josefsson.org>
45174
45175         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
45176         were sys/stat.h does not define it.
45177
45178 2009-01-14  Jim Meyering  <meyering@redhat.com>
45179
45180         many *.m4 files: improve m4 quoting
45181         99% of this change was performed by running the following commands:
45182         git ls-files | grep '\.m4$' | xargs perl -pi \
45183           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
45184           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
45185           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
45186           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
45187         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
45188         The remainder were to add Copyright dates, increment serial numbers,
45189         undo some changes in comments, exclude m4/intl.m4, and add quotes
45190         around the "1" in ",1" where the unusual spacing prohibited the
45191         above regexps from doing the job.  For more details, see
45192         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
45193         * m4/acl.m4: Modified.
45194         * m4/afs.m4: Likewise.
45195         * m4/alloca.m4: Likewise.
45196         * m4/argp.m4: Likewise.
45197         * m4/argz.m4: Likewise.
45198         * m4/atexit.m4: Likewise.
45199         * m4/bison-i18n.m4: Likewise.
45200         * m4/bison.m4: Likewise.
45201         * m4/byteswap.m4: Likewise.
45202         * m4/c-stack.m4: Likewise.
45203         * m4/c-strtod.m4: Likewise.
45204         * m4/calloc.m4: Likewise.
45205         * m4/canonicalize-lgpl.m4: Likewise.
45206         * m4/chown.m4: Likewise.
45207         * m4/clock_time.m4: Likewise.
45208         * m4/codeset.m4: Likewise.
45209         * m4/copy-file.m4: Likewise.
45210         * m4/csharp.m4: Likewise.
45211         * m4/csharpcomp.m4: Likewise.
45212         * m4/csharpexec.m4: Likewise.
45213         * m4/d-ino.m4: Likewise.
45214         * m4/d-type.m4: Likewise.
45215         * m4/dirfd.m4: Likewise.
45216         * m4/double-slash-root.m4: Likewise.
45217         * m4/eaccess.m4: Likewise.
45218         * m4/eealloc.m4: Likewise.
45219         * m4/environ.m4: Likewise.
45220         * m4/errno_h.m4: Likewise.
45221         * m4/euidaccess.m4: Likewise.
45222         * m4/execute.m4: Likewise.
45223         * m4/fatal-signal.m4: Likewise.
45224         * m4/fchdir.m4: Likewise.
45225         * m4/fcntl_h.m4: Likewise.
45226         * m4/fileblocks.m4: Likewise.
45227         * m4/filenamecat.m4: Likewise.
45228         * m4/findprog.m4: Likewise.
45229         * m4/flexmember.m4: Likewise.
45230         * m4/fnmatch.m4: Likewise.
45231         * m4/fopen.m4: Likewise.
45232         * m4/fpending.m4: Likewise.
45233         * m4/fprintf-posix.m4: Likewise.
45234         * m4/free.m4: Likewise.
45235         * m4/frexp.m4: Likewise.
45236         * m4/frexpl.m4: Likewise.
45237         * m4/fsusage.m4: Likewise.
45238         * m4/ftruncate.m4: Likewise.
45239         * m4/gc-camellia.m4: Likewise.
45240         * m4/gc-random.m4: Likewise.
45241         * m4/gc.m4: Likewise.
45242         * m4/getaddrinfo.m4: Likewise.
45243         * m4/getcwd-abort-bug.m4: Likewise.
45244         * m4/getcwd-path-max.m4: Likewise.
45245         * m4/getdate.m4: Likewise.
45246         * m4/getdomainname.m4: Likewise.
45247         * m4/getgroups.m4: Likewise.
45248         * m4/gethostname.m4: Likewise.
45249         * m4/gethrxtime.m4: Likewise.
45250         * m4/getline.m4: Likewise.
45251         * m4/getloadavg.m4: Likewise.
45252         * m4/getndelim2.m4: Likewise.
45253         * m4/getpass.m4: Likewise.
45254         * m4/gettext.m4: Likewise.
45255         * m4/gettime.m4: Likewise.
45256         * m4/gettimeofday.m4: Likewise.
45257         * m4/gnulib-common.m4: Likewise.
45258         * m4/group-member.m4: Likewise.
45259         * m4/host-os.m4: Likewise.
45260         * m4/iconv.m4: Likewise.
45261         * m4/iconv_open.m4: Likewise.
45262         * m4/inet_ntop.m4: Likewise.
45263         * m4/inet_pton.m4: Likewise.
45264         * m4/inline.m4: Likewise.
45265         * m4/intldir.m4: Likewise.
45266         * m4/intlmacosx.m4: Likewise.
45267         * m4/intmax.m4: Likewise.
45268         * m4/intmax_t.m4: Likewise.
45269         * m4/inttypes.m4: Likewise.
45270         * m4/inttypes_h.m4: Likewise.
45271         * m4/inttypes-pri.m4: Likewise.
45272         * m4/isapipe.m4: Likewise.
45273         * m4/isnand.m4: Likewise.
45274         * m4/isnanf.m4: Likewise.
45275         * m4/isnanl.m4: Likewise.
45276         * m4/javacomp.m4: Likewise.
45277         * m4/javaexec.m4: Likewise.
45278         * m4/jm-winsz1.m4: Likewise.
45279         * m4/jm-winsz2.m4: Likewise.
45280         * m4/lchown.m4: Likewise.
45281         * m4/lcmessage.m4: Likewise.
45282         * m4/ldexpl.m4: Likewise.
45283         * m4/lib-ld.m4: Likewise.
45284         * m4/lib-link.m4: Likewise.
45285         * m4/libsigsegv.m4: Likewise.
45286         * m4/link-follow.m4: Likewise.
45287         * m4/localcharset.m4: Likewise.
45288         * m4/locale-fr.m4: Likewise.
45289         * m4/locale-ja.m4: Likewise.
45290         * m4/locale-tr.m4: Likewise.
45291         * m4/locale-zh.m4: Likewise.
45292         * m4/lock.m4: Likewise.
45293         * m4/longlong.m4: Likewise.
45294         * m4/ls-mntd-fs.m4: Likewise.
45295         * m4/lstat.m4: Likewise.
45296         * m4/malloc.m4: Likewise.
45297         * m4/mathl.m4: Likewise.
45298         * m4/mbrtowc.m4: Likewise.
45299         * m4/mbstate_t.m4: Likewise.
45300         * m4/mbswidth.m4: Likewise.
45301         * m4/memchr.m4: Likewise.
45302         * m4/memcmp.m4: Likewise.
45303         * m4/memcpy.m4: Likewise.
45304         * m4/memmem.m4: Likewise.
45305         * m4/memmove.m4: Likewise.
45306         * m4/mempcpy.m4: Likewise.
45307         * m4/memrchr.m4: Likewise.
45308         * m4/memset.m4: Likewise.
45309         * m4/minmax.m4: Likewise.
45310         * m4/mkdir-slash.m4: Likewise.
45311         * m4/mkdtemp.m4: Likewise.
45312         * m4/mktime.m4: Likewise.
45313         * m4/mmap-anon.m4: Likewise.
45314         * m4/mountlist.m4: Likewise.
45315         * m4/nanosleep.m4: Likewise.
45316         * m4/nls.m4: Likewise.
45317         * m4/nocrash.m4: Likewise.
45318         * m4/open.m4: Likewise.
45319         * m4/openat.m4: Likewise.
45320         * m4/openmp.m4: Likewise.
45321         * m4/pathmax.m4: Likewise.
45322         * m4/perl.m4: Likewise.
45323         * m4/physmem.m4: Likewise.
45324         * m4/pipe.m4: Likewise.
45325         * m4/po.m4: Likewise.
45326         * m4/poll.m4: Likewise.
45327         * m4/posixtm.m4: Likewise.
45328         * m4/posixver.m4: Likewise.
45329         * m4/printf-frexp.m4: Likewise.
45330         * m4/printf-frexpl.m4: Likewise.
45331         * m4/printf-posix.m4: Likewise.
45332         * m4/printf-posix-rpl.m4: Likewise.
45333         * m4/printf.m4: Likewise.
45334         * m4/progtest.m4: Likewise.
45335         * m4/putenv.m4: Likewise.
45336         * m4/readline.m4: Likewise.
45337         * m4/readlink.m4: Likewise.
45338         * m4/readutmp.m4: Likewise.
45339         * m4/realloc.m4: Likewise.
45340         * m4/regex.m4: Likewise.
45341         * m4/relocatable.m4: Likewise.
45342         * m4/relocatable-lib.m4: Likewise.
45343         * m4/rename-dest-slash.m4: Likewise.
45344         * m4/rename.m4: Likewise.
45345         * m4/rmdir-errno.m4: Likewise.
45346         * m4/rmdir.m4: Likewise.
45347         * m4/roundf.m4: Likewise.
45348         * m4/roundl.m4: Likewise.
45349         * m4/rpmatch.m4: Likewise.
45350         * m4/save-cwd.m4: Likewise.
45351         * m4/selinux-selinux-h.m4: Likewise.
45352         * m4/setenv.m4: Likewise.
45353         * m4/settime.m4: Likewise.
45354         * m4/sig2str.m4: Likewise.
45355         * m4/sig_atomic_t.m4: Likewise.
45356         * m4/signalblocking.m4: Likewise.
45357         * m4/signbit.m4: Likewise.
45358         * m4/sigpipe.m4: Likewise.
45359         * m4/sockets.m4: Likewise.
45360         * m4/sockpfaf.m4: Likewise.
45361         * m4/st_dm_mode.m4: Likewise.
45362         * m4/stat-time.m4: Likewise.
45363         * m4/stdbool.m4: Likewise.
45364         * m4/stdint.m4: Likewise.
45365         * m4/stdint_h.m4: Likewise.
45366         * m4/stpcpy.m4: Likewise.
45367         * m4/stpncpy.m4: Likewise.
45368         * m4/strcase.m4: Likewise.
45369         * m4/strchrnul.m4: Likewise.
45370         * m4/strcspn.m4: Likewise.
45371         * m4/strdup.m4: Likewise.
45372         * m4/strftime.m4: Likewise.
45373         * m4/strndup.m4: Likewise.
45374         * m4/strnlen.m4: Likewise.
45375         * m4/strpbrk.m4: Likewise.
45376         * m4/strptime.m4: Likewise.
45377         * m4/strsep.m4: Likewise.
45378         * m4/strtod.m4: Likewise.
45379         * m4/strtoimax.m4: Likewise.
45380         * m4/strtok_r.m4: Likewise.
45381         * m4/strtol.m4: Likewise.
45382         * m4/strtoll.m4: Likewise.
45383         * m4/strtoul.m4: Likewise.
45384         * m4/strtoull.m4: Likewise.
45385         * m4/strtoumax.m4: Likewise.
45386         * m4/strverscmp.m4: Likewise.
45387         * m4/threadlib.m4: Likewise.
45388         * m4/timegm.m4: Likewise.
45389         * m4/tm_gmtoff.m4: Likewise.
45390         * m4/tmpdir.m4: Likewise.
45391         * m4/tmpfile.m4: Likewise.
45392         * m4/tzset.m4: Likewise.
45393         * m4/uintmax_t.m4: Likewise.
45394         * m4/unlinkdir.m4: Likewise.
45395         * m4/unlocked-io.m4: Likewise.
45396         * m4/uptime.m4: Likewise.
45397         * m4/userspec.m4: Likewise.
45398         * m4/utimbuf.m4: Likewise.
45399         * m4/utime.m4: Likewise.
45400         * m4/utimes-null.m4: Likewise.
45401         * m4/utimes.m4: Likewise.
45402         * m4/vararrays.m4: Likewise.
45403         * m4/vasnprintf.m4: Likewise.
45404         * m4/vfprintf-posix.m4: Likewise.
45405         * m4/vprintf-posix.m4: Likewise.
45406         * m4/wait-process.m4: Likewise.
45407         * m4/wchar_t.m4: Likewise.
45408         * m4/wint_t.m4: Likewise.
45409         * m4/write-any-file.m4: Likewise.
45410         * m4/yield.m4: Likewise.
45411
45412 2009-01-13  Bruno Haible  <bruno@clisp.org>
45413
45414         Avoid test-copy-file.sh failures when ACL support insufficient.
45415         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
45416         TESTS_ENVIRONMENT.
45417         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
45418         Reported by Jim Meyering.
45419
45420 2009-01-13  Bruno Haible  <bruno@clisp.org>
45421
45422         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
45423         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
45424         * modules/unistdio/u8-printf-parse (Files): Likewise.
45425         * modules/unistdio/u32-printf-parse (Files): Likewise.
45426         * modules/unistdio/ulc-printf-parse (Files): Likewise.
45427
45428 2009-01-13  Simon Josefsson  <simon@josefsson.org>
45429
45430         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
45431         and m4/inttypes_h.m4 too.
45432
45433 2009-01-12  Eric Blake  <ebb9@byu.net>
45434
45435         tests: IRIX 6.2 cc can't compile -0.0 into .data
45436         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
45437         rather than at compile-time.
45438         * tests/test-floorl.c (minus_zero): Likewise.
45439         * tests/test-frexpl.c (minus_zero): Likewise.
45440         * tests/test-isnan.c (minus_zerol): Likewise.
45441         * tests/test-isnanl.h (minus_zero): Likewise.
45442         * tests/test-ldexpl.c (minus_zero): Likewise.
45443         * tests/test-roundl.c (minus_zero): Likewise.
45444         * tests/test-signbit.c (minus_zerol): Likewise.
45445         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
45446         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
45447         * tests/test-truncl.c (minus_zero): Likewise.
45448         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
45449         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
45450         Reported by Tom G. Christensen and Nelson H. F. Beebe.
45451
45452 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45453
45454         regex: fix glibc bug 9697
45455         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
45456         handling.
45457
45458 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45459
45460         regex: fix glibc bug 697
45461         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
45462         being NULL also if there are no backreferences.
45463
45464 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45465
45466         regex: merge glibc changes
45467         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
45468         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
45469         re_string_skip_chars, re_string_reconstruct): Likewise.
45470         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
45471
45472 2009-01-07  Jim Meyering  <meyering@redhat.com>
45473
45474         poll: filter through cppi
45475         * lib/poll.c: Indent cpp directives to reflect nesting.
45476
45477 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
45478
45479         poll: don't return uninitialized
45480         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
45481
45482 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
45483
45484         avoid compile failure on AIX 6.1
45485         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
45486         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
45487
45488 2009-01-04  Jim Meyering  <meyering@redhat.com>
45489
45490         remove duplicate inclusion of <stdio.h>
45491         * tests/test-fprintf-posix.c: Likewise.
45492         * tests/test-printf-posix.c: Likewise.
45493         * tests/test-snprintf-posix.c: Likewise.
45494         * tests/test-sprintf-posix.c: Likewise.
45495         * tests/test-vasprintf-posix.c: Likewise.
45496         * tests/test-vfprintf-posix.c: Likewise.
45497         * tests/test-vprintf-posix.c: Likewise.
45498         * tests/test-vsnprintf-posix.c: Likewise.
45499         * tests/test-vsprintf-posix.c: Likewise.
45500
45501 2009-01-03  Jim Meyering  <meyering@redhat.com>
45502
45503         gnulib-tool: fix sed-based filtering
45504         * gnulib-tool (func_filter_filelist): Remove extra backslash
45505         in sed_fff_filter definition.
45506
45507 2009-01-02  Jim Meyering  <meyering@redhat.com>
45508
45509         strftime: avoid compilation failure on Solaris 2.6
45510         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
45511         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
45512         Don't #define mbrlen or mbsinit, since now they're guaranteed to
45513         be available.  Reported by Tom G. Christensen.  Details in
45514         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
45515
45516 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45517             Bruno Haible  <bruno@clisp.org>
45518
45519         Speed up gnulib-tool by doing more string processing through shell
45520         built-ins.
45521         * gnulib-tool (fast_func_append): New variable.
45522         (func_remove_prefix, func_remove_suffix): New functions.
45523         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
45524         (func_filter_filelist): New function.
45525         (func_get_dependencies): Use func_remove_suffix instead of sed.
45526         (func_get_automake_snippet): Use func_filter_filelist instead of a
45527         subshell and sed invocation.
45528
45529 2009-01-01  Bruno Haible  <bruno@clisp.org>
45530
45531         Fix a security bug.
45532         * gnulib-tool (func_import, import, update): Don't allow the characters
45533         '"', '$', '`', '\' in macro arguments that become part of commands that
45534         are evaluated.
45535
45536 2009-01-01  Bruno Haible  <bruno@clisp.org>
45537
45538         * gnulib-tool (func_reset_sigpipe): Add more comments.
45539
45540 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45541
45542         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
45543         func_emit_tests_Makefile_am, func_import): Abort loops early if we
45544         already know the answer.
45545
45546 2009-01-01  Jim Meyering  <meyering@redhat.com>
45547
45548         * lib/version-etc.c (version_etc_va): Update copyright year.
45549
45550 2008-12-30  Bruno Haible  <bruno@clisp.org>
45551
45552         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
45553         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
45554         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
45555
45556 2008-12-29  Eric Blake  <ebb9@byu.net>
45557
45558         multiarch: avoid autoconf AC_REQUIRE bug
45559         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
45560         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
45561         2.63 and older.
45562         Reported by Bruno Haible, and analyzed in
45563         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
45564
45565 2008-12-29  Bruno Haible  <bruno@clisp.org>
45566
45567         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
45568         files in subdirectories correctly.
45569         Reported by Ralf Wildenhues.
45570
45571 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45572
45573         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
45574         rather than 'join FILE -', for Solaris join.
45575
45576 2008-12-29  Bruno Haible  <bruno@clisp.org>
45577
45578         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
45579         quoting.
45580         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
45581         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
45582         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
45583         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
45584         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
45585         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
45586         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
45587         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
45588         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
45589         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
45590         * m4/nls.m4 (AM_NLS): Likewise.
45591         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
45592         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
45593         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
45594         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
45595         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
45596         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
45597         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
45598         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
45599         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
45600         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
45601         * m4/xsize.m4 (gl_XSIZE): Likewise.
45602         Suggested by Jim Meyering.
45603
45604 2008-11-17  Bruce Korb  <bkorb@gnu.org>
45605
45606         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
45607         * lib/parse-duration.c: use a switch instead of cascading if's.
45608
45609 2008-12-29  Eric Blake  <ebb9@byu.net>
45610
45611         wchar.h: supply WEOF on Irix 5.3
45612         * lib/wchar.in.h (wint_t): Also supply WEOF.
45613         * lib/wctype.in.h (wint_t): Likewise.
45614         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
45615         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
45616         Reported by Tom G. Christensen.
45617
45618 2008-12-26  Bruno Haible  <bruno@clisp.org>
45619
45620         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
45621         i486, i586, i686.
45622
45623 2008-12-26  Bruno Haible  <bruno@clisp.org>
45624
45625         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
45626
45627 2008-12-26  Bruno Haible  <bruno@clisp.org>
45628
45629         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
45630         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
45631         not __STDC_CONSTANT_MACROS.
45632         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
45633
45634 2008-12-25  Bruno Haible  <bruno@clisp.org>
45635
45636         Add support for universal builds to vasnprintf.
45637         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
45638         universal builds, guess no.
45639         * modules/vasnprintf-posix (Depends-on): Add multiarch.
45640         * modules/vasprintf-posix (Depends-on): Likewise.
45641         * modules/fprintf-posix (Depends-on): Likewise.
45642         * modules/vfprintf-posix (Depends-on): Likewise.
45643         * modules/snprintf-posix (Depends-on): Likewise.
45644         * modules/vsnprintf-posix (Depends-on): Likewise.
45645         * modules/sprintf-posix (Depends-on): Likewise.
45646         * modules/vsprintf-posix (Depends-on): Likewise.
45647         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45648         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45649         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45650         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45651         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45652         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45653         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45654
45655         Add support for universal builds to <inttypes.h>.
45656         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
45657         _SCNu64_PREFIX): In Apple
45658         universal builds, define directly, using _LP64.
45659         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
45660         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
45661         * modules/inttypes (Depends-on): Add multiarch.
45662         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
45663
45664         Add support for universal builds to <stdint.h>.
45665         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
45666         universal builds, define directly, using _LP64.
45667         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
45668         Apple universal builds, don't test for the size and suffix of ptrdiff_t
45669         and size_t.
45670         * modules/stdint (Depends-on): Add multiarch.
45671         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
45672
45673         New module 'multiarch'.
45674         * modules/multiarch: New file.
45675         * m4/multiarch.m4: New file.
45676
45677 2008-12-25  Bruno Haible  <bruno@clisp.org>
45678
45679         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
45680
45681 2008-12-25  Bruno Haible  <bruno@clisp.org>
45682
45683         * modules/btowc (License): Relicense under LGPLv2+.
45684         * modules/mbsinit (License): Likewise.
45685         * modules/mbrtowc (License): Likewise.
45686         * modules/wcrtomb (License): Likewise.
45687         * modules/streq (License): Likewise.
45688         Reported by David Lutterkort <lutter@redhat.com>.
45689
45690 2008-12-23  Bruno Haible  <bruno@clisp.org>
45691
45692         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
45693
45694 2008-12-23  Bruno Haible  <bruno@clisp.org>
45695
45696         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
45697         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
45698         GETADDRINFO_LIB, not in LIBS.
45699         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
45700         * modules/canon-host (Link): Likewise.
45701         * NEWS: Mention the change.
45702         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
45703         GETADDRINFO_LIB.
45704
45705 2008-12-22  Bruno Haible  <bruno@clisp.org>
45706
45707         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
45708         * doc/posix-functions/iswalpha_l.texi: Likewise.
45709         * doc/posix-functions/iswblank_l.texi: Likewise.
45710         * doc/posix-functions/iswcntrl_l.texi: Likewise.
45711         * doc/posix-functions/iswctype_l.texi: Likewise.
45712         * doc/posix-functions/iswdigit_l.texi: Likewise.
45713         * doc/posix-functions/iswgraph_l.texi: Likewise.
45714         * doc/posix-functions/iswlower_l.texi: Likewise.
45715         * doc/posix-functions/iswprint_l.texi: Likewise.
45716         * doc/posix-functions/iswpunct_l.texi: Likewise.
45717         * doc/posix-functions/iswspace_l.texi: Likewise.
45718         * doc/posix-functions/iswupper_l.texi: Likewise.
45719         * doc/posix-functions/iswxdigit_l.texi: Likewise.
45720         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
45721         * doc/posix-functions/open_wmemstream.texi: Likewise.
45722         * doc/posix-functions/swscanf.texi: Likewise.
45723         * doc/posix-functions/towctrans_l.texi: Likewise.
45724         * doc/posix-functions/towlower.texi: Likewise.
45725         * doc/posix-functions/towlower_l.texi: Likewise.
45726         * doc/posix-functions/towupper.texi: Likewise.
45727         * doc/posix-functions/towupper_l.texi: Likewise.
45728         * doc/posix-functions/vfwprintf.texi: Likewise.
45729         * doc/posix-functions/vfwscanf.texi: Likewise.
45730         * doc/posix-functions/vswscanf.texi: Likewise.
45731         * doc/posix-functions/vwprintf.texi: Likewise.
45732         * doc/posix-functions/vwscanf.texi: Likewise.
45733         * doc/posix-functions/wcpcpy.texi: Likewise.
45734         * doc/posix-functions/wcpncpy.texi: Likewise.
45735         * doc/posix-functions/wcscasecmp.texi: Likewise.
45736         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
45737         * doc/posix-functions/wcscoll_l.texi: Likewise.
45738         * doc/posix-functions/wcsdup.texi: Likewise.
45739         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45740         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
45741         * doc/posix-functions/wcsnlen.texi: Likewise.
45742         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45743         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
45744         * doc/posix-functions/wctrans_l.texi: Likewise.
45745         * doc/posix-functions/wctype_l.texi: Likewise.
45746         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
45747         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
45748         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
45749         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
45750         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
45751         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
45752         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
45753         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
45754         * doc/glibc-functions/wcschrnul.texi: Likewise.
45755         * doc/glibc-functions/wcsftime_l.texi: Likewise.
45756         * doc/glibc-functions/wcstod_l.texi: Likewise.
45757         * doc/glibc-functions/wcstof_l.texi: Likewise.
45758         * doc/glibc-functions/wcstol_l.texi: Likewise.
45759         * doc/glibc-functions/wcstold_l.texi: Likewise.
45760         * doc/glibc-functions/wcstoll_l.texi: Likewise.
45761         * doc/glibc-functions/wcstoq.texi: Likewise.
45762         * doc/glibc-functions/wcstoul_l.texi: Likewise.
45763         * doc/glibc-functions/wcstoull_l.texi: Likewise.
45764         * doc/glibc-functions/wcstouq.texi: Likewise.
45765         * doc/glibc-functions/wmempcpy.texi: Likewise.
45766
45767 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
45768             Eric Blake  <ebb9@byu.net>
45769             Paolo Bonzini  <bonzini@gnu.org>
45770             Bruno Haible  <bruno@clisp.org>
45771
45772         Make c-stack work on Haiku.
45773         * lib/c-stack.c (SA_ONSTACK): Define fallback.
45774         (c_stack_action): Use SA_ONSTACK flag.
45775
45776 2008-12-22  Bruno Haible  <bruno@clisp.org>
45777
45778         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
45779
45780 2008-12-22  Bruno Haible  <bruno@clisp.org>
45781
45782         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
45783         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
45784         being overridden.
45785         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
45786         New macros.
45787         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
45788         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
45789         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
45790         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
45791
45792 2008-12-22  Bruno Haible  <bruno@clisp.org>
45793
45794         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
45795         from test code.
45796
45797 2008-12-22  Eric Blake  <ebb9@byu.net>
45798
45799         Avoid gcc warnings on cygwin.
45800         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
45801         Avoid unused variable.
45802         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
45803         Likewise.
45804
45805 2008-12-22  Bruno Haible  <bruno@clisp.org>
45806
45807         Remove HAVE_MBRTOWC conditionals.
45808         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
45809         (mbscasecmp): Assume mbrtowc function.
45810         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
45811         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
45812         * lib/mbschr.c: Include mbuiter.h unconditionally.
45813         (mbschr): Assume mbrtowc function.
45814         * lib/mbscspn.c: Include mbuiter.h unconditionally.
45815         (mbscspn): Assume mbrtowc function.
45816         * lib/mbslen.c: Include mbuiter.h unconditionally.
45817         (mbslen): Assume mbrtowc function.
45818         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
45819         (mbsncasecmp): Assume mbrtowc function.
45820         * lib/mbsnlen.c: Include mbiter.h unconditionally.
45821         (mbsnlen): Assume mbrtowc function.
45822         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
45823         (mbspbrk): Assume mbrtowc function.
45824         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
45825         (mbspcasecmp): Assume mbrtowc function.
45826         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
45827         (mbsrchr): Assume mbrtowc function.
45828         * lib/mbssep.c: Include mbuiter.h unconditionally.
45829         (mbssep): Assume mbrtowc function.
45830         * lib/mbsspn.c: Include mbuiter.h unconditionally.
45831         (mbsspn): Assume mbrtowc function.
45832         * lib/mbsstr.c: Include mbuiter.h unconditionally.
45833         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
45834         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
45835         (mbstok_r): Assume mbrtowc function.
45836         * lib/propername.c: Include mbuiter.h unconditionally.
45837         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
45838         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
45839         (trim2): Assume mbrtowc function.
45840         * lib/mbswidth.c (mbsinit): Remove fallback definition.
45841         (mbsnwidth): Assume mbrtowc function.
45842         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
45843         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
45844         fallback definitions.
45845         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
45846
45847 2008-12-22  Bruno Haible  <bruno@clisp.org>
45848
45849         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
45850
45851 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
45852
45853         * modules/regex: Request emulations for the mb*/wc* functions we need.
45854         * m4/regex.m4: Don't look for those functions here.
45855         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
45856
45857 2008-12-22  Bruno Haible  <bruno@clisp.org>
45858
45859         * modules/fnmatch (Depends-on): Remove duplicated dependency.
45860
45861 2008-12-21  Bruno Haible  <bruno@clisp.org>
45862
45863         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
45864         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
45865         (Include): Remove conditionalization.
45866         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
45867         (Include): Remove conditionalization.
45868         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
45869         (Include): Remove conditionalization.
45870         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
45871         * m4/mbfile.m4 (gl_MBFILE): Likewise.
45872         * NEWS: Mention the change.
45873         Reported by Alan Hourihane <alanh@fairlite.co.uk>
45874         via Sergey Poznyakoff <gray@gnu.org.ua>.
45875
45876 2008-12-21  Bruno Haible  <bruno@clisp.org>
45877
45878         * MODULES.html.sh (Extended multibyte and wide character utilities
45879         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
45880         wcrtomb, wcsrtombs.
45881         (Support for systems lacking POSIX:2008): Add accept, bind, close,
45882         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
45883         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
45884         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
45885
45886 2008-12-21  Bruno Haible  <bruno@clisp.org>
45887
45888         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
45889
45890 2008-12-21  Bruno Haible  <bruno@clisp.org>
45891
45892         * modules/wcsnrtombs-tests: New file.
45893         * tests/test-wcsnrtombs1.sh: New file.
45894         * tests/test-wcsnrtombs2.sh: New file.
45895         * tests/test-wcsnrtombs3.sh: New file.
45896         * tests/test-wcsnrtombs4.sh: New file.
45897         * tests/test-wcsnrtombs.c: New file.
45898
45899         New module 'wcsnrtombs'.
45900         * lib/wchar.in.h (wcsnrtombs): New declaration.
45901         * lib/wcsnrtombs.c: New file.
45902         * lib/wcsrtombs-state.c: New file.
45903         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
45904         (internal_state): Remove variable.
45905         * m4/wcsnrtombs.m4: New file.
45906         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
45907         compilation units.
45908         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
45909         HAVE_WCSNRTOMBS.
45910         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
45911         HAVE_WCSNRTOMBS.
45912         * modules/wcsnrtombs: New file.
45913         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
45914         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
45915
45916 2008-12-21  Bruno Haible  <bruno@clisp.org>
45917
45918         * modules/wcsrtombs-tests: New file.
45919         * tests/test-wcsrtombs1.sh: New file.
45920         * tests/test-wcsrtombs2.sh: New file.
45921         * tests/test-wcsrtombs3.sh: New file.
45922         * tests/test-wcsrtombs4.sh: New file.
45923         * tests/test-wcsrtombs.c: New file.
45924
45925         New module 'wcsrtombs'.
45926         * lib/wchar.in.h (wcsrtombs): New declaration.
45927         * lib/wcsrtombs.c: New file.
45928         * m4/wcsrtombs.m4: New file.
45929         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
45930         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45931         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
45932         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45933         * modules/wcsrtombs: New file.
45934         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
45935         bugs.
45936
45937 2008-12-21  Bruno Haible  <bruno@clisp.org>
45938
45939         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
45940         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
45941         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
45942         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
45943         if not correct.
45944         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
45945         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
45946         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45947         m4/locale-zh.m4, m4/codeset.m4.
45948         * doc/posix-functions/wcrtomb.texi: Document the bug.
45949
45950 2008-12-21  Bruno Haible  <bruno@clisp.org>
45951
45952         Work around a btowc() bug on IRIX 6.5.
45953         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
45954         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
45955         REPLACE_WTOBC if not.
45956         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
45957         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
45958         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
45959
45960 2008-12-21  Bruno Haible  <bruno@clisp.org>
45961
45962         * modules/wcrtomb-tests: New file.
45963         * tests/test-wcrtomb.sh: New file.
45964         * tests/test-wcrtomb.c: New file.
45965
45966         New module 'wcrtomb'.
45967         * lib/wchar.in.h (wcrtomb): New declaration.
45968         * lib/wcrtomb.c: New file.
45969         * m4/wcrtomb.m4: New file.
45970         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
45971         HAVE_WCRTOMB.
45972         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
45973         HAVE_WCRTOMB.
45974         * modules/wcrtomb: New file.
45975         * doc/posix-functions/wcrtomb.texi: Mention the new module.
45976
45977 2008-12-21  Bruno Haible  <bruno@clisp.org>
45978
45979         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
45980         * modules/mbsrtowcs (Files): Likewise.
45981         * modules/wctob (Files): Likewise.
45982         * modules/c-strcase-tests (Files): Likewise.
45983         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
45984         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
45985         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
45986         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
45987         * modules/vasnprintf-posix-tests (Files): Likewise.
45988
45989 2008-12-21  William Pursell  <bill.pursell@gmail.com>
45990
45991         gitlog-to-changelog: pass all command-line arguments to git-log
45992         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
45993         it is sometimes convenient to filter the commits in various ways.
45994         gitlog-to-changelog only allows --since to specify a start date,
45995         but git-log itself supports many other filtering mechanisms.
45996         At the moment, I want to filter by branch name.  Rather than
45997         adding a --branch option to gitlog-to-changelog, it seems more
45998         flexible to simply pass all options directly to git-log and let
45999         git do the work.  Notice that this effectively makes --since a
46000         redundant option for gitlog-to-changelog, but removing it would
46001         require current usage to change since calls would then require
46002         an additional '--'.
46003
46004 2008-12-21  Bruno Haible  <bruno@clisp.org>
46005
46006         * modules/mbsnrtowcs-tests: New file.
46007         * tests/test-mbsnrtowcs1.sh: New file.
46008         * tests/test-mbsnrtowcs2.sh: New file.
46009         * tests/test-mbsnrtowcs3.sh: New file.
46010         * tests/test-mbsnrtowcs4.sh: New file.
46011         * tests/test-mbsnrtowcs.c: New file.
46012
46013         New module 'mbsnrtowcs'.
46014         * lib/wchar.in.h (mbsnrtowcs): New declaration.
46015         * lib/mbsnrtowcs.c: New file.
46016         * lib/mbsrtowcs-state.c: New file.
46017         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
46018         (internal_state): Remove variable.
46019         * m4/mbsnrtowcs.m4: New file.
46020         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
46021         compilation units.
46022         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
46023         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
46024         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
46025         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
46026         * modules/mbsnrtowcs: New file.
46027         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
46028         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
46029         portability problem.
46030
46031 2008-12-21  Bruno Haible  <bruno@clisp.org>
46032
46033         Work around mbsrtowcs bug.
46034         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
46035         (gl_FUNC_MBSRTOWCS): Invoke it.
46036         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46037         m4/locale-zh.m4.
46038         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
46039
46040 2008-12-21  Bruno Haible  <bruno@clisp.org>
46041
46042         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
46043
46044 2008-12-21  Bruno Haible  <bruno@clisp.org>
46045
46046         Update doc for AIX.
46047         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
46048         16-bit wchar_t type.
46049         * doc/posix-functions/btowc.texi: Likewise.
46050         * doc/posix-functions/fgetwc.texi: Likewise.
46051         * doc/posix-functions/fgetws.texi: Likewise.
46052         * doc/posix-functions/fputwc.texi: Likewise.
46053         * doc/posix-functions/fputws.texi: Likewise.
46054         * doc/posix-functions/fwide.texi: Likewise.
46055         * doc/posix-functions/fwprintf.texi: Likewise.
46056         * doc/posix-functions/fwscanf.texi: Likewise.
46057         * doc/posix-functions/getwchar.texi: Likewise.
46058         * doc/posix-functions/getwc.texi: Likewise.
46059         * doc/posix-functions/iswalnum.texi: Likewise.
46060         * doc/posix-functions/iswalpha.texi: Likewise.
46061         * doc/posix-functions/iswblank.texi: Likewise.
46062         * doc/posix-functions/iswcntrl.texi: Likewise.
46063         * doc/posix-functions/iswctype.texi: Likewise.
46064         * doc/posix-functions/iswdigit.texi: Likewise.
46065         * doc/posix-functions/iswgraph.texi: Likewise.
46066         * doc/posix-functions/iswlower.texi: Likewise.
46067         * doc/posix-functions/iswprint.texi: Likewise.
46068         * doc/posix-functions/iswpunct.texi: Likewise.
46069         * doc/posix-functions/iswspace.texi: Likewise.
46070         * doc/posix-functions/iswupper.texi: Likewise.
46071         * doc/posix-functions/iswxdigit.texi: Likewise.
46072         * doc/posix-functions/mbrtowc.texi: Likewise.
46073         * doc/posix-functions/mbsrtowcs.texi: Likewise.
46074         * doc/posix-functions/mbstowcs.texi: Likewise.
46075         * doc/posix-functions/mbtowc.texi: Likewise.
46076         * doc/posix-functions/putwchar.texi: Likewise.
46077         * doc/posix-functions/putwc.texi: Likewise.
46078         * doc/posix-functions/swprintf.texi: Likewise.
46079         * doc/posix-functions/tolower.texi: Likewise.
46080         * doc/posix-functions/toupper.texi: Likewise.
46081         * doc/posix-functions/towctrans.texi: Likewise.
46082         * doc/posix-functions/ungetwc.texi: Likewise.
46083         * doc/posix-functions/vswprintf.texi: Likewise.
46084         * doc/posix-functions/wcrtomb.texi: Likewise.
46085         * doc/posix-functions/wcscat.texi: Likewise.
46086         * doc/posix-functions/wcschr.texi: Likewise.
46087         * doc/posix-functions/wcscmp.texi: Likewise.
46088         * doc/posix-functions/wcscoll.texi: Likewise.
46089         * doc/posix-functions/wcscpy.texi: Likewise.
46090         * doc/posix-functions/wcscspn.texi: Likewise.
46091         * doc/posix-functions/wcsftime.texi: Likewise.
46092         * doc/posix-functions/wcslen.texi: Likewise.
46093         * doc/posix-functions/wcsncat.texi: Likewise.
46094         * doc/posix-functions/wcsncmp.texi: Likewise.
46095         * doc/posix-functions/wcsncpy.texi: Likewise.
46096         * doc/posix-functions/wcspbrk.texi: Likewise.
46097         * doc/posix-functions/wcsrchr.texi: Likewise.
46098         * doc/posix-functions/wcsrtombs.texi: Likewise.
46099         * doc/posix-functions/wcsspn.texi: Likewise.
46100         * doc/posix-functions/wcsstr.texi: Likewise.
46101         * doc/posix-functions/wcstod.texi: Likewise.
46102         * doc/posix-functions/wcstof.texi: Likewise.
46103         * doc/posix-functions/wcstoimax.texi: Likewise.
46104         * doc/posix-functions/wcstok.texi: Likewise.
46105         * doc/posix-functions/wcstold.texi: Likewise.
46106         * doc/posix-functions/wcstoll.texi: Likewise.
46107         * doc/posix-functions/wcstol.texi: Likewise.
46108         * doc/posix-functions/wcstombs.texi: Likewise.
46109         * doc/posix-functions/wcstoull.texi: Likewise.
46110         * doc/posix-functions/wcstoul.texi: Likewise.
46111         * doc/posix-functions/wcstoumax.texi: Likewise.
46112         * doc/posix-functions/wcswidth.texi: Likewise.
46113         * doc/posix-functions/wcsxfrm.texi: Likewise.
46114         * doc/posix-functions/wctob.texi: Likewise.
46115         * doc/posix-functions/wctomb.texi: Likewise.
46116         * doc/posix-functions/wctrans.texi: Likewise.
46117         * doc/posix-functions/wctype.texi: Likewise.
46118         * doc/posix-functions/wcwidth.texi: Likewise.
46119         * doc/posix-functions/wmemchr.texi: Likewise.
46120         * doc/posix-functions/wmemcmp.texi: Likewise.
46121         * doc/posix-functions/wmemcpy.texi: Likewise.
46122         * doc/posix-functions/wmemmove.texi: Likewise.
46123         * doc/posix-functions/wmemset.texi: Likewise.
46124         * doc/posix-functions/wprintf.texi: Likewise.
46125         * doc/posix-functions/wscanf.texi: Likewise.
46126
46127 2008-12-21  Bruno Haible  <bruno@clisp.org>
46128
46129         Update doc for HP-UX 11.11.
46130         * doc/posix-functions/btowc.texi: Clarify that the function is missing
46131         in HP-UX version 11.00, not in all versions of HP-UX 11.
46132         * doc/posix-functions/fwide.texi: Likewise.
46133         * doc/posix-functions/fwprintf.texi: Likewise.
46134         * doc/posix-functions/fwscanf.texi: Likewise.
46135         * doc/posix-functions/inet_ntop.texi: Likewise.
46136         * doc/posix-functions/inet_pton.texi: Likewise.
46137         * doc/posix-functions/mbrlen.texi: Likewise.
46138         * doc/posix-functions/mbrtowc.texi: Likewise.
46139         * doc/posix-functions/mbsinit.texi: Likewise.
46140         * doc/posix-functions/mbsrtowcs.texi: Likewise.
46141         * doc/posix-functions/swprintf.texi: Likewise.
46142         * doc/posix-functions/swscanf.texi: Likewise.
46143         * doc/posix-functions/towctrans.texi: Likewise.
46144         * doc/posix-functions/vfwprintf.texi: Likewise.
46145         * doc/posix-functions/vswprintf.texi: Likewise.
46146         * doc/posix-functions/vwprintf.texi: Likewise.
46147         * doc/posix-functions/wcrtomb.texi: Likewise.
46148         * doc/posix-functions/wcsrtombs.texi: Likewise.
46149         * doc/posix-functions/wcsstr.texi: Likewise.
46150         * doc/posix-functions/wctob.texi: Likewise.
46151         * doc/posix-functions/wctrans.texi: Likewise.
46152         * doc/posix-functions/wmemchr.texi: Likewise.
46153         * doc/posix-functions/wmemcmp.texi: Likewise.
46154         * doc/posix-functions/wmemcpy.texi: Likewise.
46155         * doc/posix-functions/wmemmove.texi: Likewise.
46156         * doc/posix-functions/wmemset.texi: Likewise.
46157         * doc/posix-functions/wprintf.texi: Likewise.
46158         * doc/posix-functions/wscanf.texi: Likewise.
46159
46160 2008-12-21  Bruno Haible  <bruno@clisp.org>
46161
46162         Work around a portability problem.
46163         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
46164         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
46165
46166 2008-12-20  Bruno Haible  <bruno@clisp.org>
46167
46168         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
46169         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
46170         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
46171         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
46172         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
46173
46174         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
46175         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
46176         set.
46177         (GNULIB_defined_mbstate_t): New macro.
46178         (mbsinit): Redefine if REPLACE_MBSINIT is set.
46179         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
46180         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
46181         reuses the system's mbrtowc function but works around the bugs.
46182         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
46183         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
46184         macros.
46185         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
46186         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
46187         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
46188         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
46189         REPLACE_MBSINIT if mbsinit needs to be overridden.
46190         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
46191         REPLACE_MBSINIT, REPLACE_MBRTOWC.
46192         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
46193         REPLACE_MBSINIT, REPLACE_MBRTOWC.
46194         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46195         m4/locale-zh.m4.
46196         (Depends): Add mbsinit.
46197         * modules/mbsinit (Depends): Add mbrtowc.
46198         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
46199
46200 2008-12-20  Bruno Haible  <bruno@clisp.org>
46201
46202         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
46203         so that there are no conversion errors on AIX.
46204         * tests/test-mbsrtowcs.c (main): LIkewise.
46205
46206 2008-12-20  Bruno Haible  <bruno@clisp.org>
46207
46208         Work around wctob bug on Solaris <= 9.
46209         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
46210         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
46211         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
46212         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
46213         * modules/wctob (Files): Add m4/locale-fr.m4.
46214         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
46215
46216 2008-12-20  Bruno Haible  <bruno@clisp.org>
46217
46218         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
46219         /dev/null.
46220         * tests/test-select-in.sh: Likewise.
46221         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46222
46223 2008-12-20  Bruno Haible  <bruno@clisp.org>
46224
46225         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
46226         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
46227         Cygwin 1.5.x.
46228
46229 2008-12-20  Bruno Haible  <bruno@clisp.org>
46230
46231         Ensure mbstate_t is defined on HP-UX 11.11.
46232         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
46233         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
46234         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
46235         AC_USE_SYSTEM_EXTENSIONS.
46236         * modules/fnmatch (Depends-on): Add extensions.
46237         * modules/mbrlen (Depends-on): Likewise.
46238         * modules/mbrtowc (Depends-on): Likewise.
46239         * modules/mbsinit (Depends-on): Likewise.
46240         * modules/mbsrtowcs (Depends-on): Likewise.
46241         * modules/mbswidth (Depends-on): Likewise.
46242         * modules/quotearg (Depends-on): Likewise.
46243         * modules/strftime (Depends-on): Likewise.
46244
46245 2008-12-20  Bruno Haible  <bruno@clisp.org>
46246
46247         Ensure wctob is declared on IRIX 6.5.
46248         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
46249         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
46250         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
46251         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
46252         of HAVE_WCTOB.
46253         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
46254         HAVE_WCTOB.
46255         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
46256
46257 2008-12-19  Bruno Haible  <bruno@clisp.org>
46258
46259         * modules/mbsrtowcs-tests: New file.
46260         * tests/test-mbsrtowcs1.sh: New file.
46261         * tests/test-mbsrtowcs2.sh: New file.
46262         * tests/test-mbsrtowcs3.sh: New file.
46263         * tests/test-mbsrtowcs4.sh: New file.
46264         * tests/test-mbsrtowcs.c: New file.
46265
46266         New module 'mbsrtowcs'.
46267         * lib/wchar.in.h (mbsrtowcs): New declaration.
46268         * lib/mbsrtowcs.c: New file.
46269         * m4/mbsrtowcs.m4: New file.
46270         * modules/mbsrtowcs: New file.
46271         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
46272         HAVE_MBSRTOWCS.
46273         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
46274         HAVE_MBSRTOWCS.
46275         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
46276
46277 2008-12-19  Bruno Haible  <bruno@clisp.org>
46278
46279         New module 'mbrlen'.
46280         * lib/wchar.in.h (mbrlen): New declaration.
46281         * lib/mbrlen.c: New file.
46282         * m4/mbrlen.m4: New file.
46283         * modules/mbrlen: New file.
46284         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
46285         HAVE_MBRLEN.
46286         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
46287         HAVE_MBRLEN.
46288         * doc/posix-functions/mbrlen.texi: Document the new module.
46289
46290 2008-12-19  Bruno Haible  <bruno@clisp.org>
46291
46292         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
46293         * modules/mbrtowc (Depends-on): Add verify.
46294         Suggested by Paul Eggert.
46295
46296 2008-12-18  Bruno Haible  <bruno@clisp.org>
46297
46298         * modules/mbsinit-tests: New file.
46299         * tests/test-mbsinit.sh: New file.
46300         * tests/test-mbsinit.c: New file.
46301
46302 2008-12-18  Bruno Haible  <bruno@clisp.org>
46303
46304         * modules/mbrtowc-tests: New file.
46305         * tests/test-mbrtowc1.sh: New file.
46306         * tests/test-mbrtowc2.sh: New file.
46307         * tests/test-mbrtowc3.sh: New file.
46308         * tests/test-mbrtowc4.sh: New file.
46309         * tests/test-mbrtowc.c: New file.
46310
46311         New module 'mbrtowc'.
46312         * lib/wchar.in.h (mbstate_t): Override when the system does not have
46313         mbsinit and mbrtowc.
46314         (mbrtowc): New declaration.
46315         * lib/mbrtowc.c: New file.
46316         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
46317         * modules/mbrtowc: New file.
46318         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
46319         HAVE_MBRTOWC.
46320         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
46321         HAVE_MBRTOWC.
46322         * doc/posix-functions/mbrtowc.texi: Document the new module.
46323
46324 2008-12-18  Bruno Haible  <bruno@clisp.org>
46325
46326         New module 'wctob'.
46327         * lib/wchar.in.h (wctob): New declaration.
46328         * lib/wctob.c: New file.
46329         * m4/wctob.m4: New file.
46330         * modules/wctob: New file.
46331         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
46332         HAVE_WCTOB.
46333         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
46334         * doc/posix-functions/wctob.texi: Document the new module.
46335
46336 2008-12-18  Bruno Haible  <bruno@clisp.org>
46337
46338         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
46339         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
46340
46341 2008-12-18  Simon Josefsson  <simon@josefsson.org>
46342
46343         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
46344         G. Christensen" <tgc@jupiterrise.com>.
46345
46346         * lib/flock.c: Need to include errno.h.  Reported by "Tom
46347         G. Christensen" <tgc@jupiterrise.com>.
46348
46349         * lib/flock.c: Need to include string.h.  Reported by "Tom
46350         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
46351         <ebb9@byu.net>.
46352
46353 2008-12-18  Bruno Haible  <bruno@clisp.org>
46354
46355         * m4/locale-ja.m4: New file, from GNU gettext.
46356
46357 2008-12-17  Bruno Haible  <bruno@clisp.org>
46358
46359         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
46360         Suggested by Eric Blake.
46361
46362 2008-12-17  Bruno Haible  <bruno@clisp.org>
46363
46364         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
46365
46366 2008-12-17  Bruno Haible  <bruno@clisp.org>
46367
46368         * lib/mbsinit.c: Include verify.h. Verify an assumption.
46369         * modules/mbsinit (Depends-on): Add verify.
46370         Suggested by Paul Eggert.
46371
46372 2008-12-17  Bruno Haible  <bruno@clisp.org>
46373
46374         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
46375         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
46376         gl_FUNC_MBRTOWC.
46377         * m4/mbiter.m4 (gl_MBITER): LIkewise.
46378         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
46379         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
46380         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
46381         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
46382         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
46383         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
46384         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
46385         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
46386         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
46387         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
46388         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
46389         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
46390         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
46391         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
46392         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
46393         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
46394         * modules/trim (configure.ac): Likewise.
46395
46396 2008-12-17  Bruno Haible  <bruno@clisp.org>
46397
46398         * modules/btowc-tests: New file.
46399         * tests/test-btowc1.sh: New file.
46400         * tests/test-btowc2.sh: New file.
46401         * tests/test-btowc.c: New file.
46402
46403         New module 'btowc'.
46404         * lib/wchar.in.h (btowc): New declaration.
46405         * lib/btowc.c: New file.
46406         * m4/btowc.m4: New file.
46407         * modules/btowc: New file.
46408         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
46409         HAVE_BTOWC.
46410         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
46411         * doc/posix-functions/btowc.texi: Document the new module.
46412
46413 2008-12-17  Bruno Haible  <bruno@clisp.org>
46414
46415         New module 'mbsinit'.
46416         * lib/wchar.in.h (mbsinit): New declaration.
46417         * lib/mbsinit.c: New file.
46418         * m4/mbsinit.m4: New file.
46419         * modules/mbsinit: New file.
46420         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
46421         HAVE_MBSINIT.
46422         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
46423         HAVE_MBSINIT.
46424         * doc/posix-functions/mbsinit.texi: Document the new module.
46425
46426 2008-12-16  Bruno Haible  <bruno@clisp.org>
46427
46428         * lib/unistd.in.h: Add comment.
46429         * tests/test-environ.c: Don't include <stdlib.h>.
46430
46431 2008-12-16  Bruno Haible  <bruno@clisp.org>
46432
46433         * lib/parse-duration.h (parse_duration): Document return value
46434         convention.
46435         * lib/parse-duration.c: Include specification header first. Add
46436         comments.
46437         (_): Remove macro.
46438         (parse_year_month_day, parse_hour_minute_second): Move side effects
46439         outside of strchr call.
46440         (parse_non_iso8601): Move side effects outside of isspace call.
46441         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
46442         call.
46443
46444 2008-12-16  Bruno Haible  <bruno@clisp.org>
46445
46446         * tests/test-parse-duration.sh: Produce no output when the test
46447         succeeds.
46448
46449 2008-12-16  Bruno Haible  <bruno@clisp.org>
46450
46451         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
46452         expressions.
46453
46454 2008-12-15  Bruno Haible  <bruno@clisp.org>
46455
46456         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
46457         * doc/glibc-functions/flistxattr.texi: Likewise.
46458         * doc/glibc-functions/fopencookie.texi: Likewise.
46459         * doc/glibc-functions/fremovexattr.texi: Likewise.
46460         * doc/glibc-functions/fsetxattr.texi: Likewise.
46461         * doc/glibc-functions/getxattr.texi: Likewise.
46462         * doc/glibc-functions/lgetxattr.texi: Likewise.
46463         * doc/glibc-functions/listxattr.texi: Likewise.
46464         * doc/glibc-functions/llistxattr.texi: Likewise.
46465         * doc/glibc-functions/lremovexattr.texi: Likewise.
46466         * doc/glibc-functions/lsetxattr.texi: Likewise.
46467         * doc/glibc-functions/removexattr.texi: Likewise.
46468         * doc/glibc-functions/setxattr.texi: Likewise.
46469         * doc/posix-functions/open_memstream.texi: Likewise.
46470
46471 2008-12-15  Eric Blake  <ebb9@byu.net>
46472
46473         Update doc for cygwin 1.7.
46474         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
46475         functions.
46476         * doc/posix-functions/fchmodat.texi: Likewise.
46477         * doc/posix-functions/fchownat.texi: Likewise.
46478         * doc/posix-functions/fdopendir.texi: Likewise.
46479         * doc/posix-functions/fmemopen.texi: Likewise.
46480         * doc/posix-functions/freeaddrinfo.texi: Likewise.
46481         * doc/posix-functions/fstatat.texi: Likewise.
46482         * doc/posix-functions/futimens.texi: Likewise.
46483         * doc/posix-functions/gai_strerror.texi: Likewise.
46484         * doc/posix-functions/getaddrinfo.texi: Likewise.
46485         * doc/posix-functions/getnameinfo.texi: Likewise.
46486         * doc/posix-functions/if_freenameindex.texi: Likewise.
46487         * doc/posix-functions/if_indextoname.texi: Likewise.
46488         * doc/posix-functions/if_nameindex.texi: Likewise.
46489         * doc/posix-functions/if_nametoindex.texi: Likewise.
46490         * doc/posix-functions/insque.texi: Likewise.
46491         * doc/posix-functions/linkat.texi: Likewise.
46492         * doc/posix-functions/llrint.texi: Likewise.
46493         * doc/posix-functions/llrintf.texi: Likewise.
46494         * doc/posix-functions/llrintl.texi: Likewise.
46495         * doc/posix-functions/lockf.texi: Likewise.
46496         * doc/posix-functions/lrintl.texi: Likewise.
46497         * doc/posix-functions/mkdirat.texi: Likewise.
46498         * doc/posix-functions/mkfifoat.texi: Likewise.
46499         * doc/posix-functions/mknodat.texi: Likewise.
46500         * doc/posix-functions/mq_close.texi: Likewise.
46501         * doc/posix-functions/mq_getattr.texi: Likewise.
46502         * doc/posix-functions/mq_notify.texi: Likewise.
46503         * doc/posix-functions/mq_open.texi: Likewise.
46504         * doc/posix-functions/mq_receive.texi: Likewise.
46505         * doc/posix-functions/mq_send.texi: Likewise.
46506         * doc/posix-functions/mq_setattr.texi: Likewise.
46507         * doc/posix-functions/mq_timedreceive.texi: Likewise.
46508         * doc/posix-functions/mq_timedsend.texi: Likewise.
46509         * doc/posix-functions/mq_unlink.texi: Likewise.
46510         * doc/posix-functions/open_memstream.texi: Likewise.
46511         * doc/posix-functions/openat.texi: Likewise.
46512         * doc/posix-functions/posix_fadvise.texi: Likewise.
46513         * doc/posix-functions/posix_fallocate.texi: Likewise.
46514         * doc/posix-functions/posix_madvise.texi: Likewise.
46515         * doc/posix-functions/posix_memalign.texi: Likewise.
46516         * doc/posix-functions/posix_openpt.texi: Likewise.
46517         * doc/posix-functions/readlinkat.texi: Likewise.
46518         * doc/posix-functions/remque.texi: Likewise.
46519         * doc/posix-functions/renameat.texi: Likewise.
46520         * doc/posix-functions/rintl.texi: Likewise.
46521         * doc/posix-functions/sem_unlink.texi: Likewise.
46522         * doc/posix-functions/shm_open.texi: Likewise.
46523         * doc/posix-functions/shm_unlink.texi: Likewise.
46524         * doc/posix-functions/signgam.texi: Likewise.
46525         * doc/posix-functions/sigset.texi: Likewise.
46526         * doc/posix-functions/stpcpy.texi: Likewise.
46527         * doc/posix-functions/stpncpy.texi: Likewise.
46528         * doc/posix-functions/strerror.texi: Likewise.
46529         * doc/posix-functions/strtod.texi: Likewise.
46530         * doc/posix-functions/symlinkat.texi: Likewise.
46531         * doc/posix-functions/unlinkat.texi: Likewise.
46532         * doc/posix-functions/utimensat.texi: Likewise.
46533         * doc/glibc-functions/bindresvport.texi: Likewise.
46534         * doc/glibc-functions/dn_expand.texi: Likewise.
46535         * doc/glibc-functions/exp10.texi: Likewise.
46536         * doc/glibc-functions/exp10f.texi: Likewise.
46537         * doc/glibc-functions/fgetxattr.texi: Likewise.
46538         * doc/glibc-functions/flistxattr.texi: Likewise.
46539         * doc/glibc-functions/fopencookie.texi: Likewise.
46540         * doc/glibc-functions/freeifaddrs.texi: Likewise.
46541         * doc/glibc-functions/fremovexattr.texi: Likewise.
46542         * doc/glibc-functions/fsetxattr.texi: Likewise.
46543         * doc/glibc-functions/getifaddrs.texi: Likewise.
46544         * doc/glibc-functions/getxattr.texi: Likewise.
46545         * doc/glibc-functions/lgetxattr.texi: Likewise.
46546         * doc/glibc-functions/listxattr.texi: Likewise.
46547         * doc/glibc-functions/llistxattr.texi: Likewise.
46548         * doc/glibc-functions/lremovexattr.texi: Likewise.
46549         * doc/glibc-functions/lsetxattr.texi: Likewise.
46550         * doc/glibc-functions/pow10.texi: Likewise.
46551         * doc/glibc-functions/pow10f.texi: Likewise.
46552         * doc/glibc-functions/rcmd_af.texi: Likewise.
46553         * doc/glibc-functions/removexattr.texi: Likewise.
46554         * doc/glibc-functions/res_init.texi: Likewise.
46555         * doc/glibc-functions/res_mkquery.texi: Likewise.
46556         * doc/glibc-functions/res_query.texi: Likewise.
46557         * doc/glibc-functions/res_querydomain.texi: Likewise.
46558         * doc/glibc-functions/res_send.texi: Likewise.
46559         * doc/glibc-functions/rresvport_af.texi: Likewise.
46560         * doc/glibc-functions/setxattr.texi: Likewise.
46561         * doc/glibc-functions/strcasestr.texi: Likewise.
46562
46563 2008-12-15  Bruno Haible  <bruno@clisp.org>
46564
46565         Fix compilation error on OSF/1 4.0.
46566         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
46567         <sys/time.h>, simply delegate to the system header.
46568         Reported by Daniel Richard G. <oss@teragram.com>.
46569
46570 2008-12-15  Bruno Haible  <bruno@clisp.org>
46571
46572         * doc/posix-functions/openat.texi: Mention the 'openat' module.
46573         * doc/posix-functions/fchmodat.texi: Likewise.
46574         * doc/posix-functions/fchownat.texi: Likewise.
46575         * doc/posix-functions/fdopendir.texi: Likewise.
46576         * doc/posix-functions/fstatat.texi: Likewise.
46577         * doc/posix-functions/mkdirat.texi: Likewise.
46578         * doc/posix-functions/unlinkat.texi: Likewise.
46579
46580 2008-12-14  Bruno Haible  <bruno@clisp.org>
46581
46582         Update doc for POSIX:2008.
46583         * doc/posix-functions/faccessat.texi: New file.
46584         * doc/posix-functions/fchmodat.texi: New file.
46585         * doc/posix-functions/fchownat.texi: New file.
46586         * doc/posix-functions/fdopendir.texi: New file.
46587         * doc/posix-functions/fstatat.texi: New file.
46588         * doc/posix-functions/futimens.texi: New file.
46589         * doc/posix-functions/linkat.texi: New file.
46590         * doc/posix-functions/mkdirat.texi: New file.
46591         * doc/posix-functions/mkfifoat.texi: New file.
46592         * doc/posix-functions/mknodat.texi: New file.
46593         * doc/posix-functions/open_wmemstream.texi: New file.
46594         * doc/posix-functions/openat.texi: New file.
46595         * doc/posix-functions/psiginfo.texi: New file.
46596         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
46597         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
46598         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
46599         * doc/posix-functions/readlinkat.texi: New file.
46600         * doc/posix-functions/renameat.texi: New file.
46601         * doc/posix-functions/strerror_l.texi: New file.
46602         * doc/posix-functions/symlinkat.texi: New file.
46603         * doc/posix-functions/unlinkat.texi: New file.
46604         * doc/posix-functions/utimensat.texi: New file.
46605         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46606
46607 2008-12-14  Bruno Haible  <bruno@clisp.org>
46608
46609         Update doc for POSIX:2008.
46610         * doc/posix-functions/alphasort.texi: Renamed from
46611         doc/glibc-functions/alphasort.texi.
46612         * doc/posix-functions/dirfd.texi: Renamed from
46613         doc/glibc-functions/dirfd.texi.
46614         * doc/posix-functions/dprintf.texi: Renamed from
46615         doc/glibc-functions/dprintf.texi.
46616         * doc/posix-functions/duplocale.texi: Renamed from
46617         doc/glibc-functions/duplocale.texi.
46618         * doc/posix-functions/fexecve.texi: Renamed from
46619         doc/glibc-functions/fexecve.texi.
46620         * doc/posix-functions/fmemopen.texi: Renamed from
46621         doc/glibc-functions/fmemopen.texi.
46622         * doc/posix-functions/freelocale.texi: Renamed from
46623         doc/glibc-functions/freelocale.texi.
46624         * doc/posix-functions/getdate_err.texi: Renamed from
46625         doc/glibc-functions/getdate_err.texi.
46626         * doc/posix-functions/isalnum_l.texi: Renamed from
46627         doc/glibc-functions/isalnum_l.texi.
46628         * doc/posix-functions/isalpha_l.texi: Renamed from
46629         doc/glibc-functions/isalpha_l.texi.
46630         * doc/posix-functions/isblank_l.texi: Renamed from
46631         doc/glibc-functions/isblank_l.texi.
46632         * doc/posix-functions/iscntrl_l.texi: Renamed from
46633         doc/glibc-functions/iscntrl_l.texi.
46634         * doc/posix-functions/isdigit_l.texi: Renamed from
46635         doc/glibc-functions/isdigit_l.texi.
46636         * doc/posix-functions/isgraph_l.texi: Renamed from
46637         doc/glibc-functions/isgraph_l.texi.
46638         * doc/posix-functions/islower_l.texi: Renamed from
46639         doc/glibc-functions/islower_l.texi.
46640         * doc/posix-functions/isprint_l.texi: Renamed from
46641         doc/glibc-functions/isprint_l.texi.
46642         * doc/posix-functions/ispunct_l.texi: Renamed from
46643         doc/glibc-functions/ispunct_l.texi.
46644         * doc/posix-functions/isspace_l.texi: Renamed from
46645         doc/glibc-functions/isspace_l.texi.
46646         * doc/posix-functions/isupper_l.texi: Renamed from
46647         doc/glibc-functions/isupper_l.texi.
46648         * doc/posix-functions/iswalnum_l.texi: Renamed from
46649         doc/glibc-functions/iswalnum_l.texi.
46650         * doc/posix-functions/iswalpha_l.texi: Renamed from
46651         doc/glibc-functions/iswalpha_l.texi.
46652         * doc/posix-functions/iswblank_l.texi: Renamed from
46653         doc/glibc-functions/iswblank_l.texi.
46654         * doc/posix-functions/iswcntrl_l.texi: Renamed from
46655         doc/glibc-functions/iswcntrl_l.texi.
46656         * doc/posix-functions/iswctype_l.texi: Renamed from
46657         doc/glibc-functions/iswctype_l.texi.
46658         * doc/posix-functions/iswdigit_l.texi: Renamed from
46659         doc/glibc-functions/iswdigit_l.texi.
46660         * doc/posix-functions/iswgraph_l.texi: Renamed from
46661         doc/glibc-functions/iswgraph_l.texi.
46662         * doc/posix-functions/iswlower_l.texi: Renamed from
46663         doc/glibc-functions/iswlower_l.texi.
46664         * doc/posix-functions/iswprint_l.texi: Renamed from
46665         doc/glibc-functions/iswprint_l.texi.
46666         * doc/posix-functions/iswpunct_l.texi: Renamed from
46667         doc/glibc-functions/iswpunct_l.texi.
46668         * doc/posix-functions/iswspace_l.texi: Renamed from
46669         doc/glibc-functions/iswspace_l.texi.
46670         * doc/posix-functions/iswupper_l.texi: Renamed from
46671         doc/glibc-functions/iswupper_l.texi.
46672         * doc/posix-functions/iswxdigit_l.texi: Renamed from
46673         doc/glibc-functions/iswxdigit_l.texi.
46674         * doc/posix-functions/isxdigit_l.texi: Renamed from
46675         doc/glibc-functions/isxdigit_l.texi.
46676         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
46677         doc/glibc-functions/mbsnrtowcs.texi.
46678         * doc/posix-functions/mkdtemp.texi: Renamed from
46679         doc/glibc-functions/mkdtemp.texi.
46680         * doc/posix-functions/newlocale.texi: Renamed from
46681         doc/glibc-functions/newlocale.texi.
46682         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
46683         doc/glibc-functions/nl_langinfo_l.texi.
46684         * doc/posix-functions/open_memstream.texi: Renamed from
46685         doc/glibc-functions/open_memstream.texi.
46686         * doc/posix-functions/opterr.texi: Renamed from
46687         doc/glibc-functions/opterr.texi.
46688         * doc/posix-functions/optind.texi: Renamed from
46689         doc/glibc-functions/optind.texi.
46690         * doc/posix-functions/optopt.texi: Renamed from
46691         doc/glibc-functions/optopt.texi.
46692         * doc/posix-functions/psignal.texi: Renamed from
46693         doc/glibc-functions/psignal.texi.
46694         * doc/posix-functions/scandir.texi: Renamed from
46695         doc/glibc-functions/scandir.texi.
46696         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
46697         doc/glibc-functions/sched_get_priority_min.texi.
46698         * doc/posix-functions/signgam.texi: Renamed from
46699         doc/glibc-functions/signgam.texi.
46700         * doc/posix-functions/stpcpy.texi: Renamed from
46701         doc/glibc-functions/stpcpy.texi.
46702         * doc/posix-functions/stpncpy.texi: Renamed from
46703         doc/glibc-functions/stpncpy.texi.
46704         * doc/posix-functions/strcasecmp_l.texi: Renamed from
46705         doc/glibc-functions/strcasecmp_l.texi.
46706         * doc/posix-functions/strcoll_l.texi: Renamed from
46707         doc/glibc-functions/strcoll_l.texi.
46708         * doc/posix-functions/strfmon_l.texi: Renamed from
46709         doc/glibc-functions/strfmon_l.texi.
46710         * doc/posix-functions/strftime_l.texi: Renamed from
46711         doc/glibc-functions/strftime_l.texi.
46712         * doc/posix-functions/strncasecmp_l.texi: Renamed from
46713         doc/glibc-functions/strncasecmp_l.texi.
46714         * doc/posix-functions/strndup.texi: Renamed from
46715         doc/glibc-functions/strndup.texi.
46716         * doc/posix-functions/strnlen.texi: Renamed from
46717         doc/glibc-functions/strnlen.texi.
46718         * doc/posix-functions/strsignal.texi: Renamed from
46719         doc/glibc-functions/strsignal.texi.
46720         * doc/posix-functions/strxfrm_l.texi: Renamed from
46721         doc/glibc-functions/strxfrm_l.texi.
46722         * doc/posix-functions/timer_gettime.texi: Renamed from
46723         doc/glibc-functions/timer_gettime.texi.
46724         * doc/posix-functions/tolower_l.texi: Renamed from
46725         doc/glibc-functions/tolower_l.texi.
46726         * doc/posix-functions/toupper_l.texi: Renamed from
46727         doc/glibc-functions/toupper_l.texi.
46728         * doc/posix-functions/towctrans_l.texi: Renamed from
46729         doc/glibc-functions/towctrans_l.texi.
46730         * doc/posix-functions/towlower_l.texi: Renamed from
46731         doc/glibc-functions/towlower_l.texi.
46732         * doc/posix-functions/towupper_l.texi: Renamed from
46733         doc/glibc-functions/towupper_l.texi.
46734         * doc/posix-functions/uselocale.texi: Renamed from
46735         doc/glibc-functions/uselocale.texi.
46736         * doc/posix-functions/vdprintf.texi: Renamed from
46737         doc/glibc-functions/vdprintf.texi.
46738         * doc/posix-functions/wcpcpy.texi:
46739         Renamed from doc/glibc-functions/wcpcpy.texi.
46740         * doc/posix-functions/wcpncpy.texi: Renamed from
46741         doc/glibc-functions/wcpncpy.texi.
46742         * doc/posix-functions/wcscasecmp.texi: Renamed from
46743         doc/glibc-functions/wcscasecmp.texi.
46744         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
46745         doc/glibc-functions/wcscasecmp_l.texi.
46746         * doc/posix-functions/wcscoll_l.texi: Renamed from
46747         doc/glibc-functions/wcscoll_l.texi.
46748         * doc/posix-functions/wcsdup.texi: Renamed from
46749         doc/glibc-functions/wcsdup.texi.
46750         * doc/posix-functions/wcsncasecmp.texi: Renamed from
46751         doc/glibc-functions/wcsncasecmp.texi.
46752         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
46753         doc/glibc-functions/wcsncasecmp_l.texi.
46754         * doc/posix-functions/wcsnlen.texi: Renamed from
46755         doc/glibc-functions/wcsnlen.texi.
46756         * doc/posix-functions/wcsnrtombs.texi: Renamed from
46757         doc/glibc-functions/wcsnrtombs.texi.
46758         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
46759         doc/glibc-functions/wcsxfrm_l.texi.
46760         * doc/posix-functions/wctrans_l.texi: Renamed from
46761         doc/glibc-functions/wctrans_l.texi.
46762         * doc/posix-functions/wctype_l.texi: Renamed from
46763         doc/glibc-functions/wctype_l.texi.
46764         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46765         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
46766         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
46767         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
46768         these subsections.
46769         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
46770         Remove sections.
46771
46772 2008-12-14  Bruno Haible  <bruno@clisp.org>
46773
46774         Update doc for POSIX:2008.
46775         * doc/posix-functions/*.texi: Update URL of POSIX specification.
46776
46777 2008-12-14  Bruno Haible  <bruno@clisp.org>
46778
46779         Update doc for POSIX:2008.
46780         * doc/pastposix-functions/bcmp.texi: Renamed from
46781         doc/posix-functions/bcmp.texi.
46782         * doc/pastposix-functions/bcopy.texi: Renamed from
46783         doc/posix-functions/bcopy.texi.
46784         * doc/pastposix-functions/bsd_signal.texi: Renamed from
46785         doc/posix-functions/bsd_signal.texi.
46786         * doc/pastposix-functions/bzero.texi: Renamed from
46787         doc/posix-functions/bzero.texi.
46788         * doc/pastposix-functions/ecvt.texi: Renamed from
46789         doc/posix-functions/ecvt.texi.
46790         * doc/pastposix-functions/fcvt.texi: Renamed from
46791         doc/posix-functions/fcvt.texi.
46792         * doc/pastposix-functions/ftime.texi: Renamed from
46793         doc/posix-functions/ftime.texi.
46794         * doc/pastposix-functions/gcvt.texi: Renamed from
46795         doc/posix-functions/gcvt.texi.
46796         * doc/pastposix-functions/getcontext.texi: Renamed from
46797         doc/posix-functions/getcontext.texi.
46798         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
46799         doc/posix-functions/gethostbyaddr.texi.
46800         * doc/pastposix-functions/gethostbyname.texi: Renamed from
46801         doc/posix-functions/gethostbyname.texi.
46802         * doc/pastposix-functions/getwd.texi: Renamed from
46803         doc/posix-functions/getwd.texi.
46804         * doc/pastposix-functions/h_errno.texi: Renamed from
46805         doc/posix-functions/h_errno.texi.
46806         * doc/pastposix-functions/index.texi: Renamed from
46807         doc/posix-functions/index.texi.
46808         * doc/pastposix-functions/makecontext.texi: Renamed from
46809         doc/posix-functions/makecontext.texi.
46810         * doc/pastposix-functions/mktemp.texi: Renamed from
46811         doc/posix-functions/mktemp.texi.
46812         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
46813         doc/posix-functions/pthread_attr_getstackaddr.texi.
46814         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
46815         doc/posix-functions/pthread_attr_setstackaddr.texi.
46816         * doc/pastposix-functions/rindex.texi: Renamed from
46817         doc/posix-functions/rindex.texi.
46818         * doc/pastposix-functions/scalb.texi: Renamed from
46819         doc/posix-functions/scalb.texi.
46820         * doc/pastposix-functions/setcontext.texi: Renamed from
46821         doc/posix-functions/setcontext.texi.
46822         * doc/pastposix-functions/swapcontext.texi: Renamed from
46823         doc/posix-functions/swapcontext.texi.
46824         * doc/pastposix-functions/ualarm.texi: Renamed from
46825         doc/posix-functions/ualarm.texi.
46826         * doc/pastposix-functions/usleep.texi: Renamed from
46827         doc/posix-functions/usleep.texi.
46828         * doc/pastposix-functions/vfork.texi: Renamed from
46829         doc/posix-functions/vfork.texi.
46830         * doc/pastposix-functions/wcswcs.texi: Renamed from
46831         doc/posix-functions/wcswcs.texi.
46832         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
46833         (Function Substitutes): Update.
46834
46835 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46836
46837         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
46838         m4/strerror.m4.
46839
46840 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46841             Bruno Haible  <bruno@clisp.org>
46842
46843         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
46844
46845 2008-12-13  Bruno Haible  <bruno@clisp.org>
46846
46847         * modules/strtoull (Depends-on): Remove unistd.
46848
46849 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46850
46851         * modules/strtoull (Depends-on): Add stdlib.
46852
46853 2008-12-11  Simon Josefsson  <simon@josefsson.org>
46854
46855         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
46856
46857 2008-12-10  Jim Meyering  <meyering@redhat.com>
46858
46859         gl_ASSERT: don't say assertions are disabled when they're not
46860         * m4/assert.m4 (gl_ASSERT): Do not make configure report
46861         "checking whether to enable assertions... no", when they are in
46862         fact enabled.  This is solely a bug in the output of configure.
46863         In spite of saying "no", NDEBUG was not defined in that case.
46864         Also, as noted by Eric Blake, leave assertions enabled upon
46865         --enable-assert=INVALID.
46866
46867 2008-12-10  Bruno Haible  <bruno@clisp.org>
46868
46869         Change MODULES.html to refer to POSIX:2008 where possible.
46870         * MODULES.html.sh (POSIX2008_URL): New variable.
46871         (posix_headers): Remove sys/timeb, ucontext.
46872         (posix2001_headers): New variable.
46873         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
46874         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
46875         index, makecontext, mktemp, pthread_attr_getstackaddr,
46876         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
46877         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
46878         (posix2001_functions): New variable.
46879         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
46880         otherwise.
46881
46882 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46883
46884         add missing include to parse-duration.c
46885         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
46886         * modules/parse-duration (Depends-on): Add xalloc.
46887
46888         fix sed script reading maint.mk
46889         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
46890         (syntax-check-rules): Use it.
46891
46892 2008-12-09  Bruno Haible  <bruno@clisp.org>
46893
46894         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
46895         MacOS X 10.4/PowerPC.
46896         Reported by Simon Josefsson.
46897
46898 2008-12-08  Jim Meyering  <meyering@redhat.com>
46899
46900         work around mingw's lack of some S_IF definitions
46901         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
46902         Reported by Simon Josefsson.
46903
46904 2008-12-08  Bruno Haible  <bruno@clisp.org>
46905
46906         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
46907         applied to variables. Needed on MacOS X 10.4/PowerPC.
46908         Reported by Simon Josefsson.
46909
46910 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
46911         and Eric Blake  <ebb9@byu.net>
46912
46913         assert: honor --enable-assert
46914         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
46915         order to honor --enable-assert, rather than treating it as a
46916         synonym for --disable-assert.
46917
46918 2008-12-08  Jim Meyering  <meyering@redhat.com>
46919
46920         * lib/posixtm.c: Remove now-useless declaration of mktime.
46921
46922         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
46923
46924 2008-12-07  Bruno Haible  <bruno@clisp.org>
46925
46926         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
46927         test_once): Mark functions as static.
46928         * tests/test-tls.c (test_tls): Likewise.
46929
46930 2008-12-07  Bruno Haible  <bruno@clisp.org>
46931
46932         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
46933         iconv_register_autodetect.
46934
46935 2008-12-07  Jim Meyering  <meyering@redhat.com>
46936
46937         posixtm.c: avoid a warning
46938         * lib/posixtm.c (posixtime): Don't initialize tm0.
46939         It's no longer needed to placate gcc4's -Wuninitialized,
46940         and the attempt to placate would elicit a new warning.
46941
46942         unicodeio.c: mark unused parameters
46943         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46944         (fallback_failure_callback): Likewise.
46945
46946 2008-12-07  Bruno Haible  <bruno@clisp.org>
46947
46948         * gnulib-tool (func_create_testdir): When building the tests
46949         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
46950         Reported by Simon Josefsson.
46951
46952 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46953
46954         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
46955
46956 2008-12-06  Bruno Haible  <bruno@clisp.org>
46957
46958         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
46959         Suggested by Eric Blake.
46960
46961 2008-12-06  Bruno Haible  <bruno@clisp.org>
46962
46963         Fix a c-stack test failure on MacOS X.
46964         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
46965         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
46966         handler for SIGBUS as well.
46967         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
46968         install a signal handler for SIGBUS as well.
46969         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
46970
46971 2008-12-06  Bruno Haible  <bruno@clisp.org>
46972
46973         Advocacy documentation.
46974         * doc/gnulib-intro.texi (Benefits): New section.
46975         * doc/gnulib.texi: Update.
46976
46977 2008-12-06  Bruno Haible  <bruno@clisp.org>
46978
46979         Document the 'manywarnings' module.
46980         * doc/manywarnings.texi: New file.
46981         * doc/gnulib.texi: Include it.
46982
46983 2008-12-05  Eric Blake  <ebb9@byu.net>
46984
46985         tests: silence some gcc warnings
46986         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
46987         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
46988         type mismatches.
46989
46990 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46991             Bruno Haible  <bruno@clisp.org>
46992
46993         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
46994
46995 2008-11-29  Jim Meyering  <meyering@redhat.com>
46996
46997         unicodeio.c: mark unused parameters
46998         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46999         (fallback_failure_callback): Likewise.
47000
47001         fts: fix a thinko
47002         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
47003         (set_stat_type): Return S_IF*-valued "type" directly.
47004         Prompted by James Youngman's spotting a related bug.
47005         Confirmed by further testing through find.
47006
47007         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
47008         * lib/fts.c (D_TYPE): Define.
47009         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
47010         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
47011         (s_ifmt_shift_bits): New function.
47012         (set_stat_type): New function.
47013         (fts_build): When not calling fts_stat, call set_stat_type
47014         to propagate dirent.d_type info to fts_read caller.
47015         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
47016         fts_statp->st_mode type information may be valid.
47017
47018 2008-11-28  Simon Josefsson  <simon@josefsson.org>
47019
47020         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
47021         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
47022         <sds@gnu.org>.
47023
47024 2008-11-20  Bruno Haible  <bruno@clisp.org>
47025
47026         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
47027         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
47028         INCLUDE_NEXT.
47029         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
47030         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
47031         * modules/math (Makefile.am): Substitute
47032         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
47033         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47034
47035 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
47036             Bruno Haible  <bruno@clisp.org>
47037
47038         * lib/stdint.in.h: Define all type macros so that their expansion is
47039         a single typedef'ed token. Fixes a compilation failure in Boost which
47040         does "using ::int8_t;".
47041
47042 2008-11-18  Simon Josefsson  <simon@josefsson.org>
47043
47044         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
47045         gl_MANYWARN_ALL_GCC.
47046         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
47047         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
47048         * modules/manywarnings: New file.
47049         * MODULES.html.sh: Mention manywarnings module.
47050
47051 2008-11-18  Bruno Haible  <bruno@clisp.org>
47052
47053         * doc/gnulib-tool.texi (Unit tests): New section.
47054
47055 2008-11-18  Simon Josefsson  <simon@josefsson.org>
47056
47057         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
47058         paths like 'lib/po/foo.po'.
47059
47060 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47061
47062         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
47063         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
47064
47065 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47066
47067         * m4/warnings.m4: Use CPPFLAGS to really check whether the
47068         parameter works.
47069
47070 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47071
47072         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
47073
47074 2008-11-17  Bruce Korb  <bkorb@gnu.org>
47075
47076         * modules/parse-duration-tests: New file.
47077         * tests/test-parse-duration.sh: New file.
47078         * tests/test-parse-duration.c: New file.
47079
47080         New module 'parse-duration'.
47081         * lib/parse-duration.h: New file.
47082         * lib/parse-duration.c: New file.
47083         * modules/parse-duration: New file.
47084
47085 2008-11-17  Bruno Haible  <bruno@clisp.org>
47086
47087         * tests/test-select-out.sh: Comment out the first pipe test.
47088         Reported by Simon Josefsson.
47089
47090 2008-11-17  Bruno Haible  <bruno@clisp.org>
47091
47092         * modules/getaddrinfo (Depends-on): Add servent, hostent.
47093         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
47094         gl_HOSTENT.
47095
47096 2008-11-17  Bruno Haible  <bruno@clisp.org>
47097
47098         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
47099         -lnetwork and -lnet. Needed for Haiku and BeOS.
47100
47101 2008-11-16  Bruno Haible  <bruno@clisp.org>
47102
47103         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
47104
47105 2008-11-16  Bruno Haible  <bruno@clisp.org>
47106
47107         Avoid test failure on Haiku.
47108         * tests/test-fsync.c: Include <errno.h>.
47109         (main): Don't require that fsync (0) fails.
47110
47111 2008-11-15  Bruno Haible  <bruno@clisp.org>
47112
47113         New module 'hostent'.
47114         * modules/hostent: New file.
47115         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
47116
47117 2008-11-15  Bruno Haible  <bruno@clisp.org>
47118
47119         New module 'servent'.
47120         * modules/servent: New file.
47121         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
47122
47123 2008-11-15  Bruno Haible  <bruno@clisp.org>
47124
47125         Avoid generating same test program with two different rules.
47126         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
47127         test-frexp to test-frexp-nolibm.
47128         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
47129         test-frexpl to test-frexpl-nolibm.
47130
47131 2008-11-15  Bruno Haible  <bruno@clisp.org>
47132
47133         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
47134         $(FREXPL_LIBM).
47135
47136 2008-11-15  Bruno Haible  <bruno@clisp.org>
47137
47138         * lib/netdb.in.h: Activate the definitions also when the system's
47139         <netdb.h> has 'struct addrinfo'.
47140         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
47141         EAI_OVERFLOW or AI_NUMERICSERV.
47142         * doc/posix-headers/netdb.texi: Document the problem.
47143
47144 2008-11-15  Bruno Haible  <bruno@clisp.org>
47145
47146         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
47147
47148         Make the 'sched' module work on platforms where <sched.h> exists but
47149         is incomplete (such as Haiku).
47150         * lib/sched.in.h; Include the system's <sched.h> if it exists.
47151         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
47152         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
47153         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
47154         HAVE_STRUCT_SCHED_PARAM.
47155         * modules/sched (Depends-on): Add include_next.
47156         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
47157         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
47158         * doc/posix-headers/sched.texi: Document the issue.
47159
47160 2008-11-13  Jim Meyering  <meyering@redhat.com>
47161
47162         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
47163         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
47164         test would fail due to the difference in the Report bugs to ...
47165         line.  The expected address is empty, "<>", while the actual
47166         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
47167
47168 2008-11-12  Bruno Haible  <bruno@clisp.org>
47169
47170         lstat: don't compile lstat.c on systems lacking lstat
47171         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
47172         which don't have lstat; this is handled by lib/sys_stat.in.h already.
47173         Reported by Daniel P. Berrange via Jim Meyering.
47174
47175 2008-11-12  Jim Meyering  <meyering@redhat.com>
47176
47177         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
47178
47179 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47180
47181         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
47182         instead.
47183
47184 2008-11-12  Bruno Haible  <bruno@clisp.org>
47185
47186         * lib/unicodeio.c: Include unistr.h.
47187         (utf8_wctomb): Remove function.
47188         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
47189
47190 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47191
47192         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
47193         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
47194         <bruno@clisp.org>.
47195         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
47196
47197 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47198
47199         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
47200         * doc/gnulib.texi: Add section for warnings.
47201
47202 2008-11-11  Bruno Haible  <bruno@clisp.org>
47203
47204         * lib/sockets.h: Add a comment.
47205
47206 2008-11-11  Karl Berry  <karl@gnu.org>
47207
47208         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
47209
47210 2008-11-11  Eric Blake  <ebb9@byu.net>
47211
47212         fdl.texi: avoid git symlinks
47213         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
47214
47215 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47216
47217         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
47218
47219 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47220
47221         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
47222         (gl_WARN_ADD): Substitute $2 if literal.
47223
47224 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47225
47226         * m4/warning.m4: Remove.
47227
47228 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47229
47230         * m4/warnings.m4: Almost complete rewrite. :-)
47231
47232 2008-11-10  Simon Josefsson  <simon@josefsson.org>
47233
47234         * modules/warnings: New module.
47235         * m4/warnings.m4: New file.
47236         * MODULES.html.sh: Mention warnings module.
47237         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
47238         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47239
47240 2008-11-10  Eric Blake  <ebb9@byu.net>
47241
47242         fdl.texi: make a symlink to the latest version
47243         * doc/standards.texi: Revert today's earlier change.
47244         * doc/fdl-1.2.texi: Rename from old fdl.texi...
47245         * doc/fdl.texi: ...and replace this with a symlink to the newer
47246         fdl-1.3.texi.
47247
47248 2008-11-10  Bruno Haible  <bruno@clisp.org>
47249
47250         * tests/test-select-fd.c (main): Accept the result file name as fourth
47251         argument.
47252         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
47253         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
47254
47255 2008-11-10  Bruno Haible  <bruno@clisp.org>
47256
47257         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
47258         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
47259         as autoconf-substituted macros.
47260         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
47261         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
47262         gl_NETDB_H_DEFAULTS. Set these variables.
47263         * modules/netdb (Makefile.am): Substitute these variables.
47264
47265 2008-11-10  Eric Blake  <ebb9@byu.net>
47266
47267         standards.texi: include correct file for FDL 1.3
47268         * doc/standards.texi (GNU Free Documentation License): Change
47269         include file to pull in FDL 1.3, not 1.2.
47270
47271         fdl.texi: revert accidental change to license
47272         * doc/fdl.texi: This is FDL 1.2, not 1.3.
47273
47274 2008-11-10  Bruno Haible  <bruno@clisp.org>
47275
47276         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
47277         cross-compiling guesses also when the native compile gives no result.
47278
47279 2008-11-10  Bruno Haible  <bruno@clisp.org>
47280
47281         * lib/spawni.c (__spawni): Force variable into the stack.
47282
47283 2008-11-10  Bruno Haible  <bruno@clisp.org>
47284
47285         Add support for Haiku.
47286         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
47287         glibc and BeOS, but also on Haiku.
47288         * lib/fpurge.c (fpurge): Likewise.
47289         * lib/freadable.c (freadable): Likewise.
47290         * lib/freadahead.c (freadahead): Likewise.
47291         * lib/freading.c (freading): Likewise.
47292         * lib/freadptr.c (freadptr): Likewise.
47293         * lib/freadseek.c (freadptrinc): Likewise.
47294         * lib/fseeko.c (rpl_fseeko): Likewise.
47295         * lib/fseterr.c (fseterr): Likewise.
47296         * lib/fwritable.c (fwritable): Likewise.
47297         * lib/fwriting.c (fwriting): Likewise.
47298         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
47299
47300 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
47301
47302         * lib/config.charset: Treat Haiku like BeOS.
47303
47304 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
47305
47306         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
47307         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
47308
47309 2008-11-08  Bruno Haible  <bruno@clisp.org>
47310
47311         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
47312         AC_CACHE_CHECK.
47313
47314 2008-11-08  Bruno Haible  <bruno@clisp.org>
47315
47316         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
47317
47318 2008-11-08  Bruno Haible  <bruno@clisp.org>
47319
47320         * tests/test-select-fd.c: New file.
47321         * tests/test-select-in.sh: New file.
47322         * tests/test-select-out.sh: New file.
47323         * tests/test-select-stdin.c: New file.
47324         * modules/select-tests (Files): Add the new files.
47325         (Depends-on): Add gettimeofday.
47326         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
47327         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
47328         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
47329
47330 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
47331             Bruno Haible  <bruno@clisp.org>
47332
47333         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
47334
47335 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
47336
47337         * build-aux/pmccabe2html: Added support for C++ source files.
47338
47339 2008-11-05  Ben Pfaff  <blp@gnu.org>
47340
47341         Fix lib/close.c build on Windows.
47342         * modules/close (Files): Add lib/w32sock.h.
47343
47344 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
47345
47346         Accept Bison's NEWS format.
47347         * build-aux/announce-gen (print_news_deltas): Tweak
47348         $re_prefix.
47349
47350 2008-11-04  Bruno Haible  <bruno@clisp.org>
47351
47352         * modules/random_r (Maintainer): Add glibc.
47353
47354 2008-11-04  Simon Josefsson  <simon@josefsson.org>
47355
47356         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
47357         by karl@freefriends.org (Karl Berry).
47358         * doc/alloca.texi: Likewise.
47359         * doc/c-ctype.texi: Likewise.
47360         * doc/c-strcase.texi: Likewise.
47361         * doc/c-strcaseeq.texi: Likewise.
47362         * doc/c-strcasestr.texi: Likewise.
47363         * doc/c-strstr.texi: Likewise.
47364         * doc/c-strtod.texi: Likewise.
47365         * doc/c-strtold.texi: Likewise.
47366         * doc/ctime.texi: Likewise.
47367         * doc/error.texi: Likewise.
47368         * doc/fdl.texi: Likewise.
47369         * doc/gcd.texi: Likewise.
47370         * doc/getdate.texi: Likewise.
47371         * doc/gnulib-intro.texi: Likewise.
47372         * doc/gnulib-tool.texi: Likewise.
47373         * doc/gnulib.texi: Likewise.
47374         * doc/inet_ntoa.texi: Likewise.
47375         * doc/maintain.texi: Likewise.
47376         * doc/make-stds.texi: Likewise.
47377         * doc/quote.texi: Likewise.
47378         * doc/regexprops-generic.texi: Likewise.
47379         * doc/standards.texi: Likewise.
47380         * doc/verify.texi: Likewise.
47381         * doc/visibility.texi: Likewise.
47382         * doc/gnulib.texi (GNU Free Documentation License): Include
47383         fdl-1.3.texi instead of fdl.texi.
47384
47385 2008-11-04  Simon Josefsson  <simon@josefsson.org>
47386
47387         * doc/fdl-1.3.texi: New file, from
47388         <http://www.gnu.org/licenses/fdl-1.3.texi>.
47389         * modules/fdl-1.3: Add.
47390         * MODULES.html.sh: Add fdl-1.3.
47391
47392 2008-11-03  Bruno Haible  <bruno@clisp.org>
47393
47394         Make determination of absolute name of header file work with AIX xlc.
47395         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
47396         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
47397         preprocessing.
47398         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
47399         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
47400
47401 2008-11-03  Simon Josefsson  <simon@josefsson.org>
47402
47403         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
47404         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
47405         <ludo@gnu.org>.
47406
47407 2008-11-02  Bruno Haible  <bruno@clisp.org>
47408
47409         Mark 'strpbrk' obsolete.
47410         * modules/strpbrk (Status, Notice): New sections.
47411         * modules/strtok_r (Depends-on): Add strpbrk.
47412
47413 2008-11-02  Bruno Haible  <bruno@clisp.org>
47414
47415         Mark 'strdup' obsolete.
47416         * modules/strdup (Status, Notice): New sections.
47417         * modules/findprog (Depends-on): Add strdup.
47418         * modules/getaddrinfo (Depends-on): Likewise.
47419         * modules/localename (Depends-on): Likewise.
47420         * modules/relocatable-lib (Depends-on): Likewise.
47421         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
47422         * modules/relocatable-prog (Depends-on): Likewise.
47423         * modules/trim (Depends-on): Likewise.
47424         * modules/unictype/gen-ctype (Depends-on): Likewise.
47425         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
47426
47427 2008-11-02  Bruno Haible  <bruno@clisp.org>
47428
47429         Mark 'strcspn' obsolete.
47430         * modules/strcspn (Status, Notice): New sections.
47431
47432 2008-11-02  Bruno Haible  <bruno@clisp.org>
47433
47434         Mark 'rmdir' obsolete.
47435         * modules/rmdir (Status, Notice): New sections.
47436         * modules/clean-temp (Depends-on): Add rmdir.
47437         * modules/openat (Depends-on): Likewise.
47438
47439 2008-11-02  Bruno Haible  <bruno@clisp.org>
47440
47441         Mark 'raise' obsolete.
47442         * modules/raise (Status, Notice): New sections.
47443         (Include): Specify <signal.h>.
47444         * modules/stdio (Depends-on): Add raise.
47445         * modules/write (Depends-on): Likewise.
47446
47447 2008-11-02  Bruno Haible  <bruno@clisp.org>
47448
47449         Mark 'memset' obsolete.
47450         * modules/memset (Status, Notice): New sections.
47451
47452 2008-11-02  Bruno Haible  <bruno@clisp.org>
47453
47454         Mark 'memmove' obsolete.
47455         * modules/memmove (Status, Notice): New sections.
47456         * modules/argp (Depends-on): Add memmove.
47457         * modules/argz (Depends-on): Likewise.
47458         * modules/canonicalize (Depends-on): Likewise.
47459         * modules/canonicalize-lgpl (Depends-on): Likewise.
47460         * modules/fts (Depends-on): Likewise.
47461         * modules/getcwd (Depends-on): Likewise.
47462         * modules/human (Depends-on): Likewise.
47463         * modules/regex (Depends-on): Likewise.
47464         * modules/striconveh (Depends-on): Likewise.
47465         * modules/trim (Depends-on): Likewise.
47466         * modules/unistr/u8-move (Depends-on): Likewise.
47467         * modules/unistr/u16-move (Depends-on): Likewise.
47468         * modules/unistr/u32-move (Depends-on): Likewise.
47469
47470 2008-11-02  Bruno Haible  <bruno@clisp.org>
47471
47472         Mark 'memcpy' obsolete.
47473         * modules/memcpy (Status, Notice): New sections.
47474
47475 2008-11-02  Bruno Haible  <bruno@clisp.org>
47476
47477         Mark 'memcmp' obsolete.
47478         * modules/memcmp (Status, Notice): New sections.
47479         * modules/argmatch (Depends-on): Add memchr.
47480         * modules/backupfile (Depends-on): Likewise.
47481         * modules/c-strcasestr (Depends-on): Likewise.
47482         * modules/crypto/des (Depends-on): Likewise.
47483         * modules/csharpcomp (Depends-on): Likewise.
47484         * modules/fnmatch (Depends-on): Likewise.
47485         * modules/git-merge-changelog (Depends-on): Likewise.
47486         * modules/isnand (Depends-on): Likewise.
47487         * modules/isnand-nolibm (Depends-on): Likewise.
47488         * modules/isnanf (Depends-on): Likewise.
47489         * modules/isnanf-nolibm (Depends-on): Likewise.
47490         * modules/isnanl (Depends-on): Likewise.
47491         * modules/isnanl-nolibm (Depends-on): Likewise.
47492         * modules/mbchar (Depends-on): Likewise.
47493         * modules/memcoll (Depends-on): Likewise.
47494         * modules/quotearg (Depends-on): Likewise.
47495         * modules/regex (Depends-on): Likewise.
47496         * modules/relocatable-prog (Depends-on): Likewise.
47497         * modules/same (Depends-on): Likewise.
47498         * modules/signbit (Depends-on): Likewise.
47499         * modules/strcasestr-simple (Depends-on): Likewise.
47500         * modules/unictype/gen-ctype (Depends-on): Likewise.
47501         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
47502         * modules/uniname/uniname (Depends-on): Likewise.
47503         * modules/unistr/u8-cmp (Depends-on): Likewise.
47504
47505 2008-11-02  Bruno Haible  <bruno@clisp.org>
47506
47507         Mark 'memchr' obsolete.
47508         * modules/memchr (Status, Notice): New sections.
47509         * modules/argp (Depends-on): Add memchr.
47510         * modules/base64 (Depends-on): Likewise.
47511         * modules/c-strcasestr (Depends-on): Likewise.
47512         * modules/chdir-long (Depends-on): Likewise.
47513         * modules/fnmatch (Depends-on): Likewise.
47514         * modules/getsubopt (Depends-on): Likewise.
47515         * modules/git-merge-changelog (Depends-on): Likewise.
47516         * modules/glob (Depends-on): Likewise.
47517         * modules/strcasestr-simple (Depends-on): Likewise.
47518         * modules/strnlen (Depends-on): Likewise.
47519
47520 2008-11-02  Bruno Haible  <bruno@clisp.org>
47521
47522         Mark 'atexit' obsolete.
47523         * modules/atexit (Status, Notice): New sections.
47524         * modules/chdir-long (Depends-on): Add atexit.
47525         * modules/wait-process (Depends-on): Likewise.
47526
47527 2008-11-02  Bruno Haible  <bruno@clisp.org>
47528
47529         * gnulib-tool: New option --with-obsolete.
47530         (func_usage): Document it.
47531         (func_modules_transitive_closure): Drop obsolete dependencies if
47532         incobsolete is not true.
47533         (func_import): Read and save the incobsolete variable to the cache.
47534
47535 2008-11-02  Bruno Haible  <bruno@clisp.org>
47536
47537         * modules/TEMPLATE-EXTENDED: New field 'Status'.
47538         * gnulib-tool: New option --extract-status.
47539         (func_usage): Document it.
47540         (sed_extract_prog): Recognize it.
47541         (func_get_status): New function.
47542
47543 2008-10-30  Simon Josefsson  <simon@josefsson.org>
47544
47545         * modules/sockets (License): Change from LGPL to LGPLv2+.
47546
47547 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47548
47549         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
47550
47551 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47552
47553         * MODULES.html.sh (Support for systems lacking POSIX:2001):
47554         Mention times and sys_times.
47555         * modules/sys_times, modules/sys_times-tests: New modules.
47556         * modules/times, modules/times-tests: Likewise
47557         * m4/sys_times_h.m4: New file.
47558         * lib/sys_times.in.h: Likewise
47559         * lib/times.c: Likewise.
47560         * tests/test-sys_times.c: Likewise.
47561         * tests/test-times.c: Likewise.
47562         * doc/posix-headers/sys_times.texi: Update.
47563         * doc/posix-functions/times.texi: Update.
47564
47565 2008-10-28  Jim Meyering  <meyering@redhat.com>
47566
47567         * modules/tempname (Depends-on): Add lstat.
47568
47569         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
47570
47571 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47572
47573         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
47574         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
47575         using idiom used elsewhere in gnulib.
47576
47577 2008-10-27  Jim Meyering  <meyering@redhat.com>
47578
47579         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
47580
47581 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47582
47583         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
47584         TESTS_ENVIRONMENT, for shell scripts that needs to call built
47585         programs.
47586         * tests/test-argp-2.sh: Use $EXEEXT when needed.
47587
47588 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47589
47590         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
47591
47592 2008-10-27  Bruno Haible  <bruno@clisp.org>
47593
47594         * tests/test-lstat.c: Include <stdio.h>.
47595
47596 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47597
47598         * modules/lstat-tests: New module.
47599         * tests/test-lstat.c: New file.
47600
47601 2008-10-26  Jim Meyering  <meyering@redhat.com>
47602
47603         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
47604
47605 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47606             Bruno Haible  <bruno@clisp.org>
47607
47608         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
47609         * modules/configmake (Include): Add a note that the include must come
47610         after all system headers.
47611         * lib/javaversion.c: Include configmake.h after all other includes.
47612
47613 2008-10-26  Bruno Haible  <bruno@clisp.org>
47614
47615         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
47616         HAVE_STRUCT_RANDOM_DATA to 1.
47617         (gl_STDLIB_H): Simplify.
47618
47619 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47620
47621         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
47622         substitute HAVE_STRUCT_RANDOM_DATA.
47623         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
47624         random_data.
47625         * modules/stdlib (Makefile.am): Substitute
47626         HAVE_STRUCT_RANDOM_DATA.
47627
47628 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47629
47630         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
47631         * doc/gnulib-intro.texi (Copyright): Likewise.
47632
47633 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47634
47635         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
47636         findings.
47637
47638 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
47639             Bruno Haible  <bruno@clisp.org>
47640
47641         * lib/unistd.in.h: Include <winsock2.h>.
47642         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
47643         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
47644         Provide dummy declarations.
47645         (gethostname): Override.
47646         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
47647         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
47648         gl_PREREQ_SYS_H_WINSOCK2.
47649         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
47650         * doc/posix-functions/gethostname.texi: More details.
47651
47652 2008-10-25  Bruno Haible  <bruno@clisp.org>
47653
47654         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
47655         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
47656         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
47657
47658         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
47659         here ...
47660         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
47661         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
47662         gl_UNISTD_H_DEFAULTS.
47663
47664 2008-10-25  Eric Blake  <ebb9@byu.net>
47665
47666         signbit: avoid spurious compiler failure
47667         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
47668         declarations inside function.
47669
47670 2008-10-24  Simon Josefsson  <simon@josefsson.org>
47671             Bruno Haible  <bruno@clisp.org>
47672
47673         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
47674         * modules/random_r (Depends-on): Add stdint.
47675
47676 2008-10-24  Bruno Haible  <bruno@clisp.org>
47677
47678         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
47679         Eggert.
47680         * modules/strerror (License): Likewise.
47681
47682 2008-10-24  Jim Meyering  <meyering@redhat.com>
47683
47684         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
47685         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
47686
47687 2008-10-24  Eric Blake  <ebb9@byu.net>
47688
47689         getgroups: fix compilation when getgroups is available
47690         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
47691         but with <config.h> override of getgroups disabled.
47692
47693 2008-10-24  Simon Josefsson  <simon@josefsson.org>
47694
47695         * doc/gnulib.texi (Header files): Add note about C++ problems.
47696         Explained by Bruno Haible <bruno@clisp.org>.
47697
47698 2008-10-23  Bruno Haible  <bruno@clisp.org>
47699
47700         Define a dummy SA_NODEFER macro on Interix.
47701         * lib/signal.in.h (SA_NODEFER): Define fallback.
47702         Reported by Aleksey Cheusov <cheusov@tut.by> via
47703         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
47704
47705 2008-10-23  Bruno Haible  <bruno@clisp.org>
47706
47707         * modules/freadahead (License): Change to LGPLv2+.
47708         Suggested by Simon Josefsson.
47709
47710 2008-10-23  Jim Meyering  <meyering@redhat.com>
47711
47712         random_r: new module
47713         * modules/random_r: New file.
47714         * m4/random_r.m4: New file.
47715         * lib/random_r.c: New file, from glibc.
47716         * modules/random_r-tests: New file.
47717         * tests/test-random_r.c: New file.
47718         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
47719          Declare.
47720         (RAND_MAX): Define.
47721         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
47722         * modules/stdlib: Substitute them, too.
47723         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
47724         * doc/glibc-functions/initstate_r.texi: Mention the new module.
47725         * doc/glibc-functions/random_r.texi: Likewise.
47726         * doc/glibc-functions/setstate_r.texi: Likewise.
47727         * doc/glibc-functions/srandom_r.texi: Likewise.
47728         * config/srclist.txt: Mention it.
47729
47730 2008-10-23  David Lutterkort  <lutter@redhat.com>
47731
47732         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
47733         link requirement
47734
47735 2008-10-23  Jim Meyering  <meyering@redhat.com>
47736
47737         selinux-h: mark parameters of stub functions as intentionally unused
47738         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
47739         * lib/se-context.in.h: Likewise.
47740
47741 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47742
47743         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
47744
47745 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47746
47747         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
47748
47749 2008-10-22  Eric Blake  <ebb9@byu.net>
47750
47751         glthread/thread: avoid compiler warning
47752         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
47753         Add unreachable abort to silence compiler.
47754
47755 2008-10-22  Eric Blake  <ebb9@byu.net>
47756
47757         netdb: also supply struct addrinfo for cygwin 1.5.x
47758         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
47759         older cygwin.
47760         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
47761         cygwin.
47762         * doc/posix-headers/netdb.texi (netdb.h): Document this.
47763
47764 2008-10-22  Bruno Haible  <bruno@clisp.org>
47765
47766         * users.txt: Update entry about pspp.
47767
47768 2008-10-21  Bruno Haible  <bruno@clisp.org>
47769
47770         Simplification.
47771         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
47772         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
47773
47774         Simplification.
47775         * lib/ioctl.c (ioctl): Don't undefine.
47776         * lib/socket.c (socket): Don't undefine.
47777
47778         Remove unused module indicator macros.
47779         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
47780         GNULIB_$1 as a C macro.
47781
47782         * doc/posix-functions/close.texi: Undo last change.
47783         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
47784         Windows platforms.
47785
47786 2008-10-21  Bruno Haible  <bruno@clisp.org>
47787
47788         Add gethostname() declaration to <unistd.h>.
47789         * lib/unistd.in.h (gethostname): New declaration.
47790         * lib/gethostname.c: Include <unistd.h>.
47791         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
47792         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
47793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
47794         and HAVE_GETHOSTNAME.
47795         * modules/gethostname (Depends-on): Add unistd.
47796         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47797         (Include): Specify <unistd.h>.
47798         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
47799         HAVE_GETHOSTNAME.
47800         * tests/test-gethostname.c: Include <unistd.h> first.
47801
47802 2008-10-21  Bruno Haible  <bruno@clisp.org>
47803
47804         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
47805         * modules/select-tests (Depends-on): Likewise.
47806         Reported by Simon Josefsson.
47807
47808 2008-10-21  Simon Josefsson  <simon@josefsson.org>
47809
47810         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
47811         * lib/accept.c: New file, based on winsock.c.
47812         * lib/bind.c: New file, based on winsock.c.
47813         * lib/connect.c: New file, based on winsock.c.
47814         * lib/getpeername.c: New file, based on winsock.c.
47815         * lib/getsockname.c: New file, based on winsock.c.
47816         * lib/getsockopt.c: New file, based on winsock.c.
47817         * lib/ioctl.c: New file, based on winsock.c.
47818         * lib/listen.c: New file, based on winsock.c.
47819         * lib/recv.c: New file, based on winsock.c.
47820         * lib/recvfrom.c: New file, based on winsock.c.
47821         * lib/send.c: New file, based on winsock.c.
47822         * lib/sendto.c: New file, based on winsock.c.
47823         * lib/setsockopt.c: New file, based on winsock.c.
47824         * lib/shutdown.c: New file, based on winsock.c.
47825         * lib/socket.c: New file, based on winsock.c.
47826         * lib/w32sock.h: New file, based on winsock.c.
47827         * lib/winsock.c: Remove file.
47828         * modules/accept: Likewise.
47829         * modules/bind: Likewise.
47830         * modules/connect: Likewise.
47831         * modules/getpeername: Likewise.
47832         * modules/getsockname: Likewise.
47833         * modules/getsockopt: Likewise.
47834         * modules/ioctl: Likewise.
47835         * modules/listen: Likewise.
47836         * modules/recv: Likewise.
47837         * modules/recvfrom: Likewise.
47838         * modules/send: Likewise.
47839         * modules/sendto: Likewise.
47840         * modules/setsockopt: Likewise.
47841         * modules/shutdown: Likewise.
47842         * modules/socket: Use socket.c instead of winsock.c.
47843         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
47844         * doc/posix-functions/accept.texi: Doc fix.
47845         * doc/posix-functions/bind.texi: Doc fix.
47846         * doc/posix-functions/close.texi: Doc fix.
47847         * doc/posix-functions/connect.texi: Doc fix.
47848         * doc/posix-functions/getpeername.texi: Doc fix.
47849         * doc/posix-functions/getsockname.texi: Doc fix.
47850         * doc/posix-functions/getsockopt.texi: Doc fix.
47851         * doc/posix-functions/ioctl.texi: Doc fix.
47852         * doc/posix-functions/listen.texi: Doc fix.
47853         * doc/posix-functions/recv.texi: Doc fix.
47854         * doc/posix-functions/recvfrom.texi: Doc fix.
47855         * doc/posix-functions/send.texi: Doc fix.
47856         * doc/posix-functions/sendto.texi: Doc fix.
47857         * doc/posix-functions/setsockopt.texi: Doc fix.
47858         * doc/posix-functions/shutdown.texi: Doc fix.
47859         * doc/posix-functions/socket.texi: Doc fix.
47860
47861 2008-10-20  Bruno Haible  <bruno@clisp.org>
47862
47863         Take into account the role of SIGABRT_COMPAT on Windows 2008.
47864         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
47865         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
47866         as an alias for SIGABRT.
47867         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
47868         (sigaction): Map it to SIGABRT.
47869         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
47870
47871 2008-10-20  Bruno Haible  <bruno@clisp.org>
47872
47873         * lib/fts.c: Don't include lstat.h.
47874         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
47875
47876         Move the lstat() declaration to <sys/stat.h>.
47877         * lib/lstat.h: Remove file.
47878         * lib/sys_stat.in.h: Add special invocation convention.
47879         (lstat): New declaration.
47880         * lib/lstat.c (orig_lstat): New function.
47881         (rpl_lstat): Use orig_lstat instead of lstat.
47882         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
47883         AC_C_INLINE. Set REPLACE_LSTAT.
47884         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
47885         and REPLACE_LSTAT.
47886         * modules/lstat (Files): Remove lib/lstat.h.
47887         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
47888         (Include): Specify <sys/stat.h> instead of lstat.h.
47889         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
47890         REPLACE_LSTAT.
47891         * NEWS: Mention the change.
47892
47893 2008-10-20  Bruno Haible  <bruno@clisp.org>
47894
47895         * modules/posix_spawn-tests: New file.
47896         * tests/test-posix_spawn3.c: New file.
47897
47898 2008-10-20  Bruno Haible  <bruno@clisp.org>
47899
47900         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
47901         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47902         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
47903         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47904         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
47905
47906 2008-10-20  Bruno Haible  <bruno@clisp.org>
47907
47908         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
47909         of posix_spawn on AIX 5.3.
47910
47911 2008-10-20  Bruno Haible  <bruno@clisp.org>
47912
47913         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
47914
47915 2008-10-20  Bruno Haible  <bruno@clisp.org>
47916
47917         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
47918         of AC_LANG_PROGRAM.
47919
47920 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47921
47922         * lib/netdb.in.h: Don't define GNU specific constants until they
47923         are supported or needed.  Reported by Bruno Haible
47924         <bruno@clisp.org>.
47925
47926 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47927
47928         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
47929
47930 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47931
47932         * lib/getaddrinfo.h: Remove file.
47933         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
47934         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
47935         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
47936         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
47937         * modules/netdb: Substitute GNULIB_GETADDRINFO.
47938         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
47939         * tests/test-getaddrinfo.c: Likewise.
47940         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
47941         * NEWS: Mention change.
47942
47943 2008-10-19  Bruno Haible  <bruno@clisp.org>
47944
47945         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
47946
47947 2008-10-19  Bruno Haible  <bruno@clisp.org>
47948
47949         * lib/wait-process.c: Include simply <sys/wait.h>.
47950         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
47951         WIFSTOPPED): Remove fallback definitions.
47952         * modules/wait-process (Depends-on): Add sys_wait.
47953
47954         New module 'sys_wait'.
47955         * modules/sys_wait: New file.
47956         * lib/sys_wait.in.h: New file, partially copied from
47957         lib/wait-process.c.
47958         * m4/sys_wait_h.m4: New file.
47959         * doc/posix-headers/sys_wait.texi: Mention the new module.
47960
47961 2008-10-19  Bruno Haible  <bruno@clisp.org>
47962
47963         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
47964
47965 2008-10-19  Bruno Haible  <bruno@clisp.org>
47966
47967         Assume that waitpid() fills an 'int' status, not a 'union wait'.
47968         * lib/wait-process.c (WAIT_T): Remove type.
47969         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
47970         (wait_subprocess): Update.
47971
47972 2008-10-19  Bruno Haible  <bruno@clisp.org>
47973
47974         New module 'atoll'.
47975         * modules/atoll: New file.
47976         * lib/stdlib.in.h (atoll): New declaration.
47977         * lib/atoll.c: New file, from glibc with modifications.
47978         * m4/atoll.m4: New file.
47979         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
47980         HAVE_ATOLL.
47981         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
47982         * doc/posix-functions/atoll.texi: Mention the new module.
47983
47984 2008-10-19  Bruno Haible  <bruno@clisp.org>
47985
47986         Add strtoull() declaration to <stdlib.h>.
47987         * lib/stdlib.in.h (strtoull): New declaration.
47988         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47989         Set HAVE_STRTOULL.
47990         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
47991         HAVE_STRTOULL.
47992         * modules/strtoull (Depends-on): Add stdlib.
47993         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47994         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
47995         HAVE_STRTOULL.
47996
47997 2008-10-19  Bruno Haible  <bruno@clisp.org>
47998
47999         Add strtoll() declaration to <stdlib.h>.
48000         * lib/stdlib.in.h (strtoll): New declaration.
48001         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
48002         Set HAVE_STRTOLL.
48003         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
48004         HAVE_STRTOLL.
48005         * modules/strtoll (Depends-on): Add stdlib.
48006         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48007         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
48008
48009 2008-10-19  Bruno Haible  <bruno@clisp.org>
48010
48011         * modules/bcopy (Depends-on): Add strings.
48012         (Include): Specify <strings.h>.
48013
48014 2008-10-19  Bruno Haible  <bruno@clisp.org>
48015
48016         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
48017
48018 2008-10-19  Bruno Haible  <bruno@clisp.org>
48019
48020         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
48021         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
48022         mingw.
48023
48024 2008-10-19  Bruno Haible  <bruno@clisp.org>
48025
48026         * lib/atanl.c: Don't include isnanl.h.
48027         * lib/cosl.c: Likewise.
48028         * lib/ldexpl.c: Likewise.
48029         * lib/logl.c: Likewise.
48030         * lib/sinl.c: Likewise.
48031         * lib/sqrtl.c: Likewise.
48032         * lib/tanl.c: Likewise.
48033
48034         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
48035         * lib/isnanf.h: Remove file.
48036         * lib/isnand.h: Remove file.
48037         * lib/isnanl.h: Remove file.
48038         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
48039         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
48040         macros.
48041         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
48042         HAVE_ISNANF, don't define it as a C macro.
48043         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
48044         HAVE_ISNAND, don't define it as a C macro.
48045         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
48046         HAVE_ISNANL, don't define it as a C macro.
48047         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
48048         HAVE_ISNAN[FDL].
48049         * modules/isnanf (Files): Remove lib/isnanf.h.
48050         (Depends-on): Add math.
48051         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48052         (Include): Specify <math.h> instead of isnanf.h.
48053         * modules/isnand (Files): Remove lib/isnand.h.
48054         (Depends-on): Add math.
48055         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48056         (Include): Specify <math.h> instead of isnand.h.
48057         * modules/isnanl (Files): Remove lib/isnanl.h.
48058         (Depends-on): Add math.
48059         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48060         (Include): Specify <math.h> instead of isnanl.h.
48061         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
48062         HAVE_ISNAN[FDL].
48063         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
48064         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
48065         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
48066         * NEWS: Mention the change.
48067
48068 2008-10-18  Bruno Haible  <bruno@clisp.org>
48069
48070         Add getusershell(), setusershell(), endusershell() declarations to
48071         <unistd.h>.
48072         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
48073         declarations.
48074         * lib/getusershell.c: Include unistd.h.
48075         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
48076         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
48077         HAVE_GETUSERSHELL.
48078         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
48079         and HAVE_GETUSERSHELL.
48080         * modules/getusershell (Depends-on): Add unistd, extensions.
48081         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48082         (Include): Specify <unistd.h>.
48083         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
48084         HAVE_GETUSERSHELL.
48085
48086 2008-10-18  Bruno Haible  <bruno@clisp.org>
48087
48088         Add a getloadavg() declaration to <stdlib.h>.
48089         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
48090         getloadavg declaration.
48091         (getloadavg): New declaration.
48092         * lib/getloadavg.c: Include <stdlib.h> first.
48093         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
48094         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
48095         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
48096         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
48097         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
48098         * modules/getloadavg (Depends-on): Add stdlib, extensions.
48099         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48100         (Include): Specify <stdlib.h>.
48101         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
48102         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
48103
48104 2008-10-18  Bruno Haible  <bruno@clisp.org>
48105
48106         * lib/dirchownmod.c: Don't include lchmod.h.
48107
48108         Move the lchmod() declaration to <sys/stat.h>.
48109         * lib/lchmod.h: Remove file.
48110         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
48111         (lchmod): New declaration, moved here from lib/lchown.h.
48112         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
48113         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
48114         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
48115         and HAVE_LCHMOD.
48116         * modules/lchmod (Files): Remove lib/lchmod.h.
48117         (Depends-on): Add sys_stat, extensions.
48118         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
48119         (Include): Specify <sys/stat.h> instead of lchmod.h.
48120         * modules/sys_stat (Depends-on): Add link-warning.
48121         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
48122         definition of GL_LINK_WARNING.
48123         * NEWS: Mention the change.
48124
48125 2008-10-18  Bruno Haible  <bruno@clisp.org>
48126
48127         * lib/fchdir.c: Don't include dirfd.h.
48128         * lib/fts.c: Likewise.
48129         * lib/getcwd.c: Likewise.
48130         * lib/glob.c: Likewise.
48131
48132         Move the dirfd() declaration to <dirent.h>.
48133         * lib/dirfd.h: Remove file.
48134         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
48135         (dirfd): New declaration.
48136         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
48137         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
48138         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
48139         HAVE_DECL_DIRFD.
48140         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
48141         HAVE_DECL_DIRFD.
48142         * modules/dirfd (Files): Remove lib/dirfd.h.
48143         (Depends-on): Add dirent, extensions.
48144         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
48145         (Include): Specify <dirent.h> instead of dirfd.h.
48146         * modules/dirent (Depends-on): Add link-warning.
48147         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
48148         definition of GL_LINK_WARNING.
48149         * NEWS: Mention the change.
48150
48151 2008-10-18  Bruno Haible  <bruno@clisp.org>
48152
48153         Move the euidaccess() declaration to <unistd.h>.
48154         * lib/euidaccess.h: Remove file.
48155         * lib/unistd.in.h (euidaccess): New declaration.
48156         * lib/euidaccess.c: Don't include euidaccess.h.
48157         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
48158         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
48159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
48160         and HAVE_EUIDACCESS.
48161         * modules/euidaccess (Files): Remove lib/euidaccess.h.
48162         (Depends-on): Add unistd.
48163         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48164         (Include): Specify <unistd.h> instead of euidaccess.h.
48165         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
48166         HAVE_EUIDACCESS.
48167         * NEWS: Mention the change.
48168
48169 2008-10-18  Bruno Haible  <bruno@clisp.org>
48170
48171         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
48172
48173         Move the getdomainname() declaration to <unistd.h>.
48174         * lib/getdomainname.h: Remove file.
48175         * lib/unistd.in.h (getdomainname): New declaration.
48176         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
48177         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
48178         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
48179         HAVE_GETDOMAINNAME.
48180         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48181         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
48182         * modules/getdomainname (Files): Remove lib/getdomainname.h.
48183         (Depends-on): Add unistd, extensions.
48184         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48185         (Includes): Specify <unistd.h> instead of getdomainname.h.
48186         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
48187         HAVE_GETDOMAINNAME.
48188         * NEWS: Mention the change.
48189
48190 2008-10-18  Bruno Haible  <bruno@clisp.org>
48191
48192         * modules/dirent: New file.
48193         * m4/dirent_h.m4: New file.
48194         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
48195         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
48196         * modules/fchdir (Files): Remove lib/dirent.in.h.
48197         (Depends-on): Add dirent.
48198         (Makefile.am): Move rules to modules/dirent.
48199         * doc/posix-headers/dirent.texi: Mention the new module.
48200
48201 2008-10-18  Bruno Haible  <bruno@clisp.org>
48202
48203         Avoid -Wunused-parameter warnings in public gnulib header files.
48204         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
48205         macro.
48206         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
48207
48208 2008-10-18  Bruno Haible  <bruno@clisp.org>
48209
48210         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
48211         * doc/glibc-functions/error.texi: Mention the module 'error'.
48212         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
48213         * doc/glibc-functions/getdomainname.texi: Mention the module
48214         'getdomainname'.
48215         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
48216         * doc/glibc-functions/getpagesize.texi: Mention the module
48217         'getpagesize'.
48218         * doc/glibc-functions/getusershell.texi: Mention the module
48219         'getusershell'.
48220         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
48221         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
48222         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
48223         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
48224         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
48225         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
48226         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
48227         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
48228         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
48229         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
48230         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
48231         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
48232         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
48233         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
48234
48235 2008-10-17  Bruno Haible  <bruno@clisp.org>
48236
48237         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
48238         HP-UX and IRIX, use -0.0L.
48239         * tests/test-ceill.c (minus_zero): Likewise.
48240         * tests/test-floorl.c (minus_zero): Likewise.
48241         * tests/test-frexpl.c (minus_zero): Likewise.
48242         * tests/test-isnan.c (minus_zerol): Likewise.
48243         * tests/test-isnanl.h (minus_zero): Likewise.
48244         * tests/test-ldexpl.c (minus_zero): Likewise.
48245         * tests/test-roundl.c (minus_zero): Likewise.
48246         * tests/test-signbit.c (minus_zerol): Likewise.
48247         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
48248         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
48249         * tests/test-truncl.c (minus_zero): Likewise.
48250         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
48251         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
48252         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
48253         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
48254
48255 2008-10-17  Bruno Haible  <bruno@clisp.org>
48256
48257         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
48258         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
48259         that it gets activated only for gcc >= 3.0.
48260         * lib/dirent.in.h: Likewise.
48261         * lib/errno.in.h: Likewise.
48262         * lib/fcntl.in.h: Likewise.
48263         * lib/float.in.h: Likewise.
48264         * lib/iconv.in.h: Likewise.
48265         * lib/inttypes.in.h: Likewise.
48266         * lib/locale.in.h: Likewise.
48267         * lib/math.in.h: Likewise.
48268         * lib/netdb.in.h: Likewise.
48269         * lib/netinet_in.in.h: Likewise.
48270         * lib/search.in.h: Likewise.
48271         * lib/signal.in.h: Likewise.
48272         * lib/spawn.in.h: Likewise.
48273         * lib/stdarg.in.h: Likewise.
48274         * lib/stdint.in.h: Likewise.
48275         * lib/stdio.in.h: Likewise.
48276         * lib/stdlib.in.h: Likewise.
48277         * lib/string.in.h: Likewise.
48278         * lib/strings.in.h: Likewise.
48279         * lib/sys_file.in.h: Likewise.
48280         * lib/sys_ioctl.in.h: Likewise.
48281         * lib/sys_select.in.h: Likewise.
48282         * lib/sys_socket.in.h: Likewise.
48283         * lib/sys_stat.in.h: Likewise.
48284         * lib/sys_time.in.h: Likewise.
48285         * lib/sysexits.in.h: Likewise.
48286         * lib/time.in.h: Likewise.
48287         * lib/unistd.in.h: Likewise.
48288         * lib/wchar.in.h: Likewise.
48289         * lib/wctype.in.h: Likewise.
48290         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48291
48292 2008-10-17  Jim Meyering  <meyering@redhat.com>
48293
48294         ignore-value: don't depend on inline module
48295         * modules/ignore-value (Depends-on): Remove 'inline'.
48296         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
48297         Suggestion from Bruno Haible.
48298
48299 2008-10-17  Bruno Haible  <bruno@clisp.org>
48300
48301         New implementation of condition variables for Win32.
48302         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
48303         (gl_linked_waitqueue_t): New type.
48304         (gl_cond_t): Use it.
48305         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
48306         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
48307         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
48308         (glthread_cond_init_func, glthread_cond_wait_func,
48309         glthread_cond_timedwait_func, glthread_cond_signal_func,
48310         glthread_cond_broadcast_func, glthread_cond_destroy_func):
48311         Reimplemented on the basis of gl_linked_waitqueue_t.
48312         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
48313         gl_waitqueue_t.
48314         (gl_rwlock_t): Update.
48315         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
48316
48317 2008-10-17  Simon Josefsson  <simon@josefsson.org>
48318
48319         * modules/recvfrom (Depends-on): Add dependency on getpeername.
48320         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48321
48322 2008-10-17  Jim Meyering  <meyering@redhat.com>
48323
48324         ignore-value: new module
48325         * modules/ignore-value: New file.
48326         * lib/ignore-value.h: New file.
48327         * MODULES.html.sh (Compiler warning management): New section,
48328         just for this module.  More to come.
48329
48330 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48331
48332         open-safer.c: avoid 'signed and unsigned in conditional...' warning
48333         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
48334         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
48335
48336 2008-10-16  Jim Meyering  <meyering@redhat.com>
48337
48338         openat-die.c: avoid 'no previous prototype' warning
48339         * lib/openat-die.c: Include "openat.h".
48340         Reported by Reuben Thomas <rrt@sc3d.org>.
48341
48342 2008-10-16  Simon Josefsson  <simon@josefsson.org>
48343
48344         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
48345         * lib/netdb.in.h: Fix typo.
48346         Reported by Bruno Haible  <bruno@clisp.org>
48347
48348         * lib/netdb.in.h: Include sys/socket.h for platforms without
48349         netdb.h, to get structures like hostent on MinGW.
48350         * modules/netdb (Depends-on): Add sys_socket.
48351
48352 2008-10-15  Simon Josefsson  <simon@josefsson.org>
48353
48354         * modules/netdb, modules/netdb-tests: New file.
48355         * m4/netdb_h.m4: New file.
48356         * lib/netdb.in.h: Add, currently just an empty file pending
48357         definitions.
48358         * tests/test-netdb.c: New file.
48359         * doc/posix-headers/netdb.texi: Mention that we replace it if
48360         needed.
48361         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48362         netdb.
48363
48364 2008-10-15  Simon Josefsson  <simon@josefsson.org>
48365
48366         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
48367         with code.
48368
48369 2008-10-13  Bruno Haible  <bruno@clisp.org>
48370
48371         * lib/glthread/cond.c (glthread_cond_wait_func,
48372         glthread_cond_timedwait_func): Add a comment.
48373
48374 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
48375
48376         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
48377         * tests/test-select.c: Likewise,
48378
48379 2008-10-13  Bruno Haible  <bruno@clisp.org>
48380
48381         * lib/glthread/cond.c (glthread_cond_wait_func,
48382         glthread_cond_timedwait_func): Fix variable name.
48383         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48384
48385 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
48386
48387         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
48388         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
48389         struct sockaddr.sa_len.
48390         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
48391
48392 2008-10-13  Simon Josefsson  <simon@josefsson.org>
48393
48394         * build-aux/pmccabe2html: Add css and css_url parameters.
48395
48396 2008-10-12  Bruno Haible  <bruno@clisp.org>
48397
48398         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
48399         calling aclx_get.
48400         Reported by Rainer Tammer <tammer@tammer.net>.
48401
48402 2008-10-12  Bruno Haible  <bruno@clisp.org>
48403
48404         Use msvcrt aware primitives for creation/termination of Win32 threads.
48405         * lib/glthread/thread.c: Include <process.h>.
48406         (glthread_create_func): Use _beginthreadex instead of CreateThread.
48407         (wrapper_func): Update signature.
48408         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
48409
48410 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
48411             Bruno Haible  <bruno@clisp.org>
48412
48413         Provide a Win32 implementation of the 'cond' module.
48414         * lib/glthread/cond.h [USE_WIN32]: New implementation.
48415         * lib/glthread/cond.c (glthread_cond_init_func,
48416         glthread_cond_wait_func, glthread_cond_timedwait_func,
48417         glthread_cond_signal_func, glthread_cond_broadcast_func,
48418         glthread_cond_destroy_func) [USE_WIN32]: New functions.
48419         * modules/cond (Dependencies): Add gettimeofday.
48420
48421 2008-10-11  Bruno Haible  <bruno@clisp.org>
48422
48423         Make sleep work on older versions of mingw.
48424         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
48425         only whether it exists.
48426         * doc/posix-functions/sleep.texi: Mention the problem with older
48427         versions of mingw.
48428
48429 2008-10-11  Bruno Haible  <bruno@clisp.org>
48430
48431         New module 'shutdown'.
48432         * modules/shutdown: New file.
48433         * lib/sys_socket.in.h (shutdown): New declaration.
48434         * lib/winsock.c (shutdown): New function.
48435         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
48436         GNULIB_SHUTDOWN.
48437         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
48438         * doc/posix-functions/shutdown.texi: Document the new module.
48439
48440 2008-10-11  Jim Meyering  <meyering@redhat.com>
48441
48442         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
48443
48444 2008-10-11  Bruno Haible  <bruno@clisp.org>
48445
48446         New module 'fclose'.
48447         * modules/fclose: New file.
48448         * lib/stdio.in.h (fclose): New declaration.
48449         * lib/fclose.c: New file.
48450         * m4/fclose.m4: New file.
48451         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
48452         REPLACE_FCLOSE.
48453         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
48454         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
48455         REPLACE_FCLOSE.
48456         * modules/close (Depends-on): fclose.
48457         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
48458
48459 2008-10-11  Bruno Haible  <bruno@clisp.org>
48460
48461         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
48462         set errno and don't call _close.
48463
48464 2008-10-10  Bruno Haible  <bruno@clisp.org>
48465
48466         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
48467         ACL, not afterwards. Fixes test failure on Cygwin.
48468
48469 2008-10-09  Ben Pfaff  <blp@gnu.org>
48470
48471         * build-aux/announce-gen: Fix gnulib version related part of usage
48472         message.  Die with a useful error message if no tarballs are
48473         found.
48474
48475 2008-10-10  Jim Meyering  <meyering@redhat.com>
48476
48477         bootstrap: use git's --depth=N option only if it's supported
48478         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
48479         recognize the --depth option.  Reported by Pádraig Brady.
48480
48481 2008-10-09  Bruno Haible  <bruno@clisp.org>
48482
48483         New module 'ioctl'.
48484         * modules/ioctl: New file.
48485         * lib/sys_socket.in.h (ioctl): Remove declaration.
48486         * lib/winsock.c: Include <sys/ioctl.h>.
48487         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
48488         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
48489         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
48490         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
48491         * doc/posix-functions/ioctl.texi: Mention the new module.
48492
48493 2008-10-09  Bruno Haible  <bruno@clisp.org>
48494
48495         New module 'sys_ioctl'.
48496         * lib/sys_ioctl.in.h: New file.
48497         * m4/sys_ioctl_h.m4: New file.
48498         * modules/sys_ioctl: New file.
48499         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
48500
48501 2008-10-09  Bruno Haible  <bruno@clisp.org>
48502
48503         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
48504         * lib/winsock.c: Include <stdarg.h>.
48505         (rpl_ioctl): Change to second argument 'int' and then varargs.
48506
48507 2008-10-09  Bruno Haible  <bruno@clisp.org>
48508
48509         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
48510         when the sys_socket module is present and the system has <winsock2.h>.
48511
48512 2008-10-09  Bruno Haible  <bruno@clisp.org>
48513
48514         * doc/posix-functions/close.texi: Mention module 'close' instead of
48515         module 'sys_socket'.
48516
48517 2008-10-09  Bruno Haible  <bruno@clisp.org>
48518
48519         * doc/glibc-headers/sys_ioctl.texi: New file.
48520         * doc/gnulib.texi: Include it.
48521
48522 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48523             Bruno Haible  <bruno@clisp.org>
48524
48525         Combine the two replacements of 'close'.
48526         * lib/sys_socket.in.h (close): Define to a reminder to include
48527         <unistd.h>.
48528         (_gl_close_fd_maybe_socket): New declaration.
48529         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
48530         * lib/winsock.c (close): Remove undefinition.
48531         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
48532         needed for the gnulib module 'close'.
48533         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
48534         define to an error symbol or to a warning, if suitable.
48535         * lib/close.c: Include <sys/socket.h>.
48536         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
48537         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
48538         UNISTD_H_HAVE_WINSOCK2_H.
48539         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
48540         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48541         UNISTD_H_HAVE_WINSOCK2_H.
48542         * modules/sys_socket (Files): Add m4/unistd_h.m4.
48543         (configure.ac): Set a module indicator.
48544         (Makefile.am): Substitute GNULIB_CLOSE.
48545         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
48546         * modules/poll-tests (Depends-on): Add close.
48547         * modules/select-tests (Depends-on): Likewise.
48548
48549 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48550             Bruno Haible  <bruno@clisp.org>
48551
48552         New module 'close'.
48553         * modules/close: New file.
48554         * lib/unistd.in.h (close): Move declaration out of the
48555         FCHDIR_REPLACEMENT scope.
48556         (_gl_unregister_fd): New declaration.
48557         * lib/close.c: New file.
48558         * lib/fchdir.c (rpl_close): Remove function.
48559         * m4/close.m4: New file.
48560         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
48561         close.
48562         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
48563         REPLACE_CLOSE.
48564         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
48565         REPLACE_CLOSE.
48566         * modules/fchdir (Depends-on): Add close.
48567
48568 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48569             Bruno Haible  <bruno@clisp.org>
48570
48571         * lib/fcntl.in.h (open): Simplify conditionals.
48572         (_gl_register_fd): New declaration.
48573         * lib/fchdir.c (rpl_open): Remove function.
48574         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
48575         also.
48576         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
48577         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
48578         open.
48579
48580 2008-10-09  Jim Meyering  <meyering@redhat.com>
48581
48582         GNUmakefile: use the more name-space-friendly "_version"
48583         * top/GNUmakefile (_dummy): Update.
48584         (_version): Rename from "version".
48585
48586 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48587             Bruno Haible  <bruno@clisp.org>
48588
48589         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
48590         rpl_close.
48591         (_gl_register_fd): New function, extracted from rpl_open.
48592         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
48593         (rpl_open, rpl_opendir): Use _gl_register_fd.
48594
48595 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48596
48597         Fix organization of 'open' replacement.
48598         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
48599         (gl_FUNC_OPEN): Use it.
48600         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
48601
48602 2008-10-08  Bruno Haible  <bruno@clisp.org>
48603
48604         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
48605
48606 2008-10-08  Simon Josefsson  <simon@josefsson.org>
48607
48608         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
48609         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
48610         listen).
48611
48612 2008-10-08  Eric Blake  <ebb9@byu.net>
48613
48614         GNUmakefile: add 'make version' target
48615         * top/GNUmakefile (_curr-ver): Split version update rules...
48616         (version): ...into a target.
48617
48618 2008-10-07  Bruno Haible  <bruno@clisp.org>
48619
48620         Use a more portable replacement expression for -0.0L.
48621         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
48622         instead of -0.0L. Fix m4 quotation.
48623
48624         * tests/test-signbit.c: Include <float.h>.
48625         (minus_zero): New variable.
48626         (test_signbitl): Use minus_zero instead of -zero.
48627         * modules/signbit-tests (Depends-on): Add float.
48628
48629         * tests/test-ceill.c: Include <float.h>.
48630         (zero): Remove variable.
48631         (minus_zero): New variable.
48632         (main): Use minus_zero instead of -zero.
48633         * modules/ceill-tests (Depends-on): Add float.
48634
48635         * tests/test-floorl.c: Include <float.h>.
48636         (zero): Remove variable.
48637         (minus_zero): New variable.
48638         (main): Use minus_zero instead of -zero.
48639         * modules/floorl-tests (Depends-on): Add float.
48640
48641         * tests/test-roundl.c: Include <float.h>.
48642         (zero): Remove variable.
48643         (minus_zero): New variable.
48644         (main): Use minus_zero instead of -zero.
48645         * modules/roundl-tests (Depends-on): Add float.
48646
48647         * tests/test-truncl.c: Include <float.h>.
48648         (zero): Remove variable.
48649         (minus_zero): New variable.
48650         (main): Use minus_zero instead of -zero.
48651         * modules/truncl-tests (Depends-on): Add float.
48652
48653         * tests/test-frexpl.c (zero): Remove variable.
48654         (minus_zero): New variable.
48655         (main): Use minus_zero instead of -zero.
48656         * modules/frexpl-tests (Depends-on): Add float.
48657
48658         * tests/test-isnan.c (zerol): Remove variable.
48659         (minus_zerol): New variable.
48660         (test_long_double): Use minus_zerol instead of -zerol.
48661         * modules/isnan-tests (Depends-on): Add float.
48662
48663         * tests/test-isnanl.h (zero): Remove variable.
48664         (minus_zero): New variable.
48665         (main): Use minus_zero instead of -zero.
48666         * modules/isnanl-nolibm-tests (Depends-on): Add float.
48667         * modules/isnanl-tests (Depends-on): Add float.
48668
48669         * tests/test-ldexpl.c (zero): Remove variable.
48670         (minus_zero): New variable.
48671         (main): Use minus_zero instead of -zero.
48672         * modules/ldexpl-tests (Depends-on): Add float.
48673
48674         * tests/test-snprintf-posix.h (zerol): Remove variable.
48675         (minus_zerol): New variable.
48676         (test_function): Use minus_zerol instead of -zerol.
48677         * modules/snprintf-posix-tests (Depends-on): Add float.
48678         * modules/vsnprintf-posix-tests (Depends-on): Add float.
48679
48680         * tests/test-sprintf-posix.h (zerol): Remove variable.
48681         (minus_zerol): New variable.
48682         (test_function): Use minus_zerol instead of -zerol.
48683         * modules/sprintf-posix-tests (Depends-on): Add float.
48684         * modules/vsprintf-posix-tests (Depends-on): Add float.
48685
48686         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
48687         (minus_zerol): New variable.
48688         (test_function): Use minus_zerol instead of -zerol.
48689         * modules/vasnprintf-posix-tests (Depends-on): Add float.
48690
48691         * tests/test-vasprintf-posix.c (zerol): Remove variable.
48692         (minus_zerol): New variable.
48693         (test_function): Use minus_zerol instead of -zerol.
48694         * modules/vasprintf-posix-tests (Depends-on): Add float.
48695
48696 2008-10-07  Simon Josefsson  <simon@josefsson.org>
48697
48698         * MODULES.html.sh (Support for building documentation): Mention
48699         pmccabe2html.  Sort entries.
48700
48701         Add pmccabe2html module, from gnupdf.
48702         * build-aux/pmccabe.css: New file.
48703         * build-aux/pmccabe2html: New file.
48704         * m4/pmccabe2html.m4: New file.
48705         * modules/pmccabe2html: New file.
48706
48707 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
48708
48709         flock: new module
48710         * MODULES.html.sh: Add to list of modules.
48711         * lib/flock.c: flock implementation for Windows and Unix systems
48712         which have fcntl.
48713         * doc/glibc-functions/flock.texi: Update documentation.
48714         * lib/sys_file.in.h: <sys/file.h> header file.
48715         * m4/flock.m4: M4 macros.
48716         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
48717         * modules/flock: flock module.
48718         * modules/flock-tests: flock tests module.
48719         * modules/sys_file: sys/file.h module.
48720         * tests/test-flock.c: test suite for flock.
48721
48722 2008-10-06  Jim Meyering  <meyering@redhat.com>
48723
48724         bootstrap: check for LT_INIT more portably still ;-)
48725         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
48726         Spotted by Bruno Haible.
48727
48728 2008-10-06  Eric Blake  <ebb9@byu.net>
48729
48730         test-signbit: avoid tripping Irix cc bug on -0.0L
48731         * tests/test-signbit.c (minus_zerol): Delete, and replace with
48732         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
48733         entire testsuite consistent and avoids an Irix 6.2 bug.
48734
48735 2008-10-05  Bruno Haible  <bruno@clisp.org>
48736             Jim Meyering  <jim@meyering.net>
48737
48738         Add an option for ignoring EPIPE during close_stdout.
48739         * lib/closeout.h: Include <stdbool.h>.
48740         (close_stdout_set_ignore_EPIPE): New declaration.
48741         * lib/closeout.c: Include <stdbool.h>.
48742         (ignore_EPIPE): New variable.
48743         (close_stdout_set_ignore_EPIPE): New function.
48744         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
48745         * lib/close-stream.c (close_stream): Mention the possible EPIPE
48746         failure.
48747         * modules/closeout (Depends-on): Add stdbool.
48748
48749 2008-10-05  Bruno Haible  <bruno@clisp.org>
48750
48751         * modules/accept: New file.
48752         * modules/bind: New file.
48753         * modules/connect: New file.
48754         * modules/getpeername: New file.
48755         * modules/getsockname: New file.
48756         * modules/getsockopt: New file.
48757         * modules/listen: New file.
48758         * modules/recv: New file.
48759         * modules/recvfrom: New file.
48760         * modules/send: New file.
48761         * modules/sendto: New file.
48762         * modules/setsockopt: New file.
48763         * modules/socket: New file.
48764         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
48765         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
48766         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
48767         the particular module is requested. Add a link warning when the
48768         particular module is not requested.
48769         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
48770         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
48771         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
48772         the particular module is requested.
48773         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
48774         gl_SYS_SOCKET_H_DEFAULTS): New macros.
48775         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
48776         * modules/sys_socket (Depends-on): Add link-warning.
48777         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
48778         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
48779         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
48780         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
48781         GL_LINK_WARNING.
48782         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
48783         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
48784         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
48785         * doc/posix-functions/getpeername.texi: Mention the new module
48786         'getpeername'.
48787         * doc/posix-functions/getsockname.texi: Mention the new module
48788         'getsockname'.
48789         * doc/posix-functions/getsockopt.texi: Mention the new module
48790         'getsockopt'.
48791         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
48792         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
48793         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
48794         * doc/posix-functions/send.texi: Mention the new module 'send'.
48795         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
48796         * doc/posix-functions/setsockopt.texi: Mention the new module
48797         'setsockopt'.
48798         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
48799         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
48800         listen, connect, accept.
48801         * modules/select-tests (Depends-on): Likewise.
48802
48803 2008-10-05  Bruno Haible  <bruno@clisp.org>
48804
48805         * lib/winsock.c (strerror): Remove unused #undef.
48806         (rpl_close): Remove unused local variable.
48807
48808         * modules/sys_socket (Depends-on); Add errno.
48809
48810 2008-10-05  Bruno Haible  <bruno@clisp.org>
48811
48812         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
48813         (select): Add a link warning when the 'select' module is not used.
48814         * modules/sys_select (Depends-on): Add link-warning.
48815         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
48816         Suggested by Paolo Bonzini.
48817
48818 2008-10-05  Jim Meyering  <meyering@redhat.com>
48819
48820         bootstrap: check for LT_INIT more portably
48821         * build-aux/bootstrap: Avoid using grep -E, since it's not
48822         portable enough.  Suggestion from Bruno Haible.
48823
48824 2008-10-05  Bruno Haible  <bruno@clisp.org>
48825
48826         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
48827         as being fixed by gnulib.
48828
48829 2008-10-05  Bruno Haible  <bruno@clisp.org>
48830
48831         * modules/select-tests: New file, mostly copied from
48832         modules/sys_select-tests.
48833         * tests/test-select.c: New file, mostly copied from
48834         tests/test-sys_select.c.
48835         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
48836         * modules/sys_select-tests (Depends-on): Remove all dependencies.
48837         (Makefile.am): Remove test_sys_select_LDADD.
48838
48839         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
48840         to an undefined symbol, for an error message.
48841         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
48842         (gl_SYS_SELECT_H_DEFAULTS): New macro.
48843         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
48844         winsock-select.c here.
48845         * modules/sys_select (Files): Remove lib/winsock-select.c.
48846         (Depends-on): Remove alloca.
48847         (Makefile.am): Substitute GNULIB_SELECT.
48848         * modules/select: New file.
48849         * doc/posix-functions/select.texi: Update.
48850
48851 2008-10-05  Bruno Haible  <bruno@clisp.org>
48852
48853         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
48854         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
48855         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
48856         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
48857         getdtablesize.
48858         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
48859         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
48860
48861 2008-10-05  Bruno Haible  <bruno@clisp.org>
48862
48863         * modules/getdtablesize-tests: New file.
48864         * tests/test-getdtablesize.c: New file.
48865
48866         New module 'getdtablesize'.
48867         * lib/unistd.in.h (getdtablesize): New declaration.
48868         * lib/getdtablesize.c: New file.
48869         * m4/getdtablesize.m4: New file.
48870         * modules/getdtablesize: New file.
48871         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48872         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
48873         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
48874         HAVE_GETDTABLESIZE.
48875         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
48876
48877 2008-10-05  Bruno Haible  <bruno@clisp.org>
48878
48879         * modules/sched (Makefile.am): Fix typo.
48880         Reported by Simon Josefsson.
48881
48882 2008-10-05  Jim Meyering  <meyering@redhat.com>
48883
48884         bootstrap: check for LT_INIT, too
48885         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
48886         are deprecated.  Suggestion from Ralf Wildenhues.
48887
48888 2008-10-05  Bruno Haible  <bruno@clisp.org>
48889
48890         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
48891         overriding them by ours.
48892         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
48893
48894 2008-10-05  Jim Meyering  <meyering@redhat.com>
48895
48896         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
48897         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
48898         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
48899
48900 2008-10-04  Bruno Haible  <bruno@clisp.org>
48901
48902         * modules/dup2 (License): Change to LGPLv2+.
48903         * modules/sleep (License): Likewise.
48904         * modules/perror (License): Likewise.
48905         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
48906         Blake.
48907         * modules/signal (License): Likewise.
48908         * modules/sigprocmask (License): Likewise.
48909         * modules/raise (License): Change to LGPLv2+, with approval by Jim
48910         Meyering.
48911
48912 2008-10-04  Bruno Haible  <bruno@clisp.org>
48913
48914         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
48915         Reported by Rainer Tammer <tammer@tammer.net>.
48916
48917 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
48918             Bruno Haible  <bruno@clisp.org>
48919
48920         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
48921         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
48922         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
48923
48924 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
48925
48926         filevercmp: new module
48927         * lib/filevercmp.h: New function filevercmp comparing version strings.
48928         * lib/filevercmp.c: Implementation of filevercmp function.
48929         * modules/filevercmp: Module metadata.
48930         * tests/test-filevercmp.c: Unit test for new module.
48931         * modules/filevercmp-tests: Unit test metadata.
48932         * MODULES.html.sh: Add filevercmp module.
48933
48934 2008-10-03  Bruno Haible  <bruno@clisp.org>
48935
48936         * lib/c-ctype.h: Add comment.
48937         Reported by Jim Meyering.
48938
48939 2008-10-02  Bruno Haible  <bruno@clisp.org>
48940
48941         * modules/posix_spawn-internal (Depends-on): Add 'open'.
48942
48943 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48944
48945         * build-aux/bootstrap: Allow renaming bootstrap, and change the
48946         name of bootstrap.conf accordingly.
48947
48948 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48949
48950         * build-aux/bootstrap: Install git-merge-changelog configuration
48951         items into .gitconfig if needed.
48952
48953 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48954
48955         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
48956         git repository, and initialize/update it accordingly.
48957
48958 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
48959
48960         * modules/fsync-tests: New file.
48961         * tests/test-fsync.c: New file.
48962
48963         New module 'fsync'.
48964         * lib/fsync.c: New file.
48965         * m4/fsync.m4: New file.
48966         * modules/fsync: New file.
48967         * lib/unistd.in.h (fsync): New declaration.
48968         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
48969         GNULIB_FSYNC and HAVE_FSYNC.
48970         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
48971         * MODULES.html.sh (posix_functions): Add fsync.
48972         * doc/posix-functions/fsync.texi: Mention the new module.
48973
48974 2008-10-02  Jim Meyering  <meyering@redhat.com>
48975
48976         fts.c: sync with similar code from coreutils' remove.c
48977         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
48978         Guard also with "#if defined __linux__", since for now at least,
48979         this code is Linux-kernel-specific.
48980
48981 2008-10-02  Jim Meyering  <meyering@redhat.com>
48982
48983         fts: bug fixes
48984         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
48985         Include <sys/vfs.h>, not <sys/statfs.h>.
48986
48987         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
48988         Include <sys/vfs.h>, not <sys/statfs.h>.
48989
48990 2008-10-01  Bruno Haible  <bruno@clisp.org>
48991
48992         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
48993         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
48994         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
48995         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
48996         * doc/posix-functions/posix_spawnp.texi: Likewise.
48997         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
48998         whether posix_spawn actually works.
48999         * m4/pipe.m4 (gl_PIPE): Likewise.
49000         * modules/execute (Files): Add m4/posix_spawn.m4.
49001         * modules/pipe (Files): Add m4/posix_spawn.m4.
49002         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
49003
49004 2008-10-01  Jim Meyering  <meyering@redhat.com>
49005
49006         remove trailing spaces
49007         * NEWS: Likewise.
49008         * lib/poll.c (poll): Likewise.
49009         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
49010         * lib/winsock.c (rpl_close): Likewise.
49011         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
49012         * modules/yield: Likewise.
49013         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
49014         * tests/test-sys_select.c (connect_to_socket): Likewise.
49015
49016         fts.c: adjust a new interface to be more generally useful
49017         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
49018         (fts_build): Adjust caller.
49019
49020 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49021
49022         * modules/cond-tests: New file.
49023         * tests/test-cond.c: New file.
49024
49025 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49026             Bruno Haible  <bruno@clisp.org>
49027
49028         * modules/cond (Dependencies): Add errno, time.
49029         * lib/glthread/cond.h: Include <time.h>.
49030         (gl_cond_define, gl_cond_define_initialized): Use the same definition
49031         across platforms.
49032
49033 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49034             Bruno Haible  <bruno@clisp.org>
49035
49036         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
49037
49038 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49039             Bruno Haible  <bruno@clisp.org>
49040
49041         * modules/tls-tests (Depends-on): Add thread, yield.
49042         (configure.ac): Remove all checks.
49043         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
49044         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
49045         gl_thread_self): Remove definitions. Include glthread/thread.h and
49046         glthread/yield.h instead.
49047         (test_tls): Pass an additional NULL argument to gl_thread_join.
49048
49049 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49050             Bruno Haible  <bruno@clisp.org>
49051
49052         * modules/lock-tests (Depends-on): Add thread, yield.
49053         (configure.ac): Remove all checks.
49054         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
49055         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
49056         gl_thread_self): Remove definitions. Include glthread/thread.h and
49057         glthread/yield.h instead.
49058         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
49059         additional NULL argument to gl_thread_join.
49060
49061 2008-09-30  Bruno Haible  <bruno@clisp.org>
49062
49063         Fix the Win32 implementation of the 'thread' module.
49064         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
49065         pointer type.
49066         (gl_thread_self): Invoke gl_thread_self_func.
49067         (gl_thread_self_func): New declaration.
49068         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
49069         (do_init_self_key, init_self_key): New functions.
49070         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
49071         Remove some fields.
49072         (running_threads, running_lock): Remove variables.
49073         (get_current_thread_handle): New function.
49074         (gl_thread_self_func, wrapper_func, glthread_create_func,
49075         glthread_join_func, gl_thread_exit_func): Largely rewritten and
49076         simplified.
49077
49078 2008-09-30  Bruno Haible  <bruno@clisp.org>
49079
49080         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
49081         files.
49082
49083 2008-09-30  Jim Meyering  <meyering@redhat.com>
49084
49085         fts.m4: correct the test for statfs.f_type
49086         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
49087         when checking for statfs.f_type.
49088
49089 2008-09-15  Simon Josefsson  <simon@josefsson.org>
49090
49091         tests: avoid some compiler warnings
49092         * tests/test-memchr.c (main): Pass NULL indirectly.
49093         * tests/test-getdate.c (main): Remove unused variable 'ret'.
49094
49095 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
49096
49097         getdate.y: disallow countable dayshifts like "4 yesterday ago"
49098         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
49099         exactly specified dayshifts.
49100         (dayshift): New rule.
49101         (rel): Add dayshift.
49102         (relative_time_table) [tomorrow, yesterday, today, now]:
49103         Use tDAY_SHIFT in place of tDAY_UNIT.
49104         * tests/test-getdate.c: Add tests for now-disallowed countable
49105         dayshifts, e.g., "4 yesterday ago".
49106
49107 2008-09-29  Bruno Haible  <bruno@clisp.org>
49108
49109         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
49110         * tests/test-posix_spawn1.in.sh: Renamed from
49111         tests/test-posix_spawn.in.sh.
49112         * tests/test-posix_spawn2.c: New file.
49113         * tests/test-posix_spawn2.in.sh: New file.
49114         * modules/posix_spawnp-tests (Files): Update.
49115         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
49116
49117 2008-09-29  Bruno Haible  <bruno@clisp.org>
49118
49119         Propagate effects of putenv/setenv/unsetenv to child processes.
49120         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
49121         * lib/pipe.c (create_pipe): Likewise.
49122
49123 2008-09-29  Bruno Haible  <bruno@clisp.org>
49124
49125         Enable use of shell scripts as executables in mingw.
49126         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
49127         run the program as a shell script.
49128         * lib/pipe.c (create_pipe): Likewise.
49129         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
49130         resulting array.
49131
49132 2008-09-29  Eric Blake  <ebb9@byu.net>
49133
49134         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
49135
49136 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
49137
49138         * doc/posix-functions/accept.texi: Update mingw problems.
49139         * doc/posix-functions/bind.texi: Update mingw problems.
49140         * doc/posix-functions/close.texi: Update mingw problems.
49141         * doc/posix-functions/connect.texi: Update mingw problems.
49142         * doc/posix-functions/getpeername.texi: Update mingw problems.
49143         * doc/posix-functions/getsockname.texi: Update mingw problems.
49144         * doc/posix-functions/getsockopt.texi: Update mingw problems.
49145         * doc/posix-functions/ioctl.texi: Update mingw problems.
49146         * doc/posix-functions/listen.texi: Update mingw problems.
49147         * doc/posix-functions/recv.texi: Update mingw problems.
49148         * doc/posix-functions/recvfrom.texi: Update mingw problems.
49149         * doc/posix-functions/select.texi: Update mingw problems.
49150         * doc/posix-functions/send.texi: Update mingw problems.
49151         * doc/posix-functions/sendto.texi: Update mingw problems.
49152         * doc/posix-functions/setsockopt.texi: Update mingw problems.
49153         * doc/posix-functions/socket.texi: Update mingw problems.
49154
49155 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
49156             Bruno Haible  <bruno@clisp.org>
49157
49158         * lib/sys_select.in.h: Include sys/time.h.
49159         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
49160         * modules/sys_select: Depend on sys_time.
49161         * tests/test-sys_select.c: Test that sys/select.h defines struct
49162         timeval fully.
49163
49164 2008-09-29  Bruno Haible  <bruno@clisp.org>
49165
49166         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
49167         * lib/sys_select.in.h: Likewise.
49168
49169 2008-09-29  Bruno Haible  <bruno@clisp.org>
49170
49171         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
49172
49173 2008-09-29  Bruno Haible  <bruno@clisp.org>
49174
49175         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
49176         Set LIBSOCKET instead of augmenting LIBS.
49177         * modules/sockets (Link): New section.
49178         * modules/sockets-tests (test_sockets_LDADD): New variable.
49179         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
49180         * modules/poll-tests (test_poll_LDADD): New variable.
49181         * NEWS: Document the change.
49182
49183 2008-09-29  Bruno Haible  <bruno@clisp.org>
49184
49185         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
49186         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
49187         ARPA_INET_H directly.
49188         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49189
49190 2008-09-28  Bruno Haible  <bruno@clisp.org>
49191
49192         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
49193         from gl_HEADER_SYS_SOCKET.
49194         (gl_HEADER_SYS_SOCKET): Invoke it.
49195         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49196
49197 2008-09-28  Bruno Haible  <bruno@clisp.org>
49198
49199         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
49200         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
49201         Needed on OSF/1 4.0.
49202
49203 2008-09-28  Bruno Haible  <bruno@clisp.org>
49204
49205         Override open more carefully.
49206         * lib/open.c (orig_open): New function.
49207         (rpl_open): Use orig_open instead of open.
49208         * lib/fcntl.in.h: Add special invocation convention.
49209         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
49210         (gl_FUNC_OPEN): Invoke it.
49211
49212         Override freopen more carefully.
49213         * lib/freopen.c (orig_freopen): New function.
49214         (rpl_freopen): Use orig_freopen instead of freopen.
49215         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
49216         (gl_FUNC_FREOPEN): Invoke it.
49217
49218         Override fopen more carefully.
49219         * lib/fopen.c (orig_fopen): New function.
49220         (rpl_fopen): Use orig_fopen instead of fopen.
49221         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
49222         (gl_FUNC_FOPEN): Invoke it.
49223         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
49224
49225 2008-09-28  Bruno Haible  <bruno@clisp.org>
49226
49227         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
49228         SIGPIPE.
49229
49230 2008-09-28  Bruno Haible  <bruno@clisp.org>
49231
49232         * tests/test-sigaction.c (handler, main): Disable the check whether
49233         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
49234         glibc systems with LinuxThreads.
49235
49236 2008-09-28  Bruno Haible  <bruno@clisp.org>
49237
49238         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
49239
49240         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
49241         with AIX xlc.
49242         * lib/fcntl.in.h (open): Likewise.
49243         Reported by Rainer Tammer <tammer@tammer.net>.
49244
49245 2008-09-28  Bruno Haible  <bruno@clisp.org>
49246
49247         * modules/posix_spawnp-tests: New file.
49248         * tests/test-posix_spawn.c: New file.
49249         * tests/test-posix_spawn.in.sh: New file.
49250
49251         New module 'posix_spawnp'.
49252         * modules/posix_spawnp: New file.
49253         * lib/spawnp.c: New file, from GNU libc with modifications.
49254         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
49255
49256         New module 'posix_spawn'.
49257         * modules/posix_spawn: New file.
49258         * lib/spawn.c: New file, from GNU libc with modifications.
49259         * doc/posix-functions/posix_spawn.texi: Mention the new module.
49260
49261         New module 'posix_spawnattr_destroy'.
49262         * modules/posix_spawnattr_destroy: New file.
49263         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
49264         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
49265         module.
49266
49267         New module 'posix_spawnattr_setsigmask'.
49268         * modules/posix_spawnattr_setsigmask: New file.
49269         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
49270         modifications.
49271         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
49272         new module.
49273
49274         New module 'posix_spawnattr_getsigmask'.
49275         * modules/posix_spawnattr_getsigmask: New file.
49276         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
49277         modifications.
49278         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
49279         new module.
49280
49281         New module 'posix_spawnattr_setsigdefault'.
49282         * modules/posix_spawnattr_setsigdefault: New file.
49283         * lib/spawnattr_setdefault.c: New file, from GNU libc with
49284         modifications.
49285         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
49286         new module.
49287
49288         New module 'posix_spawnattr_getsigdefault'.
49289         * modules/posix_spawnattr_getsigdefault: New file.
49290         * lib/spawnattr_getdefault.c: New file, from GNU libc with
49291         modifications.
49292         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
49293         new module.
49294
49295         New module 'posix_spawnattr_setschedpolicy'.
49296         * modules/posix_spawnattr_setschedpolicy: New file.
49297         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
49298         modifications.
49299         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
49300         new module.
49301
49302         New module 'posix_spawnattr_getschedpolicy'.
49303         * modules/posix_spawnattr_getschedpolicy: New file.
49304         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
49305         modifications.
49306         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
49307         new module.
49308
49309         New module 'posix_spawnattr_setschedparam'.
49310         * modules/posix_spawnattr_setschedparam: New file.
49311         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
49312         modifications.
49313         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
49314         new module.
49315
49316         New module 'posix_spawnattr_getschedparam'.
49317         * modules/posix_spawnattr_getschedparam: New file.
49318         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
49319         modifications.
49320         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
49321         new module.
49322
49323         New module 'posix_spawnattr_setpgroup'.
49324         * modules/posix_spawnattr_setpgroup: New file.
49325         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
49326         modifications.
49327         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
49328         module.
49329
49330         New module 'posix_spawnattr_getpgroup'.
49331         * modules/posix_spawnattr_getpgroup: New file.
49332         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
49333         modifications.
49334         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
49335         module.
49336
49337         New module 'posix_spawnattr_setflags'.
49338         * modules/posix_spawnattr_setflags: New file.
49339         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
49340         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
49341         module.
49342
49343         New module 'posix_spawnattr_getflags'.
49344         * modules/posix_spawnattr_getflags: New file.
49345         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
49346         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
49347         module.
49348
49349         New module 'posix_spawnattr_init'.
49350         * modules/posix_spawnattr_init: New file.
49351         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
49352         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
49353         module.
49354
49355         New module 'posix_spawn_file_actions_destroy'.
49356         * modules/posix_spawn_file_actions_destroy: New file.
49357         * lib/spawn_faction_destroy.c: New file, from GNU libc with
49358         modifications.
49359         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
49360         the new module.
49361
49362         New module 'posix_spawn_file_actions_addopen'.
49363         * modules/posix_spawn_file_actions_addopen: New file.
49364         * lib/spawn_faction_addopen.c: New file, from GNU libc with
49365         modifications.
49366         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
49367         the new module.
49368
49369         New module 'posix_spawn_file_actions_adddup2'.
49370         * modules/posix_spawn_file_actions_adddup2: New file.
49371         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
49372         modifications.
49373         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
49374         the new module.
49375
49376         New module 'posix_spawn_file_actions_addclose'.
49377         * modules/posix_spawn_file_actions_addclose: New file.
49378         * lib/spawn_faction_addclose.c: New file, from GNU libc with
49379         modifications.
49380         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
49381         the new module.
49382
49383         New module 'posix_spawn_file_actions_init'.
49384         * modules/posix_spawn_file_actions_init: New file.
49385         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
49386         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
49387         new module.
49388
49389         New module 'posix_spawn-internal'.
49390         * modules/posix_spawn-internal: New file.
49391         * lib/spawn_int.h: New file, from GNU libc with modifications.
49392         * lib/spawni.c: New file, from GNU libc with modifications.
49393         * m4/posix_spawn.m4: New file.
49394
49395         New module 'spawn'.
49396         * modules/spawn: New file.
49397         * lib/spawn.in.h: New file, from GNU libc with modifications.
49398         * m4/spawn_h.m4: New file.
49399         * doc/posix-headers/spawn.texi: Mention the new module.
49400
49401 2008-09-28  Bruno Haible  <bruno@clisp.org>
49402
49403         * modules/sched-tests: New file.
49404         * tests/test-sched.c: New file.
49405
49406         New module 'sched'.
49407         * modules/sched: New file.
49408         * lib/sched.in.h: New file.
49409         * m4/sched_h.m4: New file.
49410         * doc/posix-headers/sched.texi: Mention the new module.
49411
49412 2008-09-27  Eric Blake  <ebb9@byu.net>
49413
49414         Fix previous patch, and tweak references to $0.
49415         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
49416         (func_version, func_gnulib_dir): Don't call this program
49417         gnulib-tool.
49418         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
49419         with using $0 in function.
49420         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
49421         (func_fatal_error): Reuse the name the user invoked us with.
49422
49423 2008-09-27  Bruno Haible  <bruno@clisp.org>
49424
49425         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
49426         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
49427         (gl_ICONV_H): Not here.
49428         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
49429         instead of assigning ICONV_H directly.
49430
49431         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
49432         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
49433         WCHAR_H directly.
49434
49435 2008-09-27  Bruno Haible  <bruno@clisp.org>
49436
49437         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
49438         * modules/arpa_inet (Depends-on): Add link-warning.
49439         (Makefile.am): Insert the definition of GL_LINK-WARNING.
49440         * modules/unistd (Makefile.am): Likewise.
49441
49442 2008-09-26  Bruno Haible  <bruno@clisp.org>
49443
49444         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
49445         variables.
49446         (func_version): Essentially copied from gnulib-tool.
49447         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
49448         func_readlink): Copied from gnulib-tool.
49449
49450 2008-09-26  Bruno Haible  <bruno@clisp.org>
49451
49452         * gnulib-tool (func_version): Change directory to $gnulib_dir before
49453         invoking git-version-gen.
49454
49455 2008-09-26  Bruno Haible  <bruno@clisp.org>
49456
49457         * posix-modules: Update to directory names changed on 2008-01-19.
49458         Remove commas in output before splitting into words. No more need to
49459         avoid 'ftruncate' since 2007-02-19.
49460
49461 2008-09-26  Bruno Haible  <bruno@clisp.org>
49462
49463         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
49464
49465 2008-09-26  Bruno Haible  <bruno@clisp.org>
49466
49467         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
49468         * modules/fwriteerror (Depends-on): Add errno.
49469
49470 2008-09-26  Bruno Haible  <bruno@clisp.org>
49471
49472         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
49473         * tests/test-vc-list-files-cvs.sh: Likewise.
49474
49475 2008-09-26  Bruno Haible  <bruno@clisp.org>
49476
49477         * doc/posix-headers/sys_resource.texi: Reorder items.
49478
49479 2008-09-26  Jim Meyering  <meyering@redhat.com>
49480
49481         fts: tweak inode comparison function
49482         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
49483         inode numbers, as documented.
49484
49485         fts: sort dirent entries on inode number before traversing
49486         This avoids a quadratic, seek-related performance penalty when
49487         operating on a directory containing many entries (measurable at 10k;
49488         3.5 hours at 2 million entries with a cold cache) on certain types
49489         of file systems, including ext3 and ext4, but not tmpfs.
49490         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
49491         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
49492         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
49493         (fs_handles_readdir_ordered_dirents_efficiently): New function.
49494         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
49495         (fts_build): Set the stat.st_ino member from D_INO.
49496         If it is likely to be useful, sort dirent entries on inode number.
49497
49498         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
49499         and the struct statfs.f_type member.
49500         * modules/fts (Depends-on): Add d-ino.
49501
49502 2008-09-26  Bruno Haible  <bruno@clisp.org>
49503
49504         * modules/sigpipe-die (Depends-on): Add sigpipe.
49505
49506         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
49507         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
49508         and GNULIB_STDIO_H_SIGPIPE are set.
49509         * lib/stdio-write.c: New file.
49510         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
49511         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49512         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49513         REPLACE_STDIO_WRITE_FUNCS.
49514         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
49515         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49516         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49517         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
49518         * modules/stdio (Files): Add lib/stdio-write.c.
49519         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
49520         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49521         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49522         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
49523         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
49524         REPLACE_FPRINTF_POSIX.
49525         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
49526         REPLACE_PRINTF_POSIX.
49527         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
49528         REPLACE_VFPRINTF_POSIX.
49529         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
49530         REPLACE_VPRINTF_POSIX.
49531         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
49532         SIGPIPE issue.
49533         * doc/posix-functions/fputc.texi: Likewise.
49534         * doc/posix-functions/fputs.texi: Likewise.
49535         * doc/posix-functions/fwrite.texi: Likewise.
49536         * doc/posix-functions/printf.texi: Likewise.
49537         * doc/posix-functions/putc.texi: Likewise.
49538         * doc/posix-functions/putchar.texi: Likewise.
49539         * doc/posix-functions/puts.texi: Likewise.
49540         * doc/posix-functions/vfprintf.texi: Likewise.
49541         * doc/posix-functions/vprintf.texi: Likewise.
49542
49543         * modules/safe-write (Depends-on): Add write.
49544
49545         * modules/sigpipe-tests: New file.
49546         * tests/test-sigpipe.c: New file.
49547         * tests/test-sigpipe.sh: New file.
49548
49549         * modules/write: New file.
49550         * lib/unistd.in.h: Include <sys/types.h>.
49551         (write): New declaration.
49552         * lib/write.c: New file.
49553         * m4/write.m4: New file.
49554         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49555         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
49556         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
49557         GNULIB_WRITE, REPLACE_WRITE.
49558         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
49559         and the SIGPIPE issue.
49560
49561         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
49562         (raise): New declaration.
49563         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
49564         (ext_signal): New function.
49565         (rpl_raise): New function.
49566         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
49567         GNULIB_SIGNAL_H_SIGPIPE.
49568         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
49569         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
49570
49571         * modules/sigpipe: New file.
49572         * m4/sigpipe.m4: New file.
49573
49574 2008-09-25  Derek Price  <derek@ximbiot.com>
49575             Bruno Haible  <bruno@clisp.org>
49576
49577         * gnulib-tool (func_import): Report all license incompatibilities, not
49578         just the first one.
49579
49580 2008-09-25  Bruno Haible  <bruno@clisp.org>
49581
49582         * gnulib-tool (func_import): When computing the edits, consider not
49583         only the Makefile.ams that exist but also those that will be generated.
49584
49585 2008-09-25  Simon Josefsson  <simon@josefsson.org>
49586
49587         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
49588         fixes gnulib-tool --test warning about duplicate dependency.
49589
49590 2008-09-25  Bruno Haible  <bruno@clisp.org>
49591
49592         * gnulib-tool: Don't ask the user to perform edits in the generated
49593         Makefile.ams.
49594         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
49595         apply to the Makefile.am being generated.
49596         (func_emit_tests_Makefile_am): Execute edits that apply to the
49597         Makefile.am being generated.
49598         (func_import): Setup list of Makefile.am edits before emitting the
49599         Makefile.ams, not at the end.
49600         (func_create_testdir): Update.
49601         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49602
49603 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49604
49605         * gnulib-tool (func_import): Store the --tests-base option in the
49606         comment in gnulib-cache.m4.
49607
49608 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
49609
49610         * NEWS: Document increased portability that sys_select now provides.
49611
49612         * lib/sys_select.in.h: Install select wrapper.
49613         * lib/sys_socket.in.h: Use more descriptive name when there is no
49614         select wrapper.
49615         * lib/winsock-select.c: New.
49616         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
49617         Require gl_HEADER_SYS_SOCKET.
49618         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
49619         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
49620         * tests/test-sys_select.c: Add functional tests.
49621
49622 2008-09-24  Eric Blake  <ebb9@byu.net>
49623
49624         open, fopen: close fd leak in last patch
49625         * lib/open.c (rpl_open): Close fd before returning error.
49626         * lib/fopen.c (rpl_fopen): Close fd before returning error.
49627         * doc/posix-functions/open.texi (open): Document that Irix also
49628         has the bug.
49629         * doc/posix-functions/fopen.texi (fopen): Likewise.
49630         Reported by Paolo Bonzini.
49631
49632 2008-09-24  Bruno Haible  <bruno@clisp.org>
49633
49634         Ensure that a filename ending in a slash cannot be used to access a
49635         non-directory.
49636         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
49637         to check whether it's really a directory.
49638         * lib/fopen.c: Include fcntl.h, unistd.h.
49639         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
49640         and fdopen().
49641         * modules/fopen (Depends-on): Add unistd.
49642         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
49643         * tests/test-fopen.c (main): Likewise.
49644         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
49645         * doc/posix-functions/fopen.texi: Likewise.
49646         Reported by Eric Blake.
49647
49648 2008-09-23  Eric Blake  <ebb9@byu.net>
49649
49650         c-stack: avoid compiler optimizations when provoking overflow
49651         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
49652         recursion harder to optimize, to ensure a stack overflow occurs.
49653         * tests/test-c-stack.c (recurse): Likewise.
49654         Borrowed from libsigsegv.
49655
49656         c-stack: work around Irix sigaltstack bug
49657         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
49658         whether sigaltstack uses wrong end of stack_t (copied in part from
49659         libsigsegv).
49660         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
49661         Irix bug, without requiring an over-allocation.
49662         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
49663         bug.
49664
49665         fopen: document mingw bug on directories
49666         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
49667         not allowing a stream visiting a directory, even though reading
49668         from such a stream is not portable.
49669
49670 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49671
49672         * lib/poll.c: Rewrite.
49673         * modules/poll: Depend on alloca.
49674
49675 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49676
49677         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
49678         instead define prototypes for a full set of wrappers.  Ensure
49679         that Cygwin does not use the compatibility code, which is only
49680         for MinGW.
49681         * lib/winsock.c: New.
49682         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
49683         * modules/sys_socket: Add lib/winsock.c.
49684
49685         * modules/poll-tests: Add errno and perror.
49686         * tests/test-poll.c: Use ioctl, not ioctlsocket.
49687
49688 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49689
49690         * tests/test-poll.c: Downgrade minimum needed Winsock version.
49691
49692 2008-09-23  Bruno Haible  <bruno@clisp.org>
49693
49694         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
49695         * doc/glibc-functions/*: Likewise.
49696
49697 2008-09-23  Simon Josefsson  <simon@josefsson.org>
49698
49699         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
49700         success.
49701
49702 2008-09-22  Eric Blake  <ebb9@byu.net>
49703             Bruno Haible  <bruno@clisp.org>
49704
49705         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
49706         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
49707         supply %A but mishandle pseudo-NaN.
49708         Reported by Simon Josefsson.
49709
49710 2008-09-21  Bruno Haible  <bruno@clisp.org>
49711
49712         * tests/test-lock.c (main): Tweak skip message.
49713         * tests/test-tls.c (main): Likewise.
49714
49715 2008-09-21  Bruno Haible  <bruno@clisp.org>
49716
49717         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
49718         whether 'struct sigaction' has sa_sigaction here...
49719         (gl_PREREQ_SIG_HANDLER_H): ... not here.
49720         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
49721
49722 2008-09-21  Bruno Haible  <bruno@clisp.org>
49723
49724         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
49725         section.
49726         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
49727         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
49728         the new section.
49729         (Support for obsolete systems lacking POSIX:2001): New section.
49730         (String handling <string.h>): Move strdup to the new section.
49731         Suggested by Simon Josefsson and Paolo Bonzini.
49732
49733 2008-09-21  Bruno Haible  <bruno@clisp.org>
49734
49735         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
49736         exponents in %e and %g results on 'long double'. Needed for mingw's
49737         improved *printf functions.
49738         * tests/test-vasprintf-posix.c (test_function): Likewise.
49739         * tests/test-snprintf-posix.h (test_function): Likewise.
49740         * tests/test-sprintf-posix.h (test_function): Likewise.
49741         Reported by Eric Blake.
49742
49743 2008-09-21  Bruno Haible  <bruno@clisp.org>
49744
49745         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
49746         * tests/test-sprintf-posix.h (test_function): Likewise.
49747
49748 2008-09-21  Bruno Haible  <bruno@clisp.org>
49749
49750         * modules/getpass (Depends-on): Add strdup-posix.
49751
49752         New module 'strdup-posix'.
49753         * modules/strdup-posix: New file.
49754         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
49755         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
49756         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49757         REPLACE_STRDUP.
49758         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
49759         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
49760         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49761         strdup-posix.
49762
49763         * modules/strdup (Depends-on): Remove malloc-posix.
49764
49765 2008-09-20  Bruno Haible  <bruno@clisp.org>
49766
49767         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
49768         Wildenhues.
49769
49770 2008-09-20  Bruno Haible  <bruno@clisp.org>
49771
49772         Ensure that wint_t gets defined on IRIX 5.3.
49773         * lib/wchar.in.h (wint_t): Define if not defined by the system.
49774         * lib/wctype.in.h (wint_t): Likewise.
49775         (__wctype_wint_t): Remove type.
49776         (isw*): Use wint_t instead of __wctype_wint_t.
49777         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
49778         * modules/wchar (Files): Add m4/wint_t.m4.
49779         (Makefile.am): Substitute HAVE_WINT_T.
49780         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
49781         * tests/test-wctype.c: Check that wint_t is defined.
49782         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
49783         * doc/posix-headers/wctype.texi: Likewise.
49784         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49785
49786 2008-09-18  Bruno Haible  <bruno@clisp.org>
49787
49788         * gnulib-tool (func_exit): Update comment.
49789
49790 2008-09-18  Simon Josefsson  <simon@josefsson.org>
49791
49792         * modules/getaddrinfo (Depends-on): Remove strdup, this module
49793         assumes strdup exists and does not depend on strdup to return
49794         ENOMEM on out of memory conditions.
49795
49796 2008-09-18  Bruno Haible  <bruno@clisp.org>
49797
49798         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
49799         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
49800         digits for the exponent.
49801
49802 2008-09-18  Jim Meyering  <meyering@redhat.com>
49803             Bruno Haible  <bruno@clisp.org>
49804
49805         * lib/vasnprintf.c (decimal_point_char): Define also if
49806         NEED_PRINTF_INFINITE_LONG_DOUBLE.
49807
49808 2008-09-16  Bruno Haible  <bruno@clisp.org>
49809         and Eric Blake  <ebb9@byu.net>
49810
49811         vasnprintf: support Irix 5.3
49812         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
49813         that mishandle long double infinity.
49814         Reported by Tom G. Christensen.
49815
49816 2008-09-16  Bruno Haible  <bruno@clisp.org>
49817
49818         * doc/glibc-functions/scandir.texi: Mention the function is missing on
49819         Solaris 9.
49820         * doc/glibc-functions/alphasort.texi: Likewise.
49821         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
49822
49823 2008-09-16  Jim Meyering  <meyering@redhat.com>
49824
49825         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
49826         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
49827         a umask modification leak out of a subshell.  Otherwise, the
49828         opensolaris /bin/sh would be accepted and thus cause unwarranted
49829         failures in the coreutils test suite.
49830
49831 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
49832
49833         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
49834         to succeed.
49835
49836 2008-09-16  Jim Meyering  <meyering@redhat.com>
49837
49838         avoid spurious test failure when library is built without ACL support
49839         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
49840         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
49841         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
49842         * tests/test-copy-acl.sh: Likewise.
49843
49844 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49845
49846         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
49847         based on character occurrence counts.
49848
49849 2008-09-15  Eric Blake  <ebb9@byu.net>
49850
49851         tests: avoid some compiler warnings
49852         * tests/test-memchr.c (main): Pass NULL indirectly.
49853         * tests/test-closein.c (main): Avoid unused variable.
49854
49855 2008-09-15  Bruno Haible  <bruno@clisp.org>
49856
49857         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
49858         are missing on OpenBSD 4.0 individually.
49859         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49860
49861 2008-09-15  Bruno Haible  <bruno@clisp.org>
49862
49863         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
49864         * doc/posix-functions/strerror.texi: Mention also Cygwin.
49865         * doc/posix-functions/perror.texi: Likewise.
49866         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
49867         is missing.
49868         Reported by Eric Blake.
49869
49870         * lib/errno.in.h: Use replacement values >= 2000.
49871         Reported by Eric Blake.
49872
49873 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49874
49875         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
49876         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
49877         limit.
49878         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
49879         compareseq was aborted.
49880
49881 2008-09-14  Bruno Haible  <bruno@clisp.org>
49882
49883         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
49884         yvec_edit_count.
49885         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
49886         (fstrcmp_bounded): Simplify result computation accordingly.
49887
49888 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49889
49890         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
49891         (fstrcmp): Define in terms of fstrcmp_bounded.
49892         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
49893         lower_bound argument.
49894         Return quickly if the result is certainly < lower_bound.
49895         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
49896
49897 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49898
49899         * lib/diffseq.h (EARLY_ABORT): New macro.
49900         (compareseq): Change return type to bool. Return true when EARLY_ABORT
49901         evaluates to true.
49902
49903 2008-09-14  Bruno Haible  <bruno@clisp.org>
49904
49905         * modules/perror-tests: New file.
49906         * tests/test-perror.sh: New file.
49907         * tests/test-perror.c: New file.
49908
49909         New module 'perror'.
49910         * lib/stdio.in.h (perror): New declaration.
49911         * lib/perror.c: New file.
49912         * m4/perror.m4: New file.
49913         * modules/perror: New file.
49914         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
49915         * doc/posix-functions/perror.texi: Mention the perror module.
49916         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
49917         REPLACE_PERROR.
49918         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
49919         REPLACE_PERROR.
49920
49921 2008-09-14  Bruno Haible  <bruno@clisp.org>
49922
49923         * modules/stdio (Makefile.am): Reorder to match the order in
49924         lib/stdio.in.h.
49925         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
49926
49927 2008-09-13  Bruno Haible  <bruno@clisp.org>
49928
49929         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
49930
49931 2008-09-13  Bruno Haible  <bruno@clisp.org>
49932
49933         Extend strerror to cover the added errno values.
49934         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
49935         (rpl_strerror): Provide error messages for the added errno values and
49936         for the WSA* values.
49937         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
49938         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
49939         strerror.
49940         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
49941         * modules/strerror (Depends-on): Add errno.
49942         * doc/posix-functions/strerror.texi: Document the change.
49943         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
49944         and EOVERFLOW.
49945
49946 2008-09-13  Bruno Haible  <bruno@clisp.org>
49947
49948         * modules/EOVERFLOW: Remove file.
49949         * m4/eoverflow.m4: Remove file.
49950         * modules/EOVERFLOW-tests: Remove file.
49951         * tests/test-EOVERFLOW.c: Remove file.
49952         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
49953         * modules/ftell (Depends-on): Likewise.
49954         * modules/getdelim (Depends-on): Likewise.
49955         * modules/getugroups (Depends-on): Likewise.
49956         * modules/poll (Depends-on): Likewise.
49957         * modules/snprintf (Depends-on): Likewise.
49958         * modules/sprintf-posix (Depends-on): Likewise.
49959         * modules/vasnprintf (Depends-on): Likewise.
49960         * modules/vasprintf (Depends-on): Likewise.
49961         * modules/vfprintf-posix (Depends-on): Likewise.
49962         * modules/vsnprintf (Depends-on): Likewise.
49963         * modules/vsprintf-posix (Depends-on): Likewise.
49964         * modules/xvasprintf (Depends-on): Likewise.
49965         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49966         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
49967         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
49968         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
49969         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49970         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
49971         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
49972         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
49973         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49974         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
49975         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
49976         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
49977         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49978         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
49979         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
49980         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
49981         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49982         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
49983         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
49984         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
49985         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49986         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
49987         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
49988         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
49989         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
49990         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49991         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
49992         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
49993         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
49994         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
49995         * MODULES.html.sh: Remove EOVERFLOW.
49996         * NEWS: Mention the change.
49997
49998 2008-09-13  Bruno Haible  <bruno@clisp.org>
49999
50000         * modules/errno-tests: New file.
50001         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
50002
50003         * lib/errno.in.h: New file.
50004         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
50005         * modules/errno: New file.
50006         * doc/posix-headers/errno.texi: Update documentation.
50007         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
50008
50009 2008-09-13  Bruno Haible  <bruno@clisp.org>
50010
50011         * tests/test-poll.c: Use #if for native Windows, rather than testing
50012         __MSVCRT__.
50013
50014 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50015             Bruno Haible  <bruno@clisp.org>
50016
50017         * lib/glob.c: Don't include <pwd.h> on native Windows.
50018         (WINDOWS32): New macro.
50019         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
50020
50021 2008-09-13  Bruno Haible  <bruno@clisp.org>
50022
50023         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
50024         (ETIMEDOUT): Remove macro.
50025         (glthread_cond_timedwait_multithreaded): New declaration.
50026         (glthread_cond_timedwait): Use it.
50027         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
50028         (glthread_cond_timedwait_multithreaded): New function.
50029
50030 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50031
50032         * modules/poll-tests: Do not check for io.h.
50033         * tests/test-poll.c: Check for __MSVCRT__ instead.
50034
50035 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50036
50037         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
50038         * modules/poll-tests: Add inet_pton, stdbool, sockets.
50039         * tests/test-poll.c: Use them.  Use _pipe on Windows.
50040
50041 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50042
50043         * modules/poll-tests: New.
50044         * tests/test-poll.c: New.
50045
50046 2008-09-12  Eric Blake  <ebb9@byu.net>
50047
50048         frexp: test for NetBSD failure on -0.0
50049         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
50050         not all, bugs from NetBSD 3.0 have been fixed.
50051         * doc/posix-functions/frexp.texi (frexp): Document bug.
50052         Reported by Thomas Klausner.
50053
50054         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
50055         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
50056         literal -0.0.
50057         Reported by Jonathan C. Patschke <jp@centtech.com>.
50058
50059 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50060
50061         * lib/glthread/cond.h: Use dummy implementation also if
50062         USE_WIN32_THREADS.
50063
50064 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50065
50066         * modules/fnmatch-posix (License): Change to LGPLv2+.
50067         * modules/fnmatch-gnu (License): Likewise.
50068
50069 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50070
50071         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
50072
50073 2008-09-11  Jim Meyering  <meyering@redhat.com>
50074
50075         * users.txt: Add gtk-vnc.
50076
50077 2008-09-08  Simon Josefsson  <simon@josefsson.org>
50078
50079         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
50080         rotate amounts.
50081
50082         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
50083         required for 16-bit and 8-bit rotates.
50084         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
50085         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
50086         UINT8_MAX instead of hard-coded constants.
50087         Suggested by Paul Eggert.
50088
50089 2008-09-07  Bruno Haible  <bruno@clisp.org>
50090
50091         * tests/test-striconveh.c (main): Check behaviour when converting from
50092         UTF-7.
50093
50094         Make striconveh work better with stateful encodings.
50095         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
50096         that iconv does not increment the inptr when returning -1/EINVAL.
50097
50098 2008-09-07  Bruno Haible  <bruno@clisp.org>
50099
50100         * build-aux/config.rpath: Update according to libtool-2.2.6.
50101         * build-aux/config.libpath: Likewise.
50102
50103 2008-09-06  Bruno Haible  <bruno@clisp.org>
50104
50105         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
50106         * lib/freadptr.c (freadptr): Likewise.
50107         * lib/freadseek.c (freadptrinc): Likewise.
50108         Reported by Simon Josefsson.
50109
50110 2008-09-06  Bruno Haible  <bruno@clisp.org>
50111
50112         * modules/freadptr (License): Change to LGPLv2+.
50113         * modules/freadseek (License): Likewise.
50114         Suggested by Eric Blake.
50115
50116         * modules/memchr2 (License): Change to LGPLv2+.
50117         Approved by Eric Blake.
50118
50119 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50120             Bruno Haible  <bruno@clisp.org>
50121
50122         Make gnulib-tool work with native 'sed' on AIX.
50123         * gnulib-tool (sed_noop): New variable.
50124         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
50125         func_add_or_update, func_create_testdir): Use it to initialize sed
50126         script variables.
50127         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50128
50129 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
50130             Bruno Haible  <bruno@clisp.org>
50131
50132         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
50133         also works after #include directives.
50134
50135 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
50136
50137         getdate.y: reject an out-of-range timezone value
50138         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
50139         the range [-24...+24].  When specified with only one or two digits,
50140         * tests/test-getdate.c: Tests for the fix.
50141         * doc/getdate.texi: Document this change.
50142
50143 2008-09-03  Bruno Haible  <bruno@clisp.org>
50144
50145         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
50146
50147 2008-09-02  Simon Josefsson  <simon@josefsson.org>
50148
50149         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
50150         <bruce.korb@gmail.com> with ideas from Ben Pfaff
50151         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
50152         Blake <ebb9@byu.net>.
50153
50154         * tests/test-bitrotate.c: Add more test vectors.
50155
50156 2008-09-02  Eric Blake  <ebb9@byu.net>
50157
50158         vasnprintf-posix: handle large precision via %.*d
50159         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
50160         when handling it ourselves.
50161         * tests/test-vasnprintf-posix.c (test_function): Add test.
50162         * tests/test-snprintf-posix.h (test_function): Likewise.
50163         * tests/test-sprintf-posix.h (test_function): Likewise.
50164         * tests/test-vasprintf-posix.c (test_function): Likewise.
50165         Reported by Alain Guibert.
50166
50167 2008-09-01  Eric Blake  <ebb9@byu.net>
50168
50169         c-stack: make configure-time check more robust
50170         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
50171         successful sigaction call.
50172         Reported by Tom G. Christensen.
50173
50174 2008-09-01  Bruno Haible  <bruno@clisp.org>
50175
50176         New module 'findprog-lgpl'.
50177         * modules/findprog-lgpl: New file.
50178         * lib/findprog-lgpl.c: New file.
50179         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
50180         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
50181         to decide whether to use strdup or xstrdup, concatenated_filename or
50182         xconcatenated_filename.
50183
50184 2008-09-01  Bruno Haible  <bruno@clisp.org>
50185
50186         Split module 'concat-filename' into 'concat-filename' (LGPL) and
50187         'xconcat-filename' (GPL).
50188         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
50189         (License): Change to LGPLv2+.
50190         * modules/xconcat-filename: New file.
50191         * lib/concat-filename.h (concatenated_filename): Change specification.
50192         (xconcatenated_filename): New declaration.
50193         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
50194         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
50195         memory situations.
50196         * lib/xconcat-filename.c: New file.
50197         * NEWS: Mention the change.
50198         * lib/findprog.c: Include concat-filename.h, not filename.h.
50199         (find_in_path): Use xconcatenated_filename instead of
50200         concatenated_filename.
50201         * lib/javacomp.c: Include concat-filename.h, not filename.h.
50202         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
50203         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
50204         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
50205         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
50206         instead of concatenated_filename.
50207         * lib/javaexec.c: Include concat-filename.h, not filename.h.
50208         (execute_java_class): Use xconcatenated_filename instead of
50209         concatenated_filename.
50210         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
50211         * modules/javacomp (Depends-on): Likewise.
50212         * modules/javaexec (Depends-on): Likewise.
50213
50214 2008-09-01  Bruno Haible  <bruno@clisp.org>
50215
50216         Split module 'filename' into 'filename' and 'concat-filename'.
50217         * modules/filename: Keep only lib/filename.h.
50218         (License): Change to LGPLv2+.
50219         * modules/concat-filename: New file, extracted from modules/filename.
50220         * lib/filename.h (concatenated_filename): Remove declaration.
50221         * lib/concat-filename.h: New file, extracted from lib/filename.h.
50222         * lib/concat-filename.c: Include concat-filename.h.
50223         * NEWS: Mention the change.
50224
50225 2008-09-01  Simon Josefsson  <simon@josefsson.org>
50226
50227         * lib/bitrotate.h (rotl8, rotr8): Add.
50228
50229         * modules/bitrotate (configure.ac): Need
50230         AC_REQUIRE([AC_C_INLINE]).
50231         (Description): Mention stdint.h.  Reported by Bruno Haible
50232         <bruno@clisp.org>.
50233
50234         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
50235         Paolo Bonzini <bonzini@gnu.org>.
50236
50237 2008-08-31  Bruno Haible  <bruno@clisp.org>
50238
50239         Assume Solaris specific bi-arch conventions on Solaris systems.
50240         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
50241         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
50242         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
50243         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
50244         like acl_libdirstem.
50245         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
50246         acl_libdirstem.
50247         * NEWS: Mention the change.
50248         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
50249
50250 2008-08-31  Jim Meyering  <meyering@redhat.com>
50251
50252         * lib/strftime.h: Add comments describing the two added arguments.
50253
50254         remove duplicate #include directives
50255         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
50256         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
50257
50258 2008-08-31  Bruno Haible  <bruno@clisp.org>
50259
50260         New module 'sigpipe-die'.
50261         * modules/sigpipe-die: New file.
50262         * lib/sigpipe-die.h: New file.
50263         * lib/sigpipe-die.c: New file.
50264         * MODULES.html.sh (Signal handling): Add sigpipe-die.
50265
50266 2008-08-31  Bruno Haible  <bruno@clisp.org>
50267
50268         Don't override previously installed signal handlers.
50269         * lib/fatal-signal.c (saved_sigactions): New variable.
50270         (uninstall_handlers): Reset the signal to the saved handler, not
50271         to SIG_DFL (except when ignored).
50272         (install_handlers): Save the previous handlers.
50273
50274 2008-08-30  Bruno Haible  <bruno@clisp.org>
50275
50276         * gnulib-tool (func_reset_sigpipe): New function.
50277         (func_get_automake_snippet, func_modules_transitive_closure,
50278         func_import): Invoke it before a join command that reads from stdin,
50279         to avoid "echo: write error: Broken pipe" error messages on stderr.
50280         Reported by Sam Steingold <sds@gnu.org>.
50281
50282 2008-08-30  Bruno Haible  <bruno@clisp.org>
50283
50284         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
50285         Code copied from m4/open.m4.
50286         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
50287         access and the filename ends in a slash. Code copied from lib/open.c.
50288         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
50289         * tests/test-fopen.c (main): Check against bug with trailing slash.
50290
50291 2008-08-29  Bruno Haible  <bruno@clisp.org>
50292
50293         Avoid some "gcc -pedantic" warnings.
50294         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
50295         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
50296         * lib/dirent.in.h: Likewise.
50297         * lib/fcntl.in.h: Likewise.
50298         * lib/float.in.h: Likewise.
50299         * lib/iconv.in.h: Likewise.
50300         * lib/inttypes.in.h: Likewise.
50301         * lib/locale.in.h: Likewise.
50302         * lib/math.in.h: Likewise.
50303         * lib/netinet_in.in.h: Likewise.
50304         * lib/search.in.h: Likewise.
50305         * lib/signal.in.h: Likewise.
50306         * lib/stdarg.in.h: Likewise.
50307         * lib/stdint.in.h: Likewise.
50308         * lib/stdio.in.h: Likewise.
50309         * lib/stdlib.in.h: Likewise.
50310         * lib/string.in.h: Likewise.
50311         * lib/strings.in.h: Likewise.
50312         * lib/sys_select.in.h: Likewise.
50313         * lib/sys_socket.in.h: Likewise.
50314         * lib/sys_stat.in.h: Likewise.
50315         * lib/sys_time.in.h: Likewise.
50316         * lib/sysexits.in.h: Likewise.
50317         * lib/time.in.h: Likewise.
50318         * lib/unistd.in.h: Likewise.
50319         * lib/wchar.in.h: Likewise.
50320         * lib/wctype.in.h: Likewise.
50321         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
50322         * modules/fchdir (Makefile.am): Likewise.
50323         * modules/fcntl (Makefile.am): Likewise.
50324         * modules/float (Makefile.am): Likewise.
50325         * modules/iconv_open (Makefile.am): Likewise.
50326         * modules/inttypes (Makefile.am): Likewise.
50327         * modules/locale (Makefile.am): Likewise.
50328         * modules/math (Makefile.am): Likewise.
50329         * modules/netinet_in (Makefile.am): Likewise.
50330         * modules/search (Makefile.am): Likewise.
50331         * modules/signal (Makefile.am): Likewise.
50332         * modules/stdarg (Makefile.am): Likewise.
50333         * modules/stdint (Makefile.am): Likewise.
50334         * modules/stdio (Makefile.am): Likewise.
50335         * modules/stdlib (Makefile.am): Likewise.
50336         * modules/string (Makefile.am): Likewise.
50337         * modules/strings (Makefile.am): Likewise.
50338         * modules/sys_select (Makefile.am): Likewise.
50339         * modules/sys_socket (Makefile.am): Likewise.
50340         * modules/sys_stat (Makefile.am): Likewise.
50341         * modules/sys_time (Makefile.am): Likewise.
50342         * modules/sysexits (Makefile.am): Likewise.
50343         * modules/time (Makefile.am): Likewise.
50344         * modules/unistd (Makefile.am): Likewise.
50345         * modules/wchar (Makefile.am): Likewise.
50346         * modules/wctype (Makefile.am): Likewise.
50347         Reported by Reuben Thomas <rrt@sc3d.org>.
50348
50349 2008-08-29  Bruno Haible  <bruno@clisp.org>
50350
50351         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
50352         any more.
50353
50354 2008-08-29  Simon Josefsson  <simon@josefsson.org>
50355
50356         * MODULES.html.sh (Misc): Add bitrotate.
50357
50358         * modules/bitrotate: New file.
50359
50360         * lib/bitrotate.h: New file.
50361
50362         * modules/bitrotate-tests: New file.
50363
50364         * tests/test-bitrotate.c: New file.
50365
50366         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
50367         on the bitrotate module.
50368
50369         * lib/arctwo.c: Use new bitrotate module.
50370
50371 2008-08-29  Jim Meyering  <meyering@redhat.com>
50372
50373         bootstrap: merge changes from coreutils
50374         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
50375         of copied files.  Remove a kludge, now that this is fixed.
50376         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
50377         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
50378         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
50379
50380 2008-08-29  Bruno Haible  <bruno@clisp.org>
50381
50382         * MODULES.html.sh: Remove --cvs-urls option.
50383
50384 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
50385
50386         maint.mk: adjust to file name change
50387         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
50388
50389 2008-08-28  Jim Meyering  <meyering@redhat.com>
50390
50391         * modules/getndelim2 (License): Relicense to LGPLv2+.
50392         Approved by Richard Stallman for the version of 1995, and by
50393         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
50394
50395 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
50396
50397         * lib/getdelim.c (flockfile, funlockfile): Make all of them
50398         dummy if one is not available.  Do not touch them if
50399         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
50400         (getc_maybe_unlocked): New.
50401         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
50402
50403 2008-08-26  Eric Blake  <ebb9@byu.net>
50404
50405         doc/INSTALL: resync from autoconf
50406         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
50407         (INSTALL_PRELUDE): Delete; this is done more efficiently by
50408         moving...
50409         * install.texi [!autoconf]: ...here.  Resync from autoconf.
50410         * INSTALL: Regenerate.
50411         * INSTALL.ISO: New file.
50412         * INSTALL.UTF-8: Likewise.
50413
50414 2008-08-26  Jim Meyering  <meyering@redhat.com>
50415
50416         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
50417         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
50418         these definitions conditional, so that they may be overridden, too.
50419
50420 2008-08-26  Bruno Haible  <bruno@clisp.org>
50421
50422         Generate INSTALL file variants with prettier quotes.
50423         * doc/Makefile (INSTALL_PRELUDE): New macro.
50424         (INSTALL): Use it.
50425         (INSTALL.ISO, INSTALL.UTF-8): New rules.
50426
50427 2008-08-26  Bruno Haible  <bruno@clisp.org>
50428
50429         Run makeinfo in an English locale.
50430         * doc/Makefile (MAKEINFO): New variable.
50431
50432 2008-08-26  Bruno Haible  <bruno@clisp.org>
50433
50434         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
50435         Suggested by Eric Blake.
50436
50437 2008-08-25  Bruno Haible  <bruno@clisp.org>
50438
50439         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
50440
50441 2008-08-25  Eric Blake  <ebb9@byu.net>
50442
50443         c-stack: test that stack overflow can be caught
50444         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
50445         that platform allows handling stack overflow; at least OS/2 EMX
50446         has sigaltstack, but crashes before transferring control to
50447         handler on stack overflow.
50448         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
50449         check for HAVE_STACK_OVERFLOW_HANDLING.
50450         Reported by Elbert Pol.
50451
50452 2008-08-25  Bruno Haible  <bruno@clisp.org>
50453
50454         * doc/posix-functions/strftime.texi: Fix description of strftime
50455         module.
50456
50457 2008-08-24  Bruno Haible  <bruno@clisp.org>
50458
50459         * tests/uniwidth/test-uc_width2.c: New file.
50460         * tests/uniwidth/test-uc_width2.sh: New file.
50461         * modules/uniwidth/width-tests (Files): Add the new files.
50462         (TESTS): Add uniwidth/test-uc_width2.sh.
50463         (TESTS_ENVIRONMENT): New variable.
50464         (check_PROGRAMS): Add test-uc_width2.
50465         (test_uc_width2_SOURCES): New variable.
50466
50467         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
50468         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
50469         not 0x00AB.
50470         Reported by Alexander V. Lukyanov <lav@netis.ru>.
50471
50472 2008-08-22  Eric Blake  <ebb9@byu.net>
50473
50474         test-lock, test-tls: mention why a test is skipped
50475         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
50476         skipped.
50477         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
50478
50479         count-one-bits: relax license
50480         * modules/count-one-bits (License): Relicense to LGPLv2+.
50481         Suggested by Ludovic Courtès, approved by Ben Pfaff.
50482
50483 2008-08-22  Andreas Schwab  <schwab@suse.de>
50484
50485         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
50486         Remove spurious space in assignment.
50487
50488 2008-08-21  Simon Josefsson  <simon@josefsson.org>
50489
50490         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
50491         Paul Eggert <eggert@CS.UCLA.EDU>.
50492
50493 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
50494
50495         * modules/gettext: Add m4/threadlib.m4.
50496
50497 2008-08-19  Eric Blake  <ebb9@byu.net>
50498
50499         test-c-stack: fix compilation failure on FreeBSD 5.0
50500         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
50501         headers before <sys/resource.h>.
50502         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
50503         the bug.
50504         Reported by Nelson H. F. Beebe.
50505
50506         strverscmp: migrate from "strverscmp.h" to <string.h>
50507         * modules/string (Makefile.am): Add new hooks.
50508         * modules/strverscmp (Files): Remove strverscmp.h.
50509         (Depends-on): Add string.
50510         (configure.ac): Add indicator.
50511         (Include): Mention new header.
50512         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
50513         defaults.
50514         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
50515         results.
50516         * lib/strverscmp.h: Delete.
50517         * lib/string.in.h (strverscmp): Provide declaration, when needed.
50518         * tests/test-strverscmp.c (includes): Adjust client.
50519         * lib/check-version.c (includes): Likewise.
50520         * NEWS: Document the change.
50521
50522         strverscmp: add unit test
50523         * modules/strverscmp-tests: New file.
50524         * tests/test-strverscmp.c: Likewise.
50525
50526 2008-08-19  Simon Josefsson  <simon@josefsson.org>
50527
50528         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
50529         regarding Windows crypto stuff, from Mono.
50530
50531 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
50532
50533         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
50534         if present, for intel RND.  Return error on failures.
50535
50536 2008-08-18  Ben Pfaff  <blp@gnu.org>
50537
50538         gitlog-to-changelog: give better diagnostic for failed pipe-open
50539         * build-aux/gitlog-to-changelog: Improve error message: suggest
50540         that the version of Git may be too old.
50541
50542 2008-08-18  Simon Josefsson  <simon@josefsson.org>
50543
50544         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
50545         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
50546
50547 2008-08-18  Bruno Haible  <bruno@clisp.org>
50548
50549         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
50550         pthread_in_use().
50551
50552 2008-08-18  Bruno Haible  <bruno@clisp.org>
50553
50554         * lib/glthread/threadlib.c: Include <pthread.h>.
50555
50556 2008-08-18  Bruno Haible  <bruno@clisp.org>
50557
50558         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
50559         glthread_recursive_lock_* macros.
50560         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
50561         Fix syntax error.
50562
50563 2008-08-18  Bruno Haible  <bruno@clisp.org>
50564
50565         * lib/glthread/thread.c: Avoid forcing a context switch right after
50566         thread creation.
50567
50568 2008-08-17  Bruno Haible  <bruno@clisp.org>
50569
50570         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
50571         * lib/glthread/thread.h: Provide Win32 specific implementation.
50572         * modules/thread (Files): Add lib/glthread/thread.c.
50573         (Depends-on): Add lock.
50574         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
50575
50576 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50577
50578         New module 'yield'.
50579         * modules/yield: New file.
50580         * lib/glthread/yield.h: New file.
50581         * m4/yield.m4: New file.
50582         * MODULES.html.sh (Multithreading): Add yield.
50583
50584 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50585
50586         New module 'thread'.
50587         * modules/thread: New file.
50588         * lib/glthread/thread.h: New file.
50589         * m4/thread.m4: New file.
50590         * MODULES.html.sh (Multithreading): Add thread.
50591
50592 2008-08-17  Bruno Haible  <bruno@clisp.org>
50593
50594         * lib/glthread/lock.h: Include <stdlib.h> always.
50595         * lib/glthread/tls.h: Likewise.
50596         * lib/glthread/cond.h: Likewise.
50597
50598 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50599
50600         New module 'cond'.
50601         * modules/cond: New file.
50602         * lib/glthread/cond.h: New file.
50603         * lib/glthread/cond.c: New file.
50604         * m4/cond.m4: New file.
50605         * MODULES.html.sh (Multithreading): Add cond.
50606
50607 2008-08-16  Eric Blake  <ebb9@byu.net>
50608
50609         c-stack: fix regression on Irix 5.3 from 2008-06-21
50610         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
50611         sa_sigaction...
50612         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
50613         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
50614         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
50615         * modules/signal (Makefile.am): Use the value.
50616         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
50617         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
50618         * doc/posix-headers/signal.texi (signal.h): Document this
50619         portability issue.
50620         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
50621         Reported by Tom G. Christensen.
50622
50623 2008-08-17  Bruno Haible  <bruno@clisp.org>
50624
50625         New module 'threadlib'.
50626         * modules/threadlib: New file.
50627         * lib/glthread/threadlib.c: New file, extracted from
50628         lib/glthread/lock.c.
50629         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
50630         functions.
50631         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
50632         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
50633         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
50634         macros.
50635         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
50636         (gl_DISABLE_THREADS): Remove macro.
50637         * modules/lock (Files): Remove build-aux/config.rpath.
50638         (Depends-on): Remove havelib. Add threadlib.
50639         (configure.ac-early): Remove section.
50640         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
50641         * modules/tls (Depends-on): Remove lock. Add threadlib.
50642         (Link): New section, copied from threadlib.
50643         * MODULES.html.sh (Multithreading): Add threadlib.
50644
50645 2008-08-14  Bruno Haible  <bruno@clisp.org>
50646
50647         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
50648         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
50649         glthread_rwlock_unlock, glthread_rwlock_destroy,
50650         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
50651         glthread_recursive_lock_destroy): Define as macros always.
50652         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
50653         glthread_lock_lock.
50654         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
50655         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
50656         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
50657         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
50658         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
50659         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
50660         (glthread_recursive_lock_lock_func): Renamed from
50661         glthread_recursive_lock_lock.
50662         (glthread_recursive_lock_unlock_func): Renamed from
50663         glthread_recursive_lock_unlock.
50664         (glthread_recursive_lock_destroy_func): Renamed from
50665         glthread_recursive_lock_destroy.
50666
50667 2008-08-14  Bruno Haible  <bruno@clisp.org>
50668
50669         * lib/glthread/lock.h: Renamed from lib/lock.h.
50670         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
50671         * lib/glthread/tls.h: Renamed from lib/tls.h.
50672         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
50673         * lib/fstrcmp.c: Update includes.
50674         * lib/strsignal.c: Update includes.
50675         * modules/lock (Files, Makefile.am): Update.
50676         (Include): Change to "glthread/lock.h".
50677         * modules/tls (Files, Makefile.am): Update.
50678         (Include): Change to "glthread/tls.h".
50679         * tests/test-lock.c: Update includes.
50680         * tests/test-tls.c: Update includes.
50681         * NEWS: Mention the renamed header files.
50682
50683 2008-08-11  Jim Meyering  <meyering@redhat.com>
50684
50685         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
50686
50687 2008-08-11  Eric Blake  <ebb9@byu.net>
50688
50689         test-c-stack: avoid C99-ism
50690         * tests/test-c-stack.c (main): Fix whitespace, move declaration
50691         before statement.
50692         Reported by Alain Guibert.
50693
50694 2008-08-10  Jim Meyering  <meyering@redhat.com>
50695
50696         ensure that return value of uinttostr et al are not ignored
50697         * lib/inttostr.h (__GNUC_PREREQ): Define.
50698         (__attribute_warn_unused_result__): Define.
50699         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
50700
50701 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
50702
50703         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
50704         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
50705
50706 2008-08-07  Jim Meyering  <meyering@redhat.com>
50707
50708         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
50709
50710         * modules/mkstemp (License): Relicense under LGPLv2+.
50711         * modules/tempname (License): Likewise.
50712
50713 2008-08-06  Bruno Haible  <bruno@clisp.org>
50714
50715         * lib/poll.c (poll): Further micro-optimization.
50716
50717 2008-08-06  Jim Meyering  <meyering@redhat.com>
50718
50719         inet_pton.c: use locale-independent tolower
50720         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
50721         (inet_pton6): Use c_tolower rather than tolower.
50722         * modules/inet_pton (Depends-on): Add c-ctype.
50723
50724 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
50725
50726         * lib/poll.c (poll): Avoid division when timeout is 0, cache
50727         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
50728
50729 2008-08-06  Jim Meyering  <meyering@redhat.com>
50730
50731         * modules/inet_pton (License): Relicense under LGPLv2+.
50732
50733 2008-08-03  Bruno Haible  <bruno@clisp.org>
50734
50735         Additional non-aborting API for lock and tls.
50736         * lib/lock.h: Include <errno.h>.
50737         (glthread_lock_init): New macro/function.
50738         (gl_lock_init): Define as wrapper around glthread_lock_init.
50739         (glthread_lock_lock): New macro/function.
50740         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
50741         (glthread_lock_unlock): New macro/function.
50742         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
50743         (glthread_lock_destroy): New macro/function.
50744         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
50745         (glthread_rwlock_init): New macro/function.
50746         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
50747         (glthread_rwlock_rdlock): New macro/function.
50748         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
50749         (glthread_rwlock_wrlock): New macro/function.
50750         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
50751         (glthread_rwlock_unlock): New macro/function.
50752         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
50753         (glthread_rwlock_destroy): New macro/function.
50754         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
50755         (glthread_recursive_lock_init): New macro/function.
50756         (gl_recursive_lock_init): Define as wrapper around
50757         glthread_recursive_lock_init.
50758         (glthread_recursive_lock_lock): New macro/function.
50759         (gl_recursive_lock_lock): Define as wrapper around
50760         glthread_recursive_lock_lock.
50761         (glthread_recursive_lock_unlock): New macro/function.
50762         (gl_recursive_lock_unlock): Define as wrapper around
50763         glthread_recursive_lock_unlock.
50764         (glthread_recursive_lock_destroy): New macro/function.
50765         (gl_recursive_lock_destroy): Define as wrapper around
50766         glthread_recursive_lock_destroy.
50767         (glthread_once): New macro/function.
50768         (gl_once): Define as wrapper around glthread_once.
50769         Update function declarations.
50770         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
50771         glthread_rwlock_init. Return error code.
50772         (glthread_rwlock_rdlock_multithreaded): Renamed from
50773         glthread_rwlock_rdlock. Return error code.
50774         (glthread_rwlock_wrlock_multithreaded): Renamed from
50775         glthread_rwlock_wrlock. Return error code.
50776         (glthread_rwlock_unlock_multithreaded): Renamed from
50777         glthread_rwlock_unlock. Return error code.
50778         (glthread_rwlock_destroy_multithreaded): Renamed from
50779         glthread_rwlock_destroy. Return error code.
50780         (glthread_recursive_lock_init_multithreaded): Renamed from
50781         glthread_recursive_lock_init. Return error code.
50782         (glthread_recursive_lock_lock_multithreaded): Renamed from
50783         glthread_recursive_lock_lock. Return error code.
50784         (glthread_recursive_lock_unlock_multithreaded): Renamed from
50785         glthread_recursive_lock_unlock. Return error code.
50786         (glthread_recursive_lock_destroy_multithreaded): Renamed from
50787         glthread_recursive_lock_destroy. Return error code.
50788         (glthread_once_call): Make static.
50789         (glthread_once_multithreaded): Renamed from glthread_once.
50790         * lib/tls.h: Include <errno.h>.
50791         (glthread_tls_key_init): New macro/function.
50792         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
50793         (glthread_tls_set): New macro/function.
50794         (gl_tls_set): Define as wrapper around glthread_tls_set.
50795         (glthread_tls_key_destroy): New macro/function.
50796         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
50797         Update function declarations.
50798         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
50799         glthread_tls_get.
50800         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50801
50802 2008-08-04  Eric Blake  <ebb9@byu.net>
50803
50804         gnumakefile: use space, not TAB, outside of targets
50805         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
50806
50807 2008-08-02  Jim Meyering  <meyering@redhat.com>
50808
50809         getdate.y: avoid locale-dependent date parsing failure
50810         In Turkish locales, getdate would fail to recognize keywords
50811         containing a lowercase "i".  The solution is not to rely on
50812         locale-sensitive case-conversion.
50813         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
50814         (lookup_word): Use c_toupper in place of toupper.
50815         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
50816         Reported by Vefa Bicakci <bicave@superonline.com> in
50817         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
50818         * modules/getdate (Depends-on): Add c-ctype.
50819
50820 2008-08-02  Bruno Haible  <bruno@clisp.org>
50821
50822         * gnulib-tool (func_import): When updating or creating a .gitignore
50823         file, prepend each added line with a slash, and ignore leading slashes
50824         from the existing lines.
50825         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
50826
50827 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50828
50829         Portability fix for GNU make 3.79.1.
50830         * top/GNUmakefile: Avoid 'else COND', which older GNU make
50831         versions do not understand.
50832
50833 2008-08-01  Bruno Haible  <bruno@clisp.org>
50834
50835         Work around bug of HP-UX 10.20 cc with -0.0 literal.
50836         * tests/test-isnanf.h (zero): New variable.
50837         (main): Avoid literal -0.0f.
50838         * tests/test-isnand.h (zero): New variable.
50839         (main): Avoid literal -0.0.
50840         * tests/test-isnanl.h (zero): New variable.
50841         (main): Avoid literal -0.0L.
50842         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
50843         (test_float, test_double, test_long_double): Avoid literals -0.0f,
50844         -0.0, -0.0L.
50845         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
50846         (test_signbitd): Avoid literal -0.0.
50847         (test_signbitl): Avoid literal -0.0L.
50848         * tests/test-ceilf1.c (zero): New variable.
50849         (main): Avoid literal -0.0f.
50850         * tests/test-ceill.c (zero): New variable.
50851         (main): Avoid literal -0.0L.
50852         * tests/test-floorf1.c (zero): New variable.
50853         (main): Avoid literal -0.0f.
50854         * tests/test-floorl.c (zero): New variable.
50855         (main): Avoid literal -0.0L.
50856         * tests/test-roundf1.c (zero): New variable.
50857         (main): Avoid literal -0.0f.
50858         * tests/test-round1.c (zero): New variable.
50859         (main): Avoid literal -0.0.
50860         * tests/test-roundl.c (zero): New variable.
50861         (main): Avoid literal -0.0L.
50862         * tests/test-truncf1.c (zero): New variable.
50863         (main): Avoid literal -0.0f.
50864         * tests/test-trunc1.c (zero): New variable.
50865         (main): Avoid literal -0.0.
50866         * tests/test-truncl.c (zero): New variable.
50867         (main): Avoid literal -0.0L.
50868         * tests/test-frexp.c (zero): New variable.
50869         (main): Avoid literal -0.0.
50870         * tests/test-frexpl.c (zero): New variable.
50871         (main): Avoid literal -0.0L.
50872         * tests/test-ldexpl.c (zero): New variable.
50873         (main): Avoid literal -0.0L.
50874         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50875         (zerod, zerol): New variables.
50876         (test_function): Avoid literals -0.0, -0.0L.
50877         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50878         (zerod, zerol): New variables.
50879         (test_function): Avoid literals -0.0, -0.0L.
50880         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50881         (zerod, zerol): New variables.
50882         (test_function): Avoid literals -0.0, -0.0L.
50883         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50884         (zerod, zerol): New variables.
50885         (test_function): Avoid literals -0.0, -0.0L.
50886         * tests/test-strtod.c (zero): New variable.
50887         (main): Avoid literal -0.0.
50888         Reported by Jonathan C. Patschke <jp@centtech.com>.
50889
50890 2008-07-31  Jim Meyering  <meyering@redhat.com>
50891
50892         sha256.h: correct definition of SHA224_DIGEST_SIZE
50893         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
50894         Reported by Paulie Pena IV <paulie4@gmail.com>.
50895         Define as 224 / 8, rather than as a literal.
50896         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
50897         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
50898         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
50899
50900 2008-07-31  Bruno Haible  <bruno@clisp.org>
50901
50902         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
50903         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
50904         Reported by Jonathan Patschke <jp@centtech.com>.
50905
50906 2008-07-31  Bruno Haible  <bruno@clisp.org>
50907
50908         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
50909         Reported by Paolo Bonzini <bonzini@gnu.org>.
50910
50911 2008-07-30  Eric Blake  <ebb9@byu.net>
50912
50913         test-strtod: allow compilation without -lm
50914         * tests/test-strtod.c (main): Avoid link dependence on fabs.
50915         Reported by Dennis Clarke <blastwave@gmail.com>.
50916
50917 2008-07-28  Jim Meyering  <meyering@redhat.com>
50918
50919         bootstrap: work also when there are no .po files in po/
50920         * build-aux/bootstrap (update_po_files): Complete the change
50921         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
50922
50923 2008-07-27  Jim Meyering  <meyering@redhat.com>
50924
50925         * users.txt: Add zile.
50926
50927 2008-07-26  Ben Pfaff  <blp@gnu.org>
50928
50929         Add missing dependencies on new m4/exponent[fdl].m4 files.
50930         * modules/isnanf-nolibm: Add m4/exponentf.m4.
50931         * modules/isnand-nolibm: Add m4/exponentd.m4.
50932         * modules/isnanl-nolibm: Add m4/exponentl.m4.
50933         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
50934         m4/isnan[fdl].m4, because the macros actually used moved.
50935         Reported by Jim Meyering.
50936
50937 2008-07-14  Ben Pfaff  <blp@gnu.org>
50938
50939         Add isinf module.
50940         * lib/isinf.c: New file.
50941         * lib/math.in.h: Define isinf macro if we have decided to replace
50942         it.
50943         * m4/isinf.m4: New file.
50944         * m4/math_h.m4: Initialize and substitute variables for isinf
50945         module.
50946         * modules/isinf: New file.
50947         * modules/isinf-tests: New file.
50948         * modules/math: Add substitutions for new module.
50949         * tests/test-isinf.c: New file.
50950         * doc/posix-functions/isinf.texi: Mention new module.
50951         * MODULES.html.sh: Mention new module.
50952
50953 2008-07-14  Ben Pfaff  <blp@gnu.org>
50954
50955         Factor out some macros for use by additional modules.
50956         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
50957         exponentf.m4.
50958         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
50959         exponentd.m4.
50960         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
50961         file exponentl.m4.
50962         * m4/exponentf.m4: New file.
50963         * m4/exponentd.m4: New file.
50964         * m4/exponentl.m4: New file.
50965         * modules/isnanf: Use new file m4/exponentf.m4.
50966         * modules/isnand: Use new file m4/exponentd.m4.
50967         * modules/isnanl: Use new file m4/exponentl.m4.
50968
50969 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
50970
50971         mktime.c: normalize tp->tm_isdst value to -1/0/1.
50972         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
50973         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
50974         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
50975
50976         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
50977         readlink on platforms without PATH_MAX.
50978
50979 2008-07-21  Eric Blake  <ebb9@byu.net>
50980
50981         Warn, not fail, on stale version.
50982         * top/GNUmakefile (_curr-ver): Tone down previous patch.
50983
50984         Don't allow installation with stale devel version number.
50985         * top/GNUmakefile (_is-install-target): New macro.
50986         (_curr-ver): Forbid installation with stale version number.
50987
50988 2008-07-20  Bruno Haible  <bruno@clisp.org>
50989
50990         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
50991         TESTS_ENVIRONMENT.
50992         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
50993
50994 2008-07-20  Bruno Haible  <bruno@clisp.org>
50995
50996         * lib/c-stack.h (c_stack_action): Add documentation.
50997         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
50998
50999 2008-07-20  Bruno Haible  <bruno@clisp.org>
51000
51001         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
51002         * modules/readlink (License): Likewise.
51003
51004 2008-07-17  Eric Blake  <ebb9@byu.net>
51005
51006         * modules/c-stack (Link): Fix typo.
51007
51008         Make c-stack use libsigsegv, when available.
51009         * modules/c-stack (Depends-on): Add libsigsegv.
51010         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
51011         needed.
51012         * lib/c-stack.c (SIGSTKSZ): Define fallback.
51013         (segv_handler, overflow_handler, c_stack_action)
51014         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
51015         implementation when libsigsegv is available, but only when using
51016         the library is necessary.
51017         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
51018         comment, explaining why XSI check fails on Linux.
51019         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
51020         * tests/test-c-stack2.sh: Tweak skip message.
51021         * NEWS: Document new link-time requirements.
51022
51023 2008-07-16  Eric Blake  <ebb9@byu.net>
51024
51025         c-stack: Expose false positives when not using libsigsegv.
51026         * modules/c-stack-tests (Files): Expand test.
51027         * tests/test-c-stack.c (main): Add means to conditionally trigger
51028         non-overflow SIGSEGV.
51029         * tests/test-c-stack2.sh: New file.
51030
51031 2008-07-14  Bruno Haible  <bruno@clisp.org>
51032
51033         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
51034         Reported by Eric Blake.
51035
51036 2008-07-14  Sam Steingold  <sds@gnu.org>
51037             Bruno Haible  <bruno@clisp.org>
51038
51039         New module libsigsegv.
51040         * modules/libsigsegv: New file.
51041         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
51042         modifications.
51043         * MODULES.html.sh (Signal handling): New section.
51044
51045 2008-07-14  Bruno Haible  <bruno@clisp.org>
51046
51047         * modules/unictype/ctype-* (Description): Add the word "function".
51048         Improves the resulting doc in MODULES.html.
51049
51050 2008-07-12  Ben Pfaff  <blp@gnu.org>
51051
51052         Add longlong module.
51053         * modules/longlong: New file.
51054
51055 2008-07-12  Bruno Haible  <bruno@clisp.org>
51056
51057         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
51058         to empty.
51059
51060 2008-07-10  Ben Pfaff  <blp@gnu.org>
51061
51062         Add isnan module.
51063         * doc/posix-functions/isnan.texi: Mention new module.
51064         * lib/math.in.h: Define isnan macro if we have decided to replace
51065         it.
51066         * m4/isnan.m4: New file.
51067         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
51068         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
51069         also.
51070         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
51071         redundancy.
51072         * m4/math_h.m4: Initialize and substitute variables for isnan
51073         module.
51074         * modules/isnan: New file.
51075         * modules/isnan-tests: New file.
51076         * modules/math: Add substitutions for new module.
51077         * tests/test-isnan.c: New file.
51078         * MODULES.html.sh: Mention new module.
51079
51080 2008-07-10  Ben Pfaff  <blp@gnu.org>
51081
51082         Add isnanf module.
51083         * lib/isnanf.m4: New file.
51084         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
51085         (gl_HAVE_ISNANF_IN_LIBM): New macro.
51086         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
51087         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
51088         * modules/isnanf: New file.
51089         * modules/isnanf-tests: New file.
51090         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
51091         files.
51092         * tests/test-isnanf-nolibm.c: factored most of its contents into
51093         new file tests/test-isnanf.h.
51094         * tests/test-isnanf.h: New file.
51095         * tests/test-isnanf.c: New file.
51096         * MODULES.html.sh: Mention new module.
51097         * doc/glibc-functions/isnanf.texi: Mention new module.
51098
51099 2008-07-10  Ben Pfaff  <blp@gnu.org>
51100
51101         Add isnand module.
51102         * lib/isnand.h: New file.
51103         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
51104         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
51105         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
51106         functionality also.
51107         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
51108         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
51109         (gl_HAVE_ISNAND_IN_LIBM): New macro.
51110         * modules/isnand: New file.
51111         * modules/isnand-tests: New file.
51112         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
51113         files.
51114         * tests/test-isnand-nolibm.c: factored most of its contents into
51115         new file tests/test-isnand.h.
51116         * tests/test-isnand.h: New file.
51117         * tests/test-isnand.c: New file.
51118         * MODULES.html.sh: Mention new module.
51119
51120 2008-07-10  Ben Pfaff  <blp@gnu.org>
51121
51122         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
51123         * lib/isnand.h: Rename lib/isnand-nolibm.h.
51124         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
51125         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
51126         * modules/isnanf-nolibm: Update references to renamed files.
51127         * modules/isnand-nolibm: Likewise.
51128         * modules/isnanf-nolibm-tests: Likewise.
51129         * modules/isnand-nolibm-tests: Likewise.
51130         * lib/frexp.c: Likewise.
51131         * lib/isfinite.c: Likewise.
51132         * lib/signbitd.c: Likewise.
51133         * lib/signbitf.c: Likewise.
51134         * lib/vasnprintf.c: Likewise.
51135         * tests/test-ceilf1.c: Likewise.
51136         * tests/test-ceilf2.c: Likewise.
51137         * tests/test-floorf1.c: Likewise.
51138         * tests/test-floorf2.c: Likewise.
51139         * tests/test-frexp.c: Likewise.
51140         * tests/test-round1.c: Likewise.
51141         * tests/test-round2.c: Likewise.
51142         * tests/test-roundf1.c: Likewise.
51143         * tests/test-strtod.c: Likewise.
51144         * tests/test-trunc1.c: Likewise.
51145         * tests/test-trunc2.c: Likewise.
51146         * tests/test-truncf1.c: Likewise.
51147         * tests/test-truncf2.c: Likewise.
51148         * NEWS: Mention the renamed header files.
51149
51150 2008-07-11  Jim Meyering  <meyering@redhat.com>
51151
51152         vc-list-files: make the last-resort awk code more portable
51153         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
51154         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
51155         does not support it.
51156
51157 2008-07-10  Eric Blake  <ebb9@byu.net>
51158
51159         Work with tar's bootstrap.
51160         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
51161         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
51162         an m4 comment.
51163
51164 2008-07-09  Jim Meyering  <meyering@redhat.com>
51165
51166         posix-shell.m4: fix typo that made this test malfunction
51167         * m4/posix-shell.m4: Remove capitalization in variable name.
51168
51169 2008-07-08  Bruno Haible  <bruno@clisp.org>
51170
51171         * m4/onceonly.m4: Update comments.
51172         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51173
51174 2008-07-04  Jim Meyering  <meyering@redhat.com>
51175
51176         * users.txt: Add vc-dwim.
51177         (bison, coreutils): Use the gitweb URL.
51178
51179 2008-07-03  Jim Meyering  <meyering@redhat.com>
51180
51181         * users.txt: Add libffcall.  From Sam Steingold.
51182
51183 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
51184
51185         getdate.y: do not ignore TZ with relative day, month or year offset
51186         * lib/getdate.y (get_date): Move the tz-handling block to follow the
51187         relative-date-handling, since otherwise, the latter would clobber the
51188         sole output (an updated Start value) of the tz-handling block.
51189         * tests/test-getdate.c: Tests for the fix
51190
51191 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51192
51193         Recognize 'foo_LIBRARIES += libgnu.a'.
51194         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
51195         makefile snippet has already specified an installation location,
51196         also using '+='.
51197
51198 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
51199
51200         getdate.y: factor out common actions
51201         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
51202         Use them in place of open-coded actions.
51203
51204 2008-07-01  Simon Josefsson  <simon@josefsson.org>
51205
51206         Add self-test for getdate module.
51207         * modules/getdate-tests: New file.
51208         * tests/test-getdate.c: New file.
51209
51210 2008-06-29  Bruno Haible  <bruno@clisp.org>
51211
51212         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
51213         .gitignore.
51214         Reported by Sylvain Beucler <beuc@beuc.net>.
51215
51216 2008-06-29  Bruno Haible  <bruno@clisp.org>
51217
51218         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
51219         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
51220
51221 2008-06-29  Bruno Haible  <bruno@clisp.org>
51222
51223         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
51224         EXTRA_DIST.
51225         Reported by Sylvain Beucler <beuc@beuc.net>.
51226
51227 2008-06-26  Jim Meyering  <meyering@redhat.com>
51228
51229         make several modules depend on the "open" module
51230         This provides slightly increased consistency when opening-for-write
51231         the name of a non-directory spelled with a trailing slash.
51232         * modules/chdir-safer: Likewise.
51233         * modules/chown: Likewise.
51234         * modules/clean-temp: Likewise.
51235         * modules/copy-file: Likewise.
51236         * modules/fchdir: Likewise.
51237         * modules/fcntl-safer: Likewise.
51238         * modules/pipe: Likewise.
51239         * modules/utime: Likewise.
51240         Prompted by Eric Blake and Bruno Haible.
51241
51242 2008-06-24  Andreas Schwab  <schwab@suse.de>
51243
51244         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
51245         literals can be used as initializers for global variables.
51246
51247 2008-06-23  Eric Blake  <ebb9@byu.net>
51248
51249         Make gnulib-cache.m4 easier to diff.
51250         * gnulib-tool (func_import): Allow newlines when reading cached
51251         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
51252
51253 2008-06-23  Bruno Haible  <bruno@clisp.org>
51254
51255         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
51256         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
51257         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
51258         m4/signalblocking.m4.
51259         (gl_PREREQ_SIGACTION): Don't invoke it.
51260         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
51261         gl_PREREQ_SIG_HANDLER_H.
51262         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
51263         Don't check for sigaction here.
51264
51265 2008-06-23  Bruno Haible  <bruno@clisp.org>
51266
51267         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
51268         (install_handlers): Don't set the SA_RESETHAND flag.
51269
51270 2008-06-23  Bruno Haible  <bruno@clisp.org>
51271
51272         * m4/sigaction.m4: Comment fixes.
51273         * lib/signal.in.h: Likewise.
51274
51275 2008-06-23  Eric Blake  <ebb9@byu.net>
51276
51277         Fix typo.
51278         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
51279
51280         Avoid SA_ namespace.
51281         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
51282         Reported by Ralf Wildenhues.
51283
51284         Avoid test failure due to SA_RESTORER.
51285         * tests/test-sigaction.c (SA_MASK): New macro.
51286         (main): Avoid failing due to extension flags being set.
51287         Reported by Jim Meyering.
51288
51289         Revert use of sig-handler.h in sigprocmask.c.
51290         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
51291         it requires the existence of struct sigaction.
51292         * lib/sigprocmask.c (handler_t): Restore typedef.
51293         (rpl_signal, old_handlers): Use local type.
51294
51295 2008-06-22  Bruno Haible  <bruno@clisp.org>
51296
51297         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
51298         conditionally.
51299         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51300
51301 2008-06-22  Bruno Haible  <bruno@clisp.org>
51302
51303         * doc/posix-functions/siginterrupt.texi: Move note.
51304
51305         * lib/signal.in.h (SA_RESTART): New macro.
51306         * lib/sigaction.c: Update comment.
51307
51308         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
51309
51310         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
51311         (gl_PREREQ_SIGPROCMASK): Invoke it.
51312         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
51313
51314         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
51315
51316         * lib/sigprocmask.c: Update a comment.
51317
51318 2008-06-21  Eric Blake  <ebb9@byu.net>
51319
51320         Use sigaction module rather than signal().
51321         * modules/c-stack (Depends-on): Add sigaction.
51322         * modules/fatal-signal (Depends-on): Likewise.
51323         * modules/nanosleep (Depends-on): Likewise.
51324         * modules/sigprocmask (Files): Add sig-handler.h.
51325         * modules/sigaction (Files): Likewise.
51326         * lib/sig-handler.h (get_handler): New file, suggested by Paul
51327         Eggert.
51328         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
51329         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
51330         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
51331         (init_fatal_signals): Likewise.
51332         * lib/nanosleep.c (rpl_nanosleep): Likewise.
51333         (siginterrupt): Delete fallback.
51334         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
51335         instead.
51336         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
51337         siginterrupt.
51338
51339         New module sigaction, for mingw.
51340         * modules/sigaction: New module...
51341         * modules/sigaction-tests: ...and its test.
51342         * m4/sigaction.m4: New file.
51343         * lib/sigaction.c: Likewise.
51344         * tests/test-sigaction.c: Likewise.
51345         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
51346         * modules/signal (Makefile.am): Likewise.
51347         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
51348         needed.
51349         * doc/posix-headers/signal.texi (signal.h): Mention provided
51350         types.
51351         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
51352         that sigaction is preferable.
51353         * doc/posix-functions/sigaction.texi (sigaction): Mention new
51354         module.
51355         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51356         sigaction.
51357
51358         Improve robustness of sigprocmask by overriding signal.
51359         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
51360         is in use.
51361         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
51362         (SIGKILL, SIGSTOP): Provide fallbacks.
51363         (rpl_signal): Implement.
51364         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
51365         signal can be called inside handlers.
51366
51367         Fix nanosleep module on mingw.
51368         * modules/nanosleep (Depends-on): Add sys_select.
51369         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
51370
51371         Fix licensing of sigprocmask.
51372         * modules/raise (License): Relicense as LGPL.
51373
51374 2008-06-21  Bruno Haible  <bruno@clisp.org>
51375
51376         * lib/propername.c (proper_name_utf8): Don't use the transliterated
51377         result if it contains question marks.
51378         Reported by Michael Geng <linux@michaelgeng.de>.
51379
51380 2008-06-19  Bruno Haible  <bruno@clisp.org>
51381
51382         Fix CVS-ism.
51383         * doc/gnulib.texi: Include updated-stamp.texi.
51384         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
51385         (updated-stamp.texi): New rule.
51386         (gnulib.info): Depend on it.
51387         * doc/.gitignore: Add updated-stamp.texi.
51388         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
51389
51390 2008-06-19  Bruno Haible  <bruno@clisp.org>
51391
51392         * doc/Makefile (gnulib.info): Update and simplify dependencies.
51393         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51394
51395 2008-06-19  Eric Blake  <ebb9@byu.net>
51396
51397         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
51398         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
51399         Reported by Stepan Kasal.
51400
51401 2008-06-18  Bruno Haible  <bruno@clisp.org>
51402
51403         * lib/fatal-signal.c (init_fatal_signals): Add comment.
51404         Reported by Eric Blake.
51405
51406 2008-06-18  Eric Blake  <ebb9@byu.net>
51407
51408         Work around cygwin 1.5.25 strsignal bug.
51409         * tests/test-strsignal.c: Allow for const char *.
51410         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
51411
51412 2008-06-18  Simon Josefsson  <simon@josefsson.org>
51413
51414         * users.txt: Update URL to article and add author/date
51415         information.
51416
51417 2008-06-17  Bruno Haible  <bruno@clisp.org>
51418
51419         New macro gl_DISABLE_THREADS.
51420         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
51421         if the user did not pass --enable-threads or --disable-threads option.
51422         (gl_DISABLE_THREADS): New macro.
51423         Reported by Eric Blake <ebb9@byu.net>.
51424
51425 2008-06-17  Bruno Haible  <bruno@clisp.org>
51426
51427         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
51428         when the macro ignores it.
51429         Based on a patch by Eric Blake <ebb9@byu.net>.
51430
51431 2008-06-17  Bruno Haible  <bruno@clisp.org>
51432
51433         * modules/tls (License): Change to LGPLv2+.
51434         Reported by Eric Blake.
51435
51436 2008-06-17  Eric Blake  <ebb9@byu.net>
51437
51438         Simplify c-stack prerequisites.
51439         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
51440         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
51441         no longer requires <ucontext.h> to exist.  Optimize setrlimit
51442         check.
51443         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
51444         <sys/resource.h>.
51445
51446         Move c-stack test into testsuite.
51447         * modules/c-stack-tests: New file.
51448         * lib/c-stack.c [DEBUG]: Move test program...
51449         * tests/test-c-stack.c: ...into this new file.  Skip rather than
51450         fail test if sigaltstack is lacking.
51451         * tests/test-c-stack.sh: New driver file.
51452
51453 2008-06-16  Eric Blake  <ebb9@byu.net>
51454
51455         Use raise module consistently.
51456         * modules/fatal-signal (Depends-on): Add raise.
51457         * modules/sigprocmask (Depends-on): Likewise.
51458         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
51459         * lib/sigprocmask.c (sigprocmask): Likewise.
51460         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
51461         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
51462
51463         Fix compliance bug in sigpending.
51464         * lib/sigprocmask.c (sigpending): Return pending array via
51465         parameter, not return value.
51466
51467 2008-06-14  Eric Blake  <ebb9@byu.net>
51468
51469         Improve obstack-printf test code.
51470         * tests/test-obstack-printf.c (test_function): Fix comment, and
51471         simplify usage of obstack_* in macros.  Add a test for coverage.
51472         Reported by Bruno Haible.
51473
51474 2008-06-14  Bruno Haible  <bruno@clisp.org>
51475
51476         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
51477         array size as a constant, not as a const variable.
51478         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
51479         AC_USE_SYSTEM_EXTENSIONS.
51480         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
51481         Test whether the obstack_printf function actually exists.
51482         * modules/obstack-printf (Depends-on): Add extensions.
51483         (Include): Remove obstack.h.
51484         * modules/obstack-printf-posix (Depends-on): Add extensions.
51485         (Include): Remove obstack.h.
51486
51487 2008-06-13  Eric Blake  <ebb9@byu.net>
51488
51489         Add obstack-printf and obstack-printf-posix modules.
51490         * modules/obstack-printf: New file.
51491         * modules/obstack-printf-posix: Likewise.
51492         * MODULES.html.sh (Misc): Mention them.
51493         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51494         Likewise.
51495         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51496         Likewise.
51497         * modules/stdio (Makefile.am): Accomodate new modules.
51498         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51499         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
51500         Declare.
51501         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
51502         functions.
51503         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
51504         (gl_REPLACE_OBSTACK_PRINTF): New macros
51505         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
51506         * tests/test-obstack-printf.c: New file.
51507         * modules/obstack-printf-tests: Likewise.
51508         * modules/obstack-printf-posix-tests: Likewise.
51509
51510 2008-06-11  Bruno Haible  <bruno@clisp.org>
51511
51512         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
51513         * lib/open.c: Include errno.h.
51514         (open): Fail when attempting to write to a file that has a trailing
51515         slash.
51516         * tests/test-open.c (main): Test against trailing slash bug.
51517         * doc/posix-functions/open.texi: Mention the trailing slash bug.
51518
51519 2008-06-10  Bruno Haible  <bruno@clisp.org>
51520
51521         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
51522         for $? to work inside the trap command, with various /bin/sh-s.
51523         * tests/test-vc-list-files-cvs.sh: Likewise.
51524
51525 2008-06-10  Bruno Haible  <bruno@clisp.org>
51526
51527         * lib/acl-internal.h: Don't include gettext.h here.
51528         * lib/set-mode-acl.c: Include gettext.h here.
51529         * lib/copy-acl.c: Likewise.
51530
51531 2008-06-10  Bruno Haible  <bruno@clisp.org>
51532
51533         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
51534         * lib/wait-process.c (wait_subprocess): Likewise.
51535         * lib/execute.h (execute): Add termsigp argument.
51536         * lib/execute.c (execute): Likewise.
51537         * lib/csharpcomp.c (compile_csharp_using_pnet,
51538         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
51539         * lib/csharpexec.c (execute_csharp_using_pnet,
51540         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
51541         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
51542         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
51543         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
51544         is_jikes_present): Update.
51545         * lib/javaexec.c (execute_java_class): Update.
51546         * lib/javaversion.c (execute_and_read_line): Update.
51547         * NEWS: Document the changes.
51548         Reported by Eric Blake.
51549
51550 2008-06-10  Eric Blake  <ebb9@byu.net>
51551
51552         Add missing include.
51553         * tests/test-strstr.c (includes): Add <signal.h>.
51554         * tests/test-strcasestr.c (includes): Likewise.
51555         * tests/test-memmem.c (includes): Likewise.
51556
51557 2008-06-10  Bruno Haible  <bruno@clisp.org>
51558
51559         * lib/wait-process.c (wait_subprocess): Add an assertion.
51560
51561 2008-06-10  Bruno Haible  <bruno@clisp.org>
51562
51563         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
51564
51565 2008-06-10  Bruno Haible  <bruno@clisp.org>
51566
51567         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
51568         using alarm().
51569         * tests/test-strcasestr.c (main): Likewise.
51570         * tests/test-strstr.c (main): Likewise.
51571
51572 2008-06-09  Bruno Haible  <bruno@clisp.org>
51573
51574         Work around the Solaris 10 ACE ACLs ABI change.
51575         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
51576         declare if ACL_NO_TRIVIAL is present.
51577         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
51578         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
51579         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
51580         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
51581         define if ACL_NO_TRIVIAL is present.
51582         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
51583         and use the current ABI.
51584         (file_has_acl): Use same #if condition as elsewhere.
51585         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
51586         in use, and use the current ABI.
51587         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
51588         Reported by Jim Meyering.
51589
51590 2008-06-09  Eric Blake  <ebb9@byu.net>
51591
51592         Work around environments that (stupidly) ignore SIGALRM.
51593         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
51594         before using alarm().
51595         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51596         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
51597         Reported by Ian Beckwith <ianb@erislabs.net>.
51598
51599         Produce autobuild blurb earlier in log.
51600         * modules/autobuild (configure.ac-early): Move AB_INIT here.
51601
51602 2008-06-09  Jim Meyering  <meyering@redhat.com>
51603         and OndÅ™ej Vašík  <ovasik@redhat.com>
51604
51605         utimens.c: correct kernel bug work-around
51606         OndÅ™ej Vašík found that the invalid return value of 280 indicates
51607         failure, not success, and the kernel bug we're trying to work
51608         around affects not just the utimensat call, but also the fallback
51609         futimens call.
51610         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
51611         not success.
51612         [HAVE_FUTIMENS]: Use the same work-around, here.
51613
51614 2008-06-09  Jim Meyering  <meyering@redhat.com>
51615
51616         add more guards around definition of ACE_-related code
51617         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
51618         ALLOW and ACE_OWNER are also defined.
51619
51620 2008-06-08  Bruno Haible  <bruno@clisp.org>
51621
51622         * lib/acl-internal.h: Add me as co-author.
51623         * lib/file-has-acl.c: Likewise.
51624         * lib/set-mode-acl.c: Likewise.
51625         * lib/copy-acl.c: Likewise.
51626
51627 2008-06-08  Bruno Haible  <bruno@clisp.org>
51628
51629         Add support for AIX ACLs.
51630         * lib/acl-internal.h (acl_nontrivial): New declaration.
51631         * lib/file-has-acl.c (acl_nontrivial): New function.
51632         (file_has_acl): Add implementation using AIX 4 ACL API.
51633         * lib/set-mode-acl.c (qset_acl): Likewise.
51634         * lib/copy-acl.c (qcopy_acl): Likewise.
51635
51636 2008-06-08  Bruno Haible  <bruno@clisp.org>
51637
51638         Add support for HP-UX ACLs.
51639         * lib/acl-internal.h (acl_nontrivial): New declaration.
51640         * lib/file-has-acl.c (acl_nontrivial): New function.
51641         (file_has_acl): Add implementation using HP-UX 11 ACL API.
51642         * lib/set-mode-acl.c (qset_acl): Likewise.
51643         * lib/copy-acl.c (qcopy_acl): Likewise.
51644
51645 2008-06-08  Bruno Haible  <bruno@clisp.org>
51646
51647         Add support for Cygwin ACLs.
51648         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
51649         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
51650         the chmod_or_fchmod call.
51651         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
51652
51653 2008-06-08  Bruno Haible  <bruno@clisp.org>
51654
51655         Fix bug with setuid modes in Solaris 10+ code.
51656         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
51657         succeeded, when the mode contains some special bits.
51658
51659 2008-06-08  Bruno Haible  <bruno@clisp.org>
51660
51661         Add support for Solaris 7..10 ACLs.
51662         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
51663         declarations.
51664         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
51665         functions.
51666         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
51667         * lib/set-mode-acl.c (qset_acl): Likewise.
51668         * lib/copy-acl.c (qcopy_acl): Likewise.
51669
51670 2008-06-08  Bruno Haible  <bruno@clisp.org>
51671
51672         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
51673         declaration.
51674         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
51675         (acl_access_nontrivial): Remove MacOS X case.
51676         (file_has_acl): Use acl_extended_nontrivial.
51677         * lib/copy-acl.c (qcopy_acl): Likewise.
51678
51679 2008-06-08  Bruno Haible  <bruno@clisp.org>
51680
51681         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
51682
51683 2008-06-08  Jim Meyering  <meyering@redhat.com>
51684
51685         * modules/acl (Maintainer): Add Bruno Haible.
51686
51687 2008-06-07  Bruno Haible  <bruno@clisp.org>
51688
51689         Improve support for Tru64 ACLs.
51690         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
51691         ACL on OSF/1.
51692
51693 2008-06-07  Bruno Haible  <bruno@clisp.org>
51694
51695         Add support for MacOS X ACLs.
51696         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
51697         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
51698         * lib/set-mode-acl.c (qset_acl): Likewise.
51699         * lib/copy-acl.c (qcopy_acl): Likewise.
51700
51701 2008-06-07  Bruno Haible  <bruno@clisp.org>
51702
51703         Fix memory leak introduced on 2008-05-22.
51704         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
51705         use.
51706
51707 2008-06-07  Bruno Haible  <bruno@clisp.org>
51708
51709         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
51710         to construct an empty ACL.
51711
51712 2008-06-07  Bruno Haible  <bruno@clisp.org>
51713
51714         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
51715         precisely.
51716         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
51717
51718 2008-06-07  Bruno Haible  <bruno@clisp.org>
51719
51720         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
51721         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
51722
51723 2008-06-07  Bruno Haible  <bruno@clisp.org>
51724
51725         * doc/posix-functions/_setjmp.texi: Explain the use of this function
51726         regardless of POSIX.
51727         * doc/posix-functions/_longjmp.texi: Likewise.
51728         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
51729         SystemV platform in this case.
51730
51731 2008-06-06  Eric Blake  <ebb9@byu.net>
51732
51733         Document abort() bugs.
51734         * doc/posix-functions/abort.texi (abort): Mention anomalies.
51735
51736         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
51737         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
51738         sigsetjmp.
51739         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
51740         siglongjmp, but only as a macro.
51741         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
51742         is obsolete.
51743         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
51744
51745         Tweak documentation to cover cygwin argz bugs.
51746         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
51747         argz bug fix; no code change needed since no cygwin releases
51748         occurred between the last fix and the bug being tested.
51749         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
51750         module and recently fixed cygwin bugs.
51751         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
51752         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
51753         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
51754         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
51755         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
51756         Likewise.
51757         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
51758         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
51759         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
51760         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
51761         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
51762         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
51763         Likewise.
51764
51765         Avoid gcc warning on cygwin.
51766         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
51767         !ACL_NO_TRIVIAL]: Avoid unused variable.
51768
51769 2008-06-05  Eric Blake  <ebb9@byu.net>
51770
51771         Be tolerant of UNKNOWN version in gnulib-tool test dir.
51772         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
51773         git-version-gen fails to come up with a version.
51774         Reported by Simon Josefsson.
51775
51776 2008-06-05  Jim Meyering  <meyering@redhat.com>
51777             Paul Eggert  <eggert@cs.ucla.edu>
51778
51779         utimens.c: work around a probable Linux kernel bug
51780         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
51781         appears to be a kernel bug that causes utimensat to return 280
51782         instead of 0, indicating success.
51783
51784 2008-06-04  Bruno Haible  <bruno@clisp.org>
51785
51786         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
51787         2008-06-01 commit.
51788
51789 2008-06-04  Bruno Haible  <bruno@clisp.org>
51790
51791         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
51792         * lib/file-has-acl.c (acl_access_nontrivial): New function.
51793         (file_has_acl): Use it. Save errno afterwards.
51794         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
51795
51796 2008-06-03  Bruno Haible  <bruno@clisp.org>
51797
51798         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
51799         draft code. Simplify #ifs.
51800         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
51801         Put Solaris code after POSIX-draft code. Fix comments regarding
51802         Solaris 10, HP-UX. Mention Cygwin.
51803         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
51804
51805 2008-06-03  Eric Blake  <ebb9@byu.net>
51806
51807         Provide fallback for older kernels.
51808         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
51809         Provide runtime fallback if kernel lacks support.
51810         Reported by Mike Frysinger.
51811
51812 2008-06-02  Bruno Haible  <bruno@clisp.org>
51813
51814         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
51815         it exists.
51816
51817 2008-06-02  Bruno Haible  <bruno@clisp.org>
51818
51819         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
51820         * lib/copy-acl.c (qcopy_acl): Update comment.
51821
51822 2008-06-02  Bruno Haible  <bruno@clisp.org>
51823
51824         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
51825         like ACL APIs.
51826
51827 2008-06-02  Bruno Haible  <bruno@clisp.org>
51828
51829         * tests/test-file-has-acl.sh: Use different code for Cygwin.
51830         * tests/test-set-mode-acl.sh: Likewise.
51831         * tests/test-copy-acl.sh: Likewise.
51832         * tests/test-copy-file.sh: Likewise.
51833
51834 2008-06-02  Bruno Haible  <bruno@clisp.org>
51835
51836         * tests/test-file-has-acl.sh: Remove unused code.
51837
51838 2008-06-01  Bruno Haible  <bruno@clisp.org>
51839
51840         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
51841         (copy_acl): Just a wrapper around qcopy_acl that emits the error
51842         messages.
51843         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
51844
51845 2008-06-01  Bruno Haible  <bruno@clisp.org>
51846
51847         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
51848         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
51849         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
51850         APIs.
51851         * modules/acl-tests (configure.ac): Remove tests now contained in
51852         m4/acl.m4.
51853
51854 2008-06-02  Jim Meyering  <meyering@redhat.com>
51855
51856         announce-gen: use a better key-server host name
51857         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
51858         it may be more consistently reliable.  Suggested by Werner Koch
51859         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
51860
51861 2008-06-01  Bruno Haible  <bruno@clisp.org>
51862
51863         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
51864         Reported by Voroskoi Andras <voroskoi@gmail.com>.
51865
51866 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
51867
51868         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
51869
51870 2008-06-01  Bruno Haible  <bruno@clisp.org>
51871
51872         New ACL tests.
51873         * tests/test-file-has-acl.sh: New file.
51874         * tests/test-file-has-acl.c: New file.
51875         * tests/test-set-mode-acl.sh: New file.
51876         * tests/test-set-mode-acl.c: New file.
51877         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
51878         * tests/test-copy-acl.c: New file.
51879         * modules/acl-tests: New file, based on modules/copy-file-tests.
51880         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
51881         (Depends-on): Add acl-tests.
51882         (configure.ac): Remove checks.
51883         (Makefile.am): Don't create test-sameacls program here any more.
51884
51885 2008-06-01  Bruno Haible  <bruno@clisp.org>
51886
51887         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
51888         * tests/test-sameacls.c: Include progname.h.
51889         (main): Invoke set_program_name. Portability fixes for MacOS X,
51890         Solaris, HP-UX.
51891
51892 2008-06-01  Bruno Haible  <bruno@clisp.org>
51893
51894         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
51895         function.
51896         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
51897
51898 2008-06-01  Bruno Haible  <bruno@clisp.org>
51899
51900         * modules/rpmatch (Depends-on): Add strdup.
51901
51902 2008-06-01  Bruno Haible  <bruno@clisp.org>
51903
51904         * lib/pipe.c: Include unistd-safer.h.
51905         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
51906         * modules/pipe (Depends-on): Add unistd-safer.
51907
51908 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51909
51910         * modules/autobuild (configure.ac): Call AB_INIT.
51911
51912 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51913
51914         * tests/test-getaddrinfo.c: Don't print debug messages by default.
51915         Suggested by Bruno Haible <bruno@clisp.org>.
51916
51917 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51918
51919         * tests/test-base64.c: Cast size_t to unsigned long when invoking
51920         printf.  Use %lu instead of %d.  Reported by Bruno Haible
51921         <bruno@clisp.org>.
51922
51923 2008-05-29  Eric Blake  <ebb9@byu.net>
51924
51925         Prefer new POSIX 200x interfaces over futimesat.
51926         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
51927         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
51928         when available.
51929         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
51930
51931 2008-05-28  Bruno Haible  <bruno@clisp.org>
51932
51933         * modules/stpcpy (License): Change to LGPLv2+.
51934         Requested by David Lutterkort <dlutter@redhat.com>.
51935
51936 2008-05-27  Bruno Haible  <bruno@clisp.org>
51937
51938         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
51939         current mingw.
51940         Reported by Jose E. Marchesi <jemarch@gnu.org>.
51941
51942 2008-05-27  Bruno Haible  <bruno@clisp.org>
51943
51944         * modules/iconv_open (Link): New section, from module 'iconv'.
51945         * modules/striconv (Link): Likewise.
51946         * modules/striconveh (Link): Likewise.
51947         * modules/xstriconv (Link): Likewise.
51948         * modules/unicodeio (Link): Likewise.
51949         * modules/propername (Link): Likewise.
51950         Reported by Jim Meyering.
51951
51952 2008-05-26  Jim Meyering  <meyering@redhat.com>
51953
51954         sha256: do not artificially restrict buffer length to be < 2^32
51955         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
51956         uint32_t to size_t.
51957         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
51958         to match.
51959
51960         avoid unaligned access errors, e.g., on sparc
51961         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
51962         direct access through a possibly-unaligned uint64* pointer.
51963         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
51964         direct access through a possibly-unaligned uint32* pointer.
51965         Prompted by this patch from Tom "spot" Callaway:
51966         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
51967
51968         sha512.c: fix typo in comment
51969         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
51970
51971 2008-05-25  Bruno Haible  <bruno@clisp.org>
51972
51973         * lib/set-mode-acl.c: Renamed from lib/acl.c.
51974         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
51975         (Makefile.am): Update lib_SOURCES.
51976
51977 2008-05-25  Bruno Haible  <bruno@clisp.org>
51978
51979         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
51980
51981 2008-05-25  Jim Meyering  <meyering@redhat.com>
51982
51983         useless-if-before-free: freed expr may have white-space differences
51984         * build-aux/useless-if-before-free: Recognize cases in which the
51985         freed expression differs from the tested one in embedded white
51986         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
51987         $1 was used, so we can't make any regexp shy.  Improved tests now
51988         detect this.
51989
51990         useless-if-before-free: accept white space in the expression.
51991         * build-aux/useless-if-before-free: For now, any white space
51992         in the expression must be identical in the free argument.
51993
51994         useless-if-before-free: efficiency tweak
51995         * build-aux/useless-if-before-free: Make the expression-matching
51996         regexp "shy".
51997         Make the *outer* regexp shy, not the expr-matching one.
51998
51999         update code-in-comment to accept cast of free arg
52000         * build-aux/useless-if-before-free: Update regexp.
52001
52002 2008-05-25  Bruno Haible  <bruno@clisp.org>
52003
52004         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
52005         * modules/copy-file-tests (Files, Makefile.am): Update.
52006         * tests/test-copy-file.c (func_test_copy): Update.
52007
52008 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
52009
52010         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
52011
52012 2008-05-23  Bruno Haible  <bruno@clisp.org>
52013
52014         Improve support for ACLs on OSF/1.
52015         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
52016         Remove fallback for unknown flavors of ACLs.
52017
52018 2008-05-22  Bruno Haible  <bruno@clisp.org>
52019
52020         Add support for ACLs on OSF/1.
52021         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
52022         replacements.
52023         (acl_free_text): New macro fallback.
52024         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
52025         acl_free.
52026         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
52027         acl_free_text function. Require AC_C_INLINE.
52028
52029 2008-05-22  Bruno Haible  <bruno@clisp.org>
52030
52031         Make copy_acl work on MacOS X 10.5.
52032         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
52033         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
52034         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
52035         If MODE_INSIDE_ACL, don't assume that every system has the same text
52036         representation for ACLs as FreeBSD.
52037         * lib/copy-acl.c (copy_acl): Add support for platforms with
52038         !MODE_INSIDE_ACL.
52039         * lib/file-has-acl.c (file_has_acl): Likewise.
52040         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
52041         FreeBSD, MacOS X, or IRIX, respectively.
52042
52043 2008-05-22  Bruno Haible  <bruno@clisp.org>
52044
52045         * lib/acl.h: Don't include <sys/acl.h>.
52046         (GETACLCNT): Move fallback to lib/acl-internal.h.
52047         * lib/acl-internal.h: Include <sys/acl.h> here.
52048         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
52049
52050 2008-05-22  Bruno Haible  <bruno@clisp.org>
52051
52052         Split off copy_acl function to separate file.
52053         * lib/copy-acl.c: New file, extracted from lib/acl.c.
52054         * lib/acl.c (copy_acl): Moved function to separate file.
52055         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
52056         * modules/acl (Files): Add lib/copy-acl.c.
52057         (Makefiles.am): Augment lib_SOURCES.
52058
52059 2008-05-22  Bruno Haible  <bruno@clisp.org>
52060
52061         * modules/copy-file-tests: New file.
52062         * tests/test-copy-file.sh: New file.
52063         * tests/test-copy-file.c: New file.
52064         * tests/test-copy-file-sameacls.c: New file.
52065
52066 2008-05-22  Eric Blake  <ebb9@byu.net>
52067
52068         Avoid gcc warning.
52069         * tests/test-memcmp.c (main): Pass NULL indirectly.
52070
52071 2008-05-21  Bruno Haible  <bruno@clisp.org>
52072
52073         Add reference doc about ACLs.
52074         * doc/acl-resources.txt: New file.
52075         * doc/acl-cygwin.txt: New file.
52076
52077 2008-05-21  Bruno Haible  <bruno@clisp.org>
52078
52079         Avoid one more warning from gcc.
52080         * lib/vasnprintf.c (IF_LINT): Update comments.
52081         (VASNPRINTF): Use it also for the 'prefix' array initializer.
52082
52083 2008-05-21  Jim Meyering  <meyering@redhat.com>
52084
52085         avoid a warning from gcc
52086         * lib/vasnprintf.c (IF_LINT): Define.
52087         (scale10_round_decimal_long_double):
52088         Use it to avoid a "may be used uninitialized" warning.
52089         (scale10_round_decimal_double): Likewise.
52090
52091 2008-05-21  Simon Josefsson  <simon@josefsson.org>
52092
52093         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
52094         declared.
52095
52096 2008-05-20  Bruno Haible  <bruno@clisp.org>
52097
52098         * tests/test-memcmp.c (main): Test also the sign of the result. Test
52099         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
52100
52101 2008-05-20  Simon Josefsson  <simon@josefsson.org>
52102
52103         * modules/memcmp-tests: New file.
52104         * tests/test-memcmp.c: New file.
52105
52106 2008-05-19  Bruno Haible  <bruno@clisp.org>
52107
52108         * modules/propername (Notice, configure.ac): Put quoted "..." into
52109         --keyword option.
52110         * lib/propername.h: Update comments accordingly.
52111         Reported by Eric Blake.
52112
52113 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
52114
52115         * modules/getpass-gnu (Depends-on): Add fseeko.
52116
52117 2008-05-19  Simon Josefsson  <simon@josefsson.org>
52118
52119         * modules/base64-tests: New file.
52120
52121 2008-05-19  Bo Borgerson <gigabo@gmail.com>
52122
52123         * lib/base64.c (base64_decode_ctx): If a decode context structure
52124         was passed in use it to ignore newlines.  If a context structure
52125         was _not_ passed in, continue to treat newlines as garbage (this
52126         is the historical behavior).  Formerly base64_decode.
52127         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52128         takes a decode context structure.
52129         * lib/base64.h (base64_decode): Macro for four-argument calls.
52130         (base64_decode_alloc): Likewise.
52131         * lib/base64.c (base64_decode_ctx): If a decode context structure
52132         was passed in use it to ignore newlines.  If a context structure
52133         was _not_ passed in, continue to treat newlines as garbage (this
52134         is the historical behavior).  Formerly base64_decode.
52135         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52136         takes a decode context structure.
52137         * lib/base64.h (base64_decode): Macro for four-argument calls.
52138         (base64_decode_alloc): Likewise.
52139
52140 2008-05-19  Jim Meyering  <meyering@redhat.com>
52141
52142         avoid a warning from gcc
52143         * lib/trim.c (IF_LINT): Define.
52144         (trim2): Use it to avoid a "may be used uninitialized" warning.
52145
52146         Fix doc typo.
52147         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
52148
52149 2008-05-19  Bruno Haible  <bruno@clisp.org>
52150
52151         * doc/glibc-functions/getpass.texi: Document limits of other
52152         implementations.
52153
52154 2008-05-19  Simon Josefsson  <simon@josefsson.org>
52155             Bruno Haible <bruno@clisp.org>
52156
52157         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
52158
52159 2008-05-18  Bruno Haible  <bruno@clisp.org>
52160
52161         * modules/propername: New file, from GNU gettext.
52162         * lib/propername.h: New file, from GNU gettext.
52163         * lib/propername.c: New file, from GNU gettext.
52164         * MODULES.html.sh (Internationalization functions): Add propername.
52165
52166 2008-05-16  Jim Meyering  <meyering@redhat.com>
52167             Bruno Haible  <bruno@clisp.org>
52168
52169         Avoid some warnings from "gcc -Wshadow".
52170         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
52171
52172 2008-05-15  Eric Blake  <ebb9@byu.net>
52173
52174         Extend previous patch to cygwin 1.7.0.
52175         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
52176         fast implementation in cygwin >= 1.7.0.
52177         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52178         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52179
52180 2008-05-15  Bruno Haible  <bruno@clisp.org>
52181
52182         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
52183         implementation in glibc >= 2.9.
52184         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52185         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52186
52187 2008-05-15  Bruno Haible  <bruno@clisp.org>
52188
52189         * MODULES.html.sh (Internationalization functions): Remove linebreak.
52190         (Unicode string functions): Add unilbrk/*.
52191         Reported by Karl Berry.
52192
52193 2008-05-15  Eric Blake  <ebb9@byu.net>
52194
52195         Fix violation of <stdbool.h> replacement in regex.
52196         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
52197         * lib/regexec.c (re_search_internal): Likewise.
52198         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
52199
52200 2008-05-15  Jim Meyering  <meyering@redhat.com>
52201
52202         avoid distracting test output when git or cvs is not found
52203         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
52204         * tests/test-vc-list-files-git.sh: Likewise.
52205
52206 2008-05-15  Eric Blake  <ebb9@byu.net>
52207
52208         Glibc finally accepted the memmem speedup code, bugzilla #5514.
52209         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
52210         glibc version.
52211         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
52212         * doc/posix-functions/strstr.texi (strstr): Likewise.
52213         * lib/str-two-way.h (MAX): Sychronize with glibc.
52214
52215 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
52216
52217         * lib/regcomp.c (optimize_utf8): Add a note on why we test
52218         opr.ctx_type.
52219         (calc_first): Initialize constraint field.
52220         (duplicate_node_closure): Use it instead of special casing ANCHORS.
52221         Fix grammar.
52222         (duplicate_node): Merge constraint field for all node types.
52223         (calc_eclosure_iter): Look at constraint field for all node types.
52224         * lib/regex_internal.c (create_cd_newstate): Don't look at
52225         opr.ctx_type.
52226
52227 2008-05-14  Bruno Haible  <bruno@clisp.org>
52228
52229         Help GCC to do better code generation.
52230         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
52231         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
52232         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
52233         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
52234         Declare with attribute 'malloc' if supported.
52235
52236 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
52237
52238         use "echo STR|wc -c" rather than unportable "expr length STR"
52239         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
52240         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
52241
52242 2008-05-14  Jim Meyering  <meyering@redhat.com>
52243
52244         use dd ibs=$n count=1 ... rather than less-portable head -c$n
52245         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
52246         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
52247         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
52248         via Collin Lasse.
52249
52250 2008-05-14  Eric Blake  <ebb9@byu.net>
52251
52252         Avoid quadratic growth in gl_LIBSOURCES.
52253         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
52254         Suggested by Bruno Haible.
52255
52256         Test xmemdup0.
52257         * modules/xmemdup0-tests: New file.
52258         * tests/test-xmemdup0.c: Likewise.
52259
52260 2008-05-13  Eric Blake  <ebb9@byu.net>
52261
52262         Split xmemdup0 into its own module.
52263         * modules/xmemdup0: New file.
52264         * lib/xmemdup0.h: Likewise.
52265         * lib/xmemdup0.c: Likewise.
52266         * MODULES.html.sh (Memory management functions): Add xmemdup0.
52267         * lib/xalloc.h (xmemdup0): Remove.
52268         * lib/xmalloc.c (xmemdup0): Likewise.
52269
52270 2008-05-13  Eric Blake  <ebb9@byu.net>
52271             Bruno Haible  <bruno@clisp.org>
52272
52273         Reduce number of forks required during autoconf.
52274         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
52275         and gl_LIBSOURCES_DIR.
52276         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
52277         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
52278         m4_syscmd per file.
52279         <m4_foreach_w>: Move...
52280         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
52281
52282 2008-05-13  Eric Blake  <ebb9@byu.net>
52283
52284         * gnulib-tool: Fix various comment typos.
52285
52286 2008-05-12  Bruno Haible  <bruno@clisp.org>
52287
52288         Tailor the linebreaking algorithm.
52289         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
52290
52291 2008-05-12  Bruno Haible  <bruno@clisp.org>
52292
52293         Update to Unicode 5.0.0.
52294         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
52295         LBP_JV, LBP_JT. Redistribute values.
52296         (unilbrk_table): Change size.
52297         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
52298         Unicode TR#14 rev. 22.
52299         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
52300         LBP_JV, LBP_JT. Redistribute values.
52301         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
52302         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
52303         Update.
52304         * lib/unilbrk/lbrkprop1.h: Regenerated.
52305         * lib/unilbrk/lbrkprop2.h: Regenerated.
52306         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
52307         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
52308         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
52309         Likewise.
52310         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
52311         Likewise.
52312         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
52313         result.
52314         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
52315         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
52316         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
52317         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
52318         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
52319         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
52320
52321 2008-05-11  Bruno Haible  <bruno@clisp.org>
52322
52323         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
52324
52325 2008-05-11  Bruno Haible  <bruno@clisp.org>
52326
52327         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
52328         * modules/unilbrk/gen-lbrk: New file.
52329
52330 2008-05-11  Bruno Haible  <bruno@clisp.org>
52331
52332         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
52333         * m4/sha512.m4 (gl_SHA512): Likewise.
52334
52335 2008-05-11  Jim Meyering  <meyering@redhat.com>
52336
52337         New modules: crypto/sha256, crypto/sha512 (from coreutils)
52338         * modules/crypto/sha256: New file.
52339         * modules/crypto/sha512: Likewise.
52340         * lib/sha256.c: Likewise.
52341         * lib/sha256.h: Likewise.
52342         * lib/sha512.c: Likewise.
52343         * lib/sha512.h: Likewise.
52344         * lib/u64.h: Likewise.
52345         * m4/sha256.m4: Likewise.
52346         * m4/sha512.m4: Likewise.
52347         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
52348
52349 2008-05-10  Bruno Haible  <bruno@clisp.org>
52350
52351         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
52352         (Input/Output <stdio.h>): Add xprintf.
52353         (Signal handling <signal.h>): Add strsignal.
52354         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
52355         (Core language properties): Add func.
52356         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
52357         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
52358         strings.
52359         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
52360         (Input/output): New section.
52361         (File system functions): Add openat-die, stat-macros.
52362         (Networking functions): Add sockets.
52363         (Unicode string functions): Add unictype/*.
52364         (Support for building libraries and executables): Add gperf.
52365         (Support for building documentation): Add agpl-3.0.
52366         (Misc): Add nocrash.
52367
52368 2008-05-10  Bruno Haible  <bruno@clisp.org>
52369
52370         * modules/unictype/gen-ctype: New file.
52371
52372 2008-05-10  Jim Meyering  <meyering@redhat.com>
52373
52374         Make chdir-safer.c more efficient on a system with no symlinks.
52375         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
52376         also if ELOOP is zero.  Suggested by Bruno Haible.
52377
52378         Make chdir-safer.c slightly safer.
52379         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
52380         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
52381
52382         Avoid compile failure on systems without ELOOP (like mingw).
52383         * lib/chdir-safer.c (ELOOP): Define if not already defined.
52384         Reported by Bruno Haible.
52385
52386 2008-05-10  Bruno Haible  <bruno@clisp.org>
52387
52388         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
52389         (is_utf8_encoding): Use a case-insensitive comparison.
52390         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
52391         streq.
52392
52393 2008-05-10  Bruno Haible  <bruno@clisp.org>
52394
52395         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
52396         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
52397         * lib/unilbrk/ulc-common.h (iconv_string_length,
52398         iconv_string_keeping_offsets): Remove declarations.
52399         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
52400         Don't include <iconv.h>, streq.h, xsize.h.
52401         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
52402         conversion.
52403         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
52404         <iconv.h>, streq.h, xsize.h.
52405         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
52406         conversion.
52407         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
52408         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
52409         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
52410         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
52411
52412 2008-05-10  Bruno Haible  <bruno@clisp.org>
52413
52414         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
52415         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
52416
52417         * modules/unilbrk/u32-width-linebreaks-tests: New file.
52418         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
52419
52420         * modules/unilbrk/u16-width-linebreaks-tests: New file.
52421         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
52422
52423         * modules/unilbrk/u8-width-linebreaks-tests: New file.
52424         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
52425
52426         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
52427         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
52428
52429         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
52430         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
52431
52432         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
52433         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
52434
52435         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
52436         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
52437
52438 2008-05-10  Bruno Haible  <bruno@clisp.org>
52439
52440         Split up 'linebreak' module.
52441         * lib/unilbrk.h: New file, based on lib/linebreak.h.
52442         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
52443         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
52444         modifications.
52445         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
52446         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
52447         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
52448         lib/linebreak.c.
52449         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
52450         lib/linebreak.c.
52451         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
52452         lib/linebreak.c.
52453         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
52454         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
52455         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
52456         lib/linebreak.c.
52457         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
52458         lib/linebreak.c.
52459         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
52460         lib/linebreak.c.
52461         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
52462         lib/linebreak.c.
52463         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
52464         lib/linebreak.c.
52465         * modules/unilbrk/base: New file.
52466         * modules/unilbrk/tables: New file.
52467         * modules/unilbrk/u8-possible-linebreaks: New file.
52468         * modules/unilbrk/u16-possible-linebreaks: New file.
52469         * modules/unilbrk/u32-possible-linebreaks: New file.
52470         * modules/unilbrk/ulc-common: New file.
52471         * modules/unilbrk/ulc-possible-linebreaks: New file.
52472         * modules/unilbrk/u8-width-linebreaks: New file.
52473         * modules/unilbrk/u16-width-linebreaks: New file.
52474         * modules/unilbrk/u32-width-linebreaks: New file.
52475         * modules/unilbrk/ulc-width-linebreaks: New file.
52476         * lib/linebreak.h: Remove file.
52477         * lib/linebreak.c: Remove file.
52478         * m4/linebreak.m4: Remove file.
52479         * modules/linebreak: Remove file.
52480         * NEWS: Mention the changes.
52481
52482 2008-05-09  Eric Blake  <ebb9@byu.net>
52483
52484         Add xmemdup0.
52485         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
52486         implementation.
52487         * lib/xmalloc.c (xmemdup0): New C implementation.
52488
52489 2008-05-08  Bruno Haible  <bruno@clisp.org>
52490
52491         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
52492
52493 2008-05-07  Eric Blake  <ebb9@byu.net>
52494
52495         Support cross-compilation of <wctype.h>.
52496         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
52497         AC_CACHE_CHECK.
52498
52499 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
52500
52501         * build-aux/vc-list-files: Add support for bzr.
52502
52503 2008-05-03  Jim Meyering  <meyering@redhat.com>
52504
52505         avoid failed assertion with tight malloc
52506         * tests/test-getndelim2.c: Correct an off-by-one assertion.
52507
52508 2008-05-03  Simon Josefsson  <simon@josefsson.org>
52509
52510         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
52511         are needed from arpa/inet.h.
52512         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
52513         Reported by Bruno Haible.
52514
52515 2008-05-02  Jim Meyering  <meyering@redhat.com>
52516
52517         avoid compilation error on FreeBSD 6
52518         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
52519
52520 2008-05-01  Jim Meyering  <meyering@redhat.com>
52521
52522         useless-if-before-free: correct --help's exit status description
52523         * build-aux/useless-if-before-free (usage): Like grep, exit 0
52524         for one or more matches, etc.  Reported by Bruno Haible.
52525
52526         vc-list-files: make the stand-alone gnulib test work
52527         * modules/vc-list-files-tests (configure.ac):
52528         Define and AC_SUBST abs_aux_dir.
52529         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
52530         $(abs_top_srcdir) to each script and having each of them
52531         duplicate the work of setting PATH, set PATH here, using
52532         the new variable, abs_aux_dir instead.
52533         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
52534         * tests/test-vc-list-files-git.sh: Likewise.
52535         Reported by Bruno Haible.
52536
52537 2008-05-01  Bruno Haible  <bruno@clisp.org>
52538
52539         * lib/getndelim2.c (getndelim2): Fix newsize computation during
52540         reallocation. Rename 'done' to 'found_delimiter'.
52541
52542 2008-05-01  Jim Meyering  <meyering@redhat.com>
52543
52544         vc-list-files: accommodate /bin/sh like the one from Solaris 10
52545         * build-aux/vc-list-files: Use `...`, not $(...).
52546
52547 2008-04-30  Jim Meyering  <meyering@redhat.com>
52548
52549         add tests for vc-list-files
52550         * modules/vc-list-files-tests: New module.
52551         * tests/test-vc-list-files-cvs.sh: New file.
52552         * tests/test-vc-list-files-git.sh: New file.
52553
52554         avoid a warning from gcc
52555         * lib/getndelim2.c (IF_LINT): Define.
52556         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
52557
52558         vc-list-files: work properly with build-aux/cvsu, too
52559         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
52560         to all cvs-based clauses.
52561
52562         vc-list-files: work properly in the CVS+awk case, too
52563         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
52564
52565         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
52566         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
52567         take more than one file argument, so .  Add quotes, just in case $dir
52568         ever contains a shell meta-character.  Prompted by Soren Hansen in
52569         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
52570
52571 2008-04-29  Eric Blake  <ebb9@byu.net>
52572
52573         Optimize getndelim2 to use block operations when possible.
52574         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
52575         freadseek, and memchr2.
52576         * lib/getndelim2.c (getndelim2): Use them for block reads.
52577
52578 2008-04-29  Bruno Haible  <bruno@clisp.org>
52579
52580         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
52581         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52582         * modules/inet_ntop (Depends-on): Add extensions.
52583         * modules/inet_pton (Depends-on): Likewise.
52584         Reported by Simon Josefsson.
52585
52586 2008-04-29  Jim Meyering  <meyering@redhat.com>
52587
52588         When the is more than one match in a block, match all of them.
52589         * build-aux/useless-if-before-free: Iterate through each block
52590         until there are no more matches.
52591
52592         Fix broken useless-if-before-free script.
52593         * build-aux/useless-if-before-free: Fix typo: missing "?" after
52594         the expression to match cast of argument to free-like function.
52595
52596 2008-04-29  Eric Blake  <ebb9@byu.net>
52597
52598         Use new header.
52599         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
52600
52601 2008-04-29  Jim Meyering  <meyering@redhat.com>
52602
52603         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
52604         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
52605         by gnulib to exist and to declare e.g., inet_ntop.
52606         Don't include "inet_ntop.h", now removed.
52607
52608         * m4/arpa_inet_h.m4: Remove trailing blanks.
52609
52610 2008-04-29  Eric Blake  <ebb9@byu.net>
52611
52612         Silence valgrind on safe reads beyond potential array bounds.
52613         * lib/rawmemchr.valgrind: New file.
52614         * lib/strchrnul.valgrind: Likewise.
52615         * modules/rawmemchr (Files): Distribute new file.
52616         * modules/strchrnul (Files): Likewise.
52617         Suggested by Bruno Haible.
52618
52619 2008-04-29  Bruno Haible  <bruno@clisp.org>
52620
52621         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
52622         (inet_ntop, inet_pton): Change portability warning's wording.
52623         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
52624         Invoke gl_CHECK_NEXT_HEADERS.
52625         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
52626         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
52627         set ARPA_INET_H.
52628         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52629         * modules/arpa_inet (Description): No longer only for systems that
52630         lack it.
52631         (Depends-on): Add include_next.
52632         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
52633         HAVE_ARPA_INET_H.
52634
52635 2008-04-29  Jim Meyering  <meyering@redhat.com>
52636
52637         * modules/mkdir (License): Re-license as LGPLv2+.
52638
52639 2008-04-29  Bruno Haible  <bruno@clisp.org>
52640
52641         * modules/rawmemchr (Maintainer): Set to Eric.
52642         * modules/strchrnul (Maintainer): Likewise.
52643
52644 2008-04-29  Simon Josefsson  <simon@josefsson.org>
52645
52646         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
52647         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
52648
52649         * modules/arpa_inet (arpa/inet.h): Use them.
52650
52651 2008-04-28  Eric Blake  <ebb9@byu.net>
52652
52653         Test getndelim2.
52654         * modules/getndelim2-tests: New file.
52655         * tests/test-getndelim2.c: Likewise.
52656         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
52657         stream.
52658         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
52659
52660         * MODULES.html.sh: Document new module.
52661
52662 2008-04-20  Bruno Haible  <bruno@clisp.org>
52663
52664         * lib/c-stack.c (die): Use raise.
52665         * modules/c-stack (Depends-on): Add raise.
52666
52667 2008-04-28  Bruno Haible  <bruno@clisp.org>
52668
52669         Expect rpmatch to be declared.
52670         * lib/yesno.c (rpmatch): Remove declaration.
52671
52672         Declare rpmatch.
52673         * lib/stdlib.in.h (rpmatch): New declaration.
52674         * lib/rpmatch.c: Include <stdlib.h> first.
52675         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
52676         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
52677         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
52678         HAVE_RPMATCH.
52679         * modules/rpmatch (Depends-on): Add stdlib, extensions.
52680         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52681         (Include): Set to <stdlib.h>.
52682         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
52683         HAVE_RPMATCH.
52684         * NEWS: Document the change.
52685
52686 2008-04-28  Bruno Haible  <bruno@clisp.org>
52687
52688         Change rpmatch to use nl_langinfo when appropriate.
52689         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
52690         (N_): New macro.
52691         (localized_pattern): New function/macro.
52692         (try): Remove match, nomatch arguments. Copy the pattern into safe
52693         memory before caching it.
52694         (rpmatch): Use localized_pattern. Add translator comments.
52695         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
52696         Suggested by Eric Blake.
52697         * modules/rpmatch (Depends-on): Add stdbool.
52698
52699 2008-04-28  Eric Blake  <ebb9@byu.net>
52700
52701         Add rawmemchr module, matching glibc.
52702         * modules/string (Makefile.am): New indicator.
52703         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
52704         * lib/string.in.h (rawmemchr): Declare when appropriate.
52705         * modules/rawmemchr: New file.
52706         * m4/rawmemchr.m4: Likewise.
52707         * lib/rawmemchr.c: Likewise.
52708         * modules/rawmemchr-tests: Likewise.
52709         * tests/test-rawmemchr.c: Likewise.
52710         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
52711         module.
52712         * modules/strchrnul (Depends-on): Add rawmemchr.
52713         * lib/strchrnul.c (strchrnul): Optimize a corner case.
52714
52715         Whitespace cleanup.
52716         * tests/test-strchrnul.c: Reindent.
52717         * lib/strchrnul.c: Likewise.
52718
52719         Optimize and test strchrnul.
52720         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
52721         * modules/strchrnul-tests: New file.
52722         * tests/test-strchrnul.c: Likewise.
52723
52724         Remove intprops dependency.
52725         * modules/memchr (Depends-on): Remove intprops.
52726         * modules/memrchr (Depends-on): Likewise.
52727         * modules/memchr2 (Depends-on): Likewise.
52728         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
52729         * lib/memrchr.c (__memrchr): Likewise.
52730         * lib/memrchr2.c (memchr2): Likewise.
52731         Reported by Simon Josefsson.
52732
52733 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52734
52735         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
52736         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52737
52738 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52739
52740         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
52741
52742         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
52743
52744         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
52745
52746         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
52747         declarations.
52748         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
52749
52750         * m4/inet_pton.m4: Don't check for header files.
52751
52752         * m4/inet_ntop.m4: Don't check for header files.
52753
52754 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52755
52756         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
52757         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
52758         trigger for cygwin).
52759         Reported by Bruno Haible  <bruno@clisp.org>.
52760
52761 2008-04-28  Bruno Haible  <bruno@clisp.org>
52762
52763         * doc/posix-functions/strdup.texi: Mention mingw problem.
52764
52765 2008-04-27  Bruno Haible  <bruno@clisp.org>
52766
52767         * modules/stat-time-tests (Depends-on): Add sleep.
52768         * tests/test-stat-time.c (force_unlink): New function.
52769         (cleanup): Use it.
52770         (test_mtime): Remove the ctime related tests.
52771         (test_ctime): New function, containing the ctime related tests.
52772         (main): Call test_ctime, except on native Windows platforms.
52773
52774 2008-04-27  Bruno Haible  <bruno@clisp.org>
52775
52776         * lib/rpmatch.c (rpmatch): Add some comments.
52777         Reported by James Youngman <jay@gnu.org>.
52778
52779 2008-04-27  Bruno Haible  <bruno@clisp.org>
52780
52781         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
52782         quiet NaNs.
52783
52784 2008-04-27  Bruno Haible  <bruno@clisp.org>
52785
52786         Make test-yesno.sh work on mingw.
52787         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
52788         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
52789         (main): Set stdin to binary mode.
52790         * modules/yesno-tests (Depends-on): Add binary-io.
52791
52792 2008-04-27  Bruno Haible  <bruno@clisp.org>
52793
52794         Fix 'isfinite' on x86, x86_64, ia64 platforms.
52795         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
52796         argument that lie outside the IEEE 854 domain.
52797         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
52798         (gl_ISFINITE): Use it.
52799         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
52800
52801 2008-04-27  Bruno Haible  <bruno@clisp.org>
52802
52803         Allow local renaming in config.h.
52804         * lib/memrchr.c (memrchr): Don't undefine outside libc.
52805
52806 2008-04-27  Bruno Haible  <bruno@clisp.org>
52807
52808         * lib/memchr.c (__memchr): Change type of 'i'.
52809         * lib/memchr2.c (memchr2): Likewise.
52810
52811 2008-04-26  Eric Blake  <ebb9@byu.net>
52812         and Bruno Haible  <bruno@clisp.org>
52813
52814         Optimize and test memrchr.
52815         * modules/memrchr (Depends-on): Add intprops.
52816         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
52817         * modules/memrchr-tests: New file.
52818         * tests/test-memrchr.c: New file.
52819
52820 2008-04-26  Bruno Haible  <bruno@clisp.org>
52821
52822         Add tentative support for DragonFly BSD.
52823         * lib/stdio-impl.h: Add macros for DragonFly BSD.
52824         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
52825         fp.
52826         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52827         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
52828         * lib/fpurge.c (fpurge): Likewise.
52829         * lib/freadable.c (freaadable): Likewise.
52830         * lib/freadahead.c (freadahead): Likewise.
52831         * lib/freading.c (freading): Likewise.
52832         * lib/freadptr.c (freadptr): Likewise.
52833         * lib/freadseek.c (freadptrinc): Likewise.
52834         * lib/fseeko.c (fseeko): Likewise.
52835         * lib/fseterr.c (fseterr): Likewise.
52836         * lib/fwritable.c (fwritable): Likewise.
52837         * lib/fwriting.c (fwriting): Likewise.
52838
52839 2008-04-26  Bruno Haible  <bruno@clisp.org>
52840
52841         * lib/stdio-impl.h: New file.
52842         * lib/fbufmode.c: Include stdio-impl.h.
52843         (fbufmode): Use fp_, remove redundant #defines.
52844         * lib/fflush.c: Include stdio-impl.h.
52845         (clear_ungetc_buffer): Remove redundant #defines.
52846         * lib/fpurge.c: Include stdio-impl.h.
52847         (fpurge): Remove redundant #defines.
52848         * lib/freadable.c: Include stdio-impl.h.
52849         (freadable): Remove redundant #defines.
52850         * lib/freadahead.c: Include stdio-impl.h.
52851         (freadahead): Remove redundant #defines.
52852         * lib/freading.c: Include stdio-impl.h.
52853         (freading): Remove redundant #defines.
52854         * lib/freadptr.c: Include stdio-impl.h.
52855         (freadptr): Remove redundant #defines.
52856         * lib/freadseek.c: Include stdio-impl.h.
52857         (freadptrinc): Remove redundant #defines.
52858         * lib/fseeko.c: Include stdio-impl.h.
52859         (rpl_fseeko): Remove redundant #defines.
52860         * lib/fseterr.c: Include stdio-impl.h.
52861         (fseterr): Remove redundant #defines.
52862         * lib/fwritable.c: Include stdio-impl.h.
52863         (fwritable: Remove redundant #defines.
52864         * lib/fwriting.c: Include stdio-impl.h.
52865         (fwriting): Remove redundant #defines.
52866         * modules/fbufmode (Files): Add lib/stdio-impl.h.
52867         * modules/fflush (Files): Likewise.
52868         * modules/fpurge (Files): Likewise.
52869         * modules/freadable (Files): Likewise.
52870         * modules/freadahead (Files): Likewise.
52871         * modules/freading (Files): Likewise.
52872         * modules/freadptr (Files): Likewise.
52873         * modules/freadseek (Files): Likewise.
52874         * modules/fseeko (Files): Likewise.
52875         * modules/fseterr (Files): Likewise.
52876         * modules/fwritable (Files): Likewise.
52877         * modules/fwriting (Files): Likewise.
52878
52879 2008-04-26  Bruno Haible  <bruno@clisp.org>
52880
52881         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52882         restore_seek_optimization, update_fpos_cache): New functions, extracted
52883         from rpl_fflush.
52884         (rpl_fflush): Use them.
52885         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
52886         (gl_REPLACE_FFLUSH): Use it.
52887
52888 2008-04-26  Bruno Haible  <bruno@clisp.org>
52889
52890         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
52891         on Solaris.
52892         * tests/test-xstrtoimax.sh: Likewise.
52893         * tests/test-xstrtoumax.sh: Likewise.
52894         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52895
52896 2008-04-26  Bruno Haible  <bruno@clisp.org>
52897
52898         * modules/memchr-tests: New file.
52899         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
52900
52901 2008-04-26  Eric Blake  <ebb9@byu.net>
52902             Bruno Haible  <bruno@clisp.org>
52903
52904         * lib/memchr.c: Include intprops.h.
52905         (__memchr): Optimize parallel detection of matching bytes. Rename local
52906         variables. Add explanatory comments.
52907
52908 2008-04-26  Bruno Haible  <bruno@clisp.org>
52909
52910         Fix module 'memchr', broken since 2000-10-28.
52911         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
52912
52913 2008-04-26  Bruno Haible  <bruno@clisp.org>
52914
52915         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
52916         comments.
52917
52918 2008-04-25  Eric Blake  <ebb9@byu.net>
52919
52920         Use native fstatat on cygwin 1.7.0.
52921         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
52922         first.
52923
52924 2008-04-23  Eric Blake  <ebb9@byu.net>
52925
52926         Improve memchr2 performance.
52927         * lib/memchr2.c (memchr2): Further optimize parallel detection of
52928         NUL bytes.
52929         * modules/memchr2 (Depends-on): Use intprops.h.
52930
52931 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52932
52933         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
52934         an inline function instead of a CPP macro.  Patch by Ben Pfaff
52935         <blp@cs.stanford.edu>.
52936
52937 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52938
52939         * lib/arpa_inet.in.h: New file.
52940
52941         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
52942         (Makefile.am): Sed in substitute header file.
52943
52944         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
52945         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
52946
52947         * modules/inet_ntop (configure.ac): Use
52948         gl_ARPA_INET_MODULE_INDICATOR.
52949
52950         * modules/inet_pton (configure.ac): Use
52951         gl_ARPA_INET_MODULE_INDICATOR.
52952
52953 2008-04-22  Jim Meyering  <meyering@redhat.com>
52954
52955         * modules/verify (License): Re-license as LGPLv2+.
52956
52957 2008-04-22  Simon Josefsson  <simon@josefsson.org>
52958
52959         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
52960         parameter to void* as per POSIX standard (MinGW uses char*).
52961
52962 2008-04-21  Bruno Haible  <bruno@clisp.org>
52963
52964         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
52965         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
52966         Define to replacements if REPLACE_ISWCNTRL is 1.
52967         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
52968         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
52969         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
52970         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
52971         what it fixes.
52972         * doc/posix-functions/iswalpha.texi: Likewise.
52973         * doc/posix-functions/iswblank.texi: Likewise.
52974         * doc/posix-functions/iswcntrl.texi: Likewise.
52975         * doc/posix-functions/iswdigit.texi: Likewise.
52976         * doc/posix-functions/iswgraph.texi: Likewise.
52977         * doc/posix-functions/iswlower.texi: Likewise.
52978         * doc/posix-functions/iswprint.texi: Likewise.
52979         * doc/posix-functions/iswpunct.texi: Likewise.
52980         * doc/posix-functions/iswspace.texi: Likewise.
52981         * doc/posix-functions/iswupper.texi: Likewise.
52982         * doc/posix-functions/iswxdigit.texi: Likewise.
52983         Reported by Alain Guibert.
52984
52985 2008-04-21  Bruno Haible  <bruno@clisp.org>
52986
52987         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
52988         Patch by Alain Guibert.
52989
52990 2008-04-21  Bruno Haible  <bruno@clisp.org>
52991
52992         Fix test failures on mingw.
52993         * tests/test-xstrtol.c (print_no_progname): New function.
52994         (main): Install it in error_print_progname hook.
52995         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
52996         * tests/test-xstrtoimax.sh: Likewise.
52997         * tests/test-xstrtoumax.sh: Likewise.
52998
52999 2008-04-21  Bruno Haible  <bruno@clisp.org>
53000
53001         Fix test failure on mingw.
53002         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
53003
53004 2008-04-21  Bruno Haible  <bruno@clisp.org>
53005
53006         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
53007         Actually assign a value.
53008
53009 2008-04-20  Bruno Haible  <bruno@clisp.org>
53010
53011         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
53012         take 2.
53013         * lib/canonicalize.c (canonicalize_file_name): Elide if the
53014         'canonicalize-lgpl' module is also used.
53015         * lib/canonicalize-lgpl.c: Undo last change.
53016         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
53017
53018 2008-04-20  Bruno Haible  <bruno@clisp.org>
53019
53020         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
53021         config.h. Provide _mkdir based fallback for mingw.
53022         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
53023         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
53024         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
53025         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
53026         rather than defining mkdir in config.h.
53027         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
53028         (gl_SYS_STAT_H_DEFAULTS): New macro.
53029         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
53030         HAVE_IO_H any more.
53031         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
53032         HAVE_DECL_MKDIR and HAVE_IO_H.
53033
53034 2008-04-20  Bruno Haible  <bruno@clisp.org>
53035
53036         * lib/isapipe.c: Port to native Windows platforms.
53037
53038 2008-04-20  Bruno Haible  <bruno@clisp.org>
53039
53040         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
53041
53042 2008-04-21  Eric Blake  <ebb9@byu.net>
53043
53044         Work around preprocessors that don't handle UINTMAX_MAX.
53045         * lib/memchr2.c (memchr2): Avoid embedded #if.
53046         Reported by Alain Guibert, fix suggested by Bruno Haible.
53047
53048 2008-04-21  Simon Josefsson  <simon@josefsson.org>
53049
53050         * doc/posix-functions/strftime.texi (strftime): Explain better
53051         Windows incompatibility.  Suggested by Micah Cowan
53052         <micah@cowan.name>.
53053
53054 2008-04-20  Bruno Haible  <bruno@clisp.org>
53055
53056         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
53057         unistr/u8-mblen.
53058
53059 2008-04-20  Bruno Haible  <bruno@clisp.org>
53060
53061         Fix test failure on platforms with non-GNU iconv.
53062         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
53063         (U_TO_U8): Use it, rather than u16_to_u8.
53064         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
53065         units at the end of the input string.
53066         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
53067
53068 2008-04-20  Bruno Haible  <bruno@clisp.org>
53069
53070         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
53071         when the resulting length is 0.
53072         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
53073
53074 2008-04-20  Bruno Haible  <bruno@clisp.org>
53075
53076         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
53077         works.
53078         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
53079
53080 2008-04-20  Bruno Haible  <bruno@clisp.org>
53081
53082         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
53083         * modules/tsearch-tests (configure.ac): Test for initstate function.
53084
53085 2008-04-20  Bruno Haible  <bruno@clisp.org>
53086
53087         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
53088         for nlink_t if missing.
53089         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
53090
53091 2008-04-19  Bruno Haible  <bruno@clisp.org>
53092
53093         Work around snprintf bug on Linux libc5.
53094         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
53095         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53096         gl_SNPRINTF_SIZE1.
53097         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53098         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
53099         that test failed.
53100         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
53101         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
53102         * modules/snprintf (Files): Add m4/printf.m4.
53103         * modules/vsnprintf (Files): Likewise.
53104         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
53105         * doc/posix-functions/vsnprintf.texi: Likewise.
53106
53107 2008-04-19  Bruno Haible  <bruno@clisp.org>
53108
53109         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
53110         from 0.0058 to less than 10^-7.
53111
53112 2008-04-19  Bruno Haible  <bruno@clisp.org>
53113
53114         Fix rounding when a precision is given.
53115         * lib/vasnprintf.c (is_borderline): New function.
53116         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
53117         9...9x.
53118         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
53119         %e, %g.
53120         * tests/test-vasprintf-posix.c (test_function): Likewise.
53121         * tests/test-snprintf-posix.h (test_function): Likewise.
53122         * tests/test-sprintf-posix.h (test_function): Likewise.
53123         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
53124         * tests/test-printf-posix.h (test_function): Likewise.
53125         * tests/test-printf-posix.output: Update.
53126         Reported by John Darrington <john@darrington.wattle.id.au> via
53127         Ben Pfaff <blp@cs.stanford.edu>.
53128
53129 2008-04-18  Simon Josefsson  <simon@josefsson.org>
53130
53131         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
53132         Suggested by Bruno Haible <bruno@clisp.org>.
53133
53134 2008-04-17  Bruno Haible  <bruno@clisp.org>
53135
53136         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
53137         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
53138         implementation.
53139         Patch by Bruce Merry <bmerry@gmail.com>.
53140
53141 2008-04-17  Simon Josefsson  <simon@josefsson.org>
53142
53143         * doc/posix-functions/strftime.texi (strftime): Mention that %e
53144         doesn't work under Windows.
53145
53146 2008-04-16  Bruno Haible  <bruno@clisp.org>
53147
53148         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
53149         New macros.
53150         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
53151         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
53152         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
53153         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
53154         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
53155         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
53156         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
53157         macros.
53158         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
53159         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
53160         Northern Sotho, Uighur.
53161
53162 2008-04-16  Bruno Haible  <bruno@clisp.org>
53163
53164         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
53165         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
53166         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
53167         Reported by Daniel Bergström <daniel@octocode.com>.
53168
53169 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
53170             Bruno Haible  <bruno@clisp.org>
53171
53172         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
53173         function.
53174         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
53175         New functions, mostly extracted from gl_locale_name_default.
53176         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
53177
53178 2008-04-16  Eric Blake  <ebb9@byu.net>
53179
53180         Adjust strtod detection to catch glibc 2.7 bug.
53181         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
53182         Reported by John Gatewood Ham.
53183
53184 2008-04-16  Bruno Haible  <bruno@clisp.org>
53185
53186         Add tentative support for Linux libc5.
53187         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
53188         * lib/fpurge.c (fpurge): Likewise.
53189         * lib/freadable.c (freadable): Likewise.
53190         * lib/freadahead.c (freadahead): Likewise.
53191         * lib/freading.c (freading): Likewise.
53192         * lib/freadptr.c (freadptr): Likewise.
53193         * lib/freadseek.c (freadptrinc): Likewise.
53194         * lib/fseeko.c (rpl_fseeko): Likewise.
53195         * lib/fseterr.c (fseterr): Likewise.
53196         * lib/fwritable.c (fwritable): Likewise.
53197         * lib/fwriting.c (fwriting): Likewise.
53198         Reported by Alain Guibert <alguibert+bts@free.fr>.
53199
53200 2008-04-15  Bruno Haible  <bruno@clisp.org>
53201
53202         * modules/mathl (configure.ac): Define module indicator.
53203
53204 2008-04-15  Bruno Haible  <bruno@clisp.org>
53205
53206         * lib/logl.c (logl): Remove unused variables.
53207
53208 2008-04-15  Bruno Haible  <bruno@clisp.org>
53209
53210         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
53211         fails.
53212
53213 2008-04-15  Bruno Haible  <bruno@clisp.org>
53214
53215         * lib/trim.c (trim2): Fix argument of isspace() macro.
53216
53217 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
53218
53219         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
53220         to 0.
53221         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
53222
53223 2008-04-14  Bruno Haible  <bruno@clisp.org>
53224
53225         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
53226         AC_LANG_PROGRAM argument.
53227         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
53228         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
53229         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
53230         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
53231         * m4/math_h.m4 (gl_MATH_H): Likewise.
53232         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
53233         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53234         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
53235         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
53236         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
53237         * m4/regex.m4 (gl_REGEX): Likewise.
53238         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
53239         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
53240         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53241         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
53242         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53243         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53244         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53245         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
53246
53247 2008-04-14  Jim Meyering  <meyering@redhat.com>
53248
53249         test-strtod: fix typos: s/abs/fabs/
53250         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
53251
53252 2008-04-13  Bruno Haible  <bruno@clisp.org>
53253
53254         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
53255         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
53256         module is also used and while not building the reloc-wrapper.
53257
53258 2008-04-13  Bruno Haible  <bruno@clisp.org>
53259
53260         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
53261
53262 2008-04-13  Bruno Haible  <bruno@clisp.org>
53263
53264         Fix AIX compilation failure introduced on 2008-04-02.
53265         * tests/test-frexp.c (exp): Undefine before redefining.
53266         * tests/test-frexpl.c (exp): Likewise.
53267
53268 2008-04-13  Bruno Haible  <bruno@clisp.org>
53269
53270         Work around a HP-UX stdio bug.
53271         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
53272         * tests/test-ftello.c (main): Likewise.
53273         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
53274         * doc/posix-functions/ftello.texi: Likewise.
53275
53276 2008-04-13  Bruno Haible  <bruno@clisp.org>
53277
53278         Make test-signbit pass on HP-UX/hppa.
53279         * tests/test-signbit.c (minus_zerol): New variable.
53280         (test_signbitl): Use it.
53281
53282 2008-04-13  Bruno Haible  <bruno@clisp.org>
53283
53284         Make truncl work on OSF/1 4.0.
53285         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
53286         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
53287         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
53288         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
53289         HAVE_DECL_TRUNCL.
53290         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
53291         HAVE_DECL_TRUNCL.
53292         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
53293
53294 2008-04-13  Bruno Haible  <bruno@clisp.org>
53295
53296         * lib/unictype.h: Remove trailing comma from enumeration definitions.
53297
53298 2008-04-13  Bruno Haible  <bruno@clisp.org>
53299
53300         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
53301         expression, so as to avoid HP-UX 11 cc compiler bug.
53302
53303 2008-04-13  Bruno Haible  <bruno@clisp.org>
53304
53305         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
53306
53307 2008-04-13  Bruno Haible  <bruno@clisp.org>
53308
53309         * lib/git-merge-changelog.c: Remove empty declaration outside of
53310         functions.
53311
53312 2008-04-13  Bruno Haible  <bruno@clisp.org>
53313
53314         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
53315
53316 2008-04-13  Bruno Haible  <bruno@clisp.org>
53317
53318         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
53319         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
53320         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
53321         also if it exists but lacks definitions of the SHUT_* macros.
53322         * modules/sys_socket (Description): Update.
53323         Reported by Elbert Pol <e.pol@chello.nl>.
53324
53325 2008-04-13  Bruno Haible  <bruno@clisp.org>
53326
53327         * lib/localcharset.c (OS2): Don't redefine if already defined.
53328         Reported by Elbert Pol <e.pol@chello.nl>.
53329
53330 2008-04-13  Bruno Haible  <bruno@clisp.org>
53331
53332         * lib/binary-io.h [__EMX__]: Include <io.h>.
53333         Reported by Elbert Pol <e.pol@chello.nl>.
53334
53335 2008-04-12  Bruno Haible  <bruno@clisp.org>
53336
53337         * lib/fpucw.h: Enable the definitions also for x86_64.
53338         Needed for NetBSD/x86_64.
53339         Reported by Thomas Klausner <tk@giga.or.at>.
53340
53341 2008-04-12  Bruno Haible  <bruno@clisp.org>
53342
53343         * tests/test-strtod.c: Include isnand.h.
53344         (main): Use isnand instead of isnan.
53345         Reported by Jim Meyering.
53346
53347 2008-04-12  Bruno Haible  <bruno@clisp.org>
53348
53349         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
53350         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
53351
53352 2008-04-12  Jim Meyering  <meyering@redhat.com>
53353
53354         * m4/math_h.m4 (gl_MATH_H): Fix typos.
53355
53356 2008-04-12  Bruno Haible  <bruno@clisp.org>
53357
53358         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
53359         Reported by Elbert Pol <e.pol@chello.nl>.
53360
53361 2008-04-12  Eric Blake  <ebb9@byu.net>
53362
53363         Work around Solaris 10 math.h bug.
53364         * m4/math_h.m4 (gl_MATH_H): Check for bug.
53365         (gl_MATH_H_DEFAULTS): Set up default.
53366         * modules/math (Makefile.am): Replace new indicators.
53367         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
53368         * tests/test-math.c (main): Test this.
53369         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
53370         * doc/posix-headers/math.texi (math.h): Mention bug.
53371         Reported by Nelson H. F. Beebe and Jim Meyering.
53372
53373 2008-04-11  Bruno Haible  <bruno@clisp.org>
53374
53375         Adapt to future versions of Apple GCC.
53376         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
53377         Reported by Peter O'Gorman <peter@pogma.com>.
53378
53379 2008-04-11  Bruno Haible  <bruno@clisp.org>
53380
53381         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
53382
53383 2008-04-11  Bruno Haible  <bruno@clisp.org>
53384
53385         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
53386
53387         * modules/getaddrinfo-tests (Makefile.am): Define
53388         test_getaddrinfo_LDADD.
53389
53390 2008-04-11  Bruno Haible  <bruno@clisp.org>
53391
53392         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
53393         (init): Fix syntax error.
53394         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
53395         is declared.
53396
53397 2008-04-11  Bruno Haible  <bruno@clisp.org>
53398
53399         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
53400         * modules/glob (Depends-on): Add stdbool.
53401
53402 2008-04-11  Bruno Haible  <bruno@clisp.org>
53403
53404         * lib/trim.c: Include <string.h>.
53405
53406 2008-04-11  Eric Blake  <ebb9@byu.net>
53407
53408         Avoid compile failure on OS/2.
53409         * lib/regex_internal.h (internal_function): Disable optimization
53410         on OS/2 (__EMX__), where it caused compiler error.
53411         Reported by Elbert Pol.
53412
53413 2008-04-11  Bruno Haible  <bruno@clisp.org>
53414
53415         Flush the standard error stream before aborting. Needed on mingw.
53416         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
53417         * tests/test-array_list.c (ASSERT): Likewise.
53418         * tests/test-array_oset.c (ASSERT): Likewise.
53419         * tests/test-avltree_list.c (ASSERT): Likewise.
53420         * tests/test-avltree_oset.c (ASSERT): Likewise.
53421         * tests/test-avltreehash_list.c (ASSERT): Likewise.
53422         * tests/test-binary-io.c (ASSERT): Likewise.
53423         * tests/test-byteswap.c (ASSERT): Likewise.
53424         * tests/test-c-ctype.c (ASSERT): Likewise.
53425         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
53426         * tests/test-c-strcasestr.c (ASSERT): Likewise.
53427         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
53428         * tests/test-c-strstr.c (ASSERT): Likewise.
53429         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
53430         * tests/test-canonicalize.c (ASSERT): Likewise.
53431         * tests/test-carray_list.c (ASSERT): Likewise.
53432         * tests/test-ceilf1.c (ASSERT): Likewise.
53433         * tests/test-ceilf2.c (ASSERT): Likewise.
53434         * tests/test-ceill.c (ASSERT): Likewise.
53435         * tests/test-count-one-bits.c (ASSERT): Likewise.
53436         * tests/test-fbufmode.c (ASSERT): Likewise.
53437         * tests/test-fflush2.c (ASSERT): Likewise.
53438         * tests/test-floorf1.c (ASSERT): Likewise.
53439         * tests/test-floorf2.c (ASSERT): Likewise.
53440         * tests/test-floorl.c (ASSERT): Likewise.
53441         * tests/test-fopen.c (ASSERT): Likewise.
53442         * tests/test-fpending.c (ASSERT): Likewise.
53443         * tests/test-fprintf-posix.c (ASSERT): Likewise.
53444         * tests/test-fpurge.c (ASSERT): Likewise.
53445         * tests/test-freadable.c (ASSERT): Likewise.
53446         * tests/test-freadahead.c (ASSERT): Likewise.
53447         * tests/test-freading.c (ASSERT): Likewise.
53448         * tests/test-freadptr.c (ASSERT): Likewise.
53449         * tests/test-freadptr2.c (ASSERT): Likewise.
53450         * tests/test-freadseek.c (ASSERT): Likewise.
53451         * tests/test-freopen.c (ASSERT): Likewise.
53452         * tests/test-frexp.c (ASSERT): Likewise.
53453         * tests/test-frexpl.c (ASSERT): Likewise.
53454         * tests/test-fseek.c (ASSERT): Likewise.
53455         * tests/test-fseeko.c (ASSERT): Likewise.
53456         * tests/test-fstrcmp.c (ASSERT): Likewise.
53457         * tests/test-ftell.c (ASSERT): Likewise.
53458         * tests/test-ftello.c (ASSERT): Likewise.
53459         * tests/test-func.c (ASSERT): Likewise.
53460         * tests/test-fwritable.c (ASSERT): Likewise.
53461         * tests/test-fwriting.c (ASSERT): Likewise.
53462         * tests/test-getdelim.c (ASSERT): Likewise.
53463         * tests/test-getline.c (ASSERT): Likewise.
53464         * tests/test-i-ring.c (ASSERT): Likewise.
53465         * tests/test-iconv-utf.c (ASSERT): Likewise.
53466         * tests/test-iconv.c (ASSERT): Likewise.
53467         * tests/test-isfinite.c (ASSERT): Likewise.
53468         * tests/test-isnand.c (ASSERT): Likewise.
53469         * tests/test-isnanf.c (ASSERT): Likewise.
53470         * tests/test-isnanl.h (ASSERT): Likewise.
53471         * tests/test-ldexpl.c (ASSERT): Likewise.
53472         * tests/test-linked_list.c (ASSERT): Likewise.
53473         * tests/test-linkedhash_list.c (ASSERT): Likewise.
53474         * tests/test-localename.c (ASSERT): Likewise.
53475         * tests/test-lseek.c (ASSERT): Likewise.
53476         * tests/test-mbscasecmp.c (ASSERT): Likewise.
53477         * tests/test-mbscasestr1.c (ASSERT): Likewise.
53478         * tests/test-mbscasestr2.c (ASSERT): Likewise.
53479         * tests/test-mbscasestr3.c (ASSERT): Likewise.
53480         * tests/test-mbscasestr4.c (ASSERT): Likewise.
53481         * tests/test-mbschr.c (ASSERT): Likewise.
53482         * tests/test-mbscspn.c (ASSERT): Likewise.
53483         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
53484         * tests/test-mbspbrk.c (ASSERT): Likewise.
53485         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
53486         * tests/test-mbsrchr.c (ASSERT): Likewise.
53487         * tests/test-mbsspn.c (ASSERT): Likewise.
53488         * tests/test-mbsstr1.c (ASSERT): Likewise.
53489         * tests/test-mbsstr2.c (ASSERT): Likewise.
53490         * tests/test-mbsstr3.c (ASSERT): Likewise.
53491         * tests/test-memchr2.c (ASSERT): Likewise.
53492         * tests/test-memmem.c (ASSERT): Likewise.
53493         * tests/test-open.c (ASSERT): Likewise.
53494         * tests/test-printf-frexp.c (ASSERT): Likewise.
53495         * tests/test-printf-frexpl.c (ASSERT): Likewise.
53496         * tests/test-printf-posix.c (ASSERT): Likewise.
53497         * tests/test-quotearg.c (ASSERT): Likewise.
53498         * tests/test-rbtree_list.c (ASSERT): Likewise.
53499         * tests/test-rbtree_oset.c (ASSERT): Likewise.
53500         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
53501         * tests/test-round1.c (ASSERT): Likewise.
53502         * tests/test-roundf1.c (ASSERT): Likewise.
53503         * tests/test-roundl.c (ASSERT): Likewise.
53504         * tests/test-signbit.c (ASSERT): Likewise.
53505         * tests/test-sleep.c (ASSERT): Likewise.
53506         * tests/test-snprintf-posix.c (ASSERT): Likewise.
53507         * tests/test-snprintf.c (ASSERT): Likewise.
53508         * tests/test-sprintf-posix.c (ASSERT): Likewise.
53509         * tests/test-stat-time.c (ASSERT): Likewise.
53510         * tests/test-strcasestr.c (ASSERT): Likewise.
53511         * tests/test-strerror.c (ASSERT): Likewise.
53512         * tests/test-striconv.c (ASSERT): Likewise.
53513         * tests/test-striconveh.c (ASSERT): Likewise.
53514         * tests/test-striconveha.c (ASSERT): Likewise.
53515         * tests/test-strsignal.c (ASSERT): Likewise.
53516         * tests/test-strstr.c (ASSERT): Likewise.
53517         * tests/test-strtod.c (ASSERT): Likewise.
53518         * tests/test-trunc1.c (ASSERT): Likewise.
53519         * tests/test-trunc2.c (ASSERT): Likewise.
53520         * tests/test-truncf1.c (ASSERT): Likewise.
53521         * tests/test-truncf2.c (ASSERT): Likewise.
53522         * tests/test-truncl.c (ASSERT): Likewise.
53523         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
53524         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
53525         * tests/test-vasnprintf.c (ASSERT): Likewise.
53526         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
53527         * tests/test-vasprintf.c (ASSERT): Likewise.
53528         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
53529         * tests/test-vprintf-posix.c (ASSERT): Likewise.
53530         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
53531         * tests/test-vsnprintf.c (ASSERT): Likewise.
53532         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
53533         * tests/test-wcwidth.c (ASSERT): Likewise.
53534         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
53535         * tests/test-xprintf-posix.c (ASSERT): Likewise.
53536         * tests/test-xvasprintf.c (ASSERT): Likewise.
53537         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
53538         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
53539         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
53540         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
53541         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
53542         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
53543         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
53544         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
53545         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
53546         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
53547         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
53548         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
53549         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
53550         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
53551         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
53552         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
53553         * tests/unictype/test-block_list.c (ASSERT): Likewise.
53554         * tests/unictype/test-block_of.c (ASSERT): Likewise.
53555         * tests/unictype/test-block_test.c (ASSERT): Likewise.
53556         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
53557         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
53558         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
53559         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
53560         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
53561         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
53562         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
53563         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
53564         * tests/unictype/test-combining.c (ASSERT): Likewise.
53565         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
53566         * tests/unictype/test-digit.c (ASSERT): Likewise.
53567         * tests/unictype/test-mirror.c (ASSERT): Likewise.
53568         * tests/unictype/test-numeric.c (ASSERT): Likewise.
53569         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
53570         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
53571         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
53572         * tests/unictype/test-scripts.c (ASSERT): Likewise.
53573         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
53574         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
53575         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
53576         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
53577         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
53578         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
53579         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
53580         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
53581         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
53582         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
53583         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
53584         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
53585         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
53586         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
53587         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
53588         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
53589         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
53590         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
53591         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
53592         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
53593         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
53594         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
53595         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
53596         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
53597         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
53598         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
53599         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
53600         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
53601         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
53602         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
53603         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
53604         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
53605         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
53606         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
53607         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
53608         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
53609         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
53610         Reported by Eric Blake.
53611
53612 2008-04-11  Bruno Haible  <bruno@clisp.org>
53613
53614         * lib/wchar.in.h: Tweak comment.
53615
53616 2008-04-11  Bruno Haible  <bruno@clisp.org>
53617
53618         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
53619         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
53620         gl_COMMON.
53621         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
53622
53623 2008-04-11  Bruno Haible  <bruno@clisp.org>
53624
53625         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
53626
53627 2008-04-11  Simon Josefsson  <simon@josefsson.org>
53628
53629         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
53630         of attempting to use non-existing /dev/*random.  Based on patch
53631         from Adam Strzelecki <ono@java.pl> in
53632         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
53633
53634 2008-04-08  Bruno Haible  <bruno@clisp.org>
53635
53636         Add tentative support for emx+gcc.
53637         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
53638         * lib/fpurge.c (fpurge): Likewise.
53639         * lib/freadable.c (freadable): Likewise.
53640         * lib/freadahead.c (freadahead): Likewise.
53641         * lib/freading.c (freading): Likewise.
53642         * lib/freadptr.c (freadptr): Likewise.
53643         * lib/freadseek.c (freadptrinc): Likewise.
53644         * lib/fseeko.c (rpl_fseeko): Likewise.
53645         * lib/fseterr.c (fseterr): Likewise.
53646         * lib/fwritable.c (fwritable): Likewise.
53647         * lib/fwriting.c (fwriting): Likewise.
53648         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
53649
53650 2008-04-09  Eric Blake  <ebb9@byu.net>
53651
53652         Avoid some autoconf warnings.
53653         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
53654         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
53655         * m4/afs.m4 (gl_AFS): Likewise.
53656         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
53657         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
53658         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53659         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
53660         (gl_INTEGER_TYPE_SUFFIX): Likewise.
53661         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
53662         (AC_CHECK_DECLS_ONCE): Likewise.
53663         Rename file...
53664         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
53665         gnulib-tool requires autoconf 2.59 or better.
53666         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
53667
53668 2008-04-08  Eric Blake  <ebb9@byu.net>
53669
53670         Use 'git describe --match' if present (added in git 1.5.5).
53671         * build-aux/git-version-gen: Limit result to tags that match 'v*'
53672         if possible.
53673
53674 2008-04-08  Bruno Haible  <bruno@clisp.org>
53675
53676         Add tentative support for OpenServer.
53677         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
53678         _ptr, _cnt.
53679         * lib/fpurge.c (fpurge): Likewise.
53680         * lib/freadable.c (freadable): Likewise.
53681         * lib/freadahead.c (freadahead): Likewise.
53682         * lib/freading.c (freading): Likewise.
53683         * lib/freadptr.c (freadptr): Likewise.
53684         * lib/freadseek.c (freadptrinc): Likewise.
53685         * lib/fseeko.c (rpl_fseeko): Likewise.
53686         * lib/fseterr.c (fseterr): Likewise.
53687         * lib/fwritable.c (fwritable): Likewise.
53688         * lib/fwriting.c (fwriting): Likewise.
53689         Reported by Roger Cornelius <rac@tenzing.org> and
53690         Brian K. White <brian@aljex.com>.
53691
53692 2008-04-06  Jim Meyering  <meyering@redhat.com>
53693
53694         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
53695
53696 2008-04-06  Bruno Haible  <bruno@clisp.org>
53697
53698         Avoid possible error with non-ASCII bytes in UTF-8 locales.
53699         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
53700         * tests/test-printf-posix.sh: Likewise.
53701         * tests/test-vfprintf-posix.sh: Likewise.
53702         * tests/test-vprintf-posix.sh: Likewise.
53703         * tests/test-xprintf-posix.sh: Likewise.
53704
53705 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53706
53707         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
53708         hide error from 'ls', needed on OS/2.
53709         Report by Elbert Pol <elbert.pol@gmail.com>.
53710
53711 2008-04-04  Eric Blake  <ebb9@byu.net>
53712
53713         Make test-fseeko.c failures meaningful.
53714         * tests/test-fseeko.c: Print line number on failure.
53715         * tests/test-fseek.c: Likewise.
53716         Reported by Nelson H. F. Beebe.
53717
53718         Improve strtod bug detection check.
53719         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
53720         required for Solaris 10.
53721         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
53722
53723 2008-04-04  Bruno Haible  <bruno@clisp.org>
53724
53725         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
53726         by m4/setenv.m4.
53727
53728 2008-04-03  Eric Blake  <ebb9@byu.net>
53729
53730         Ensure sane .version contents.
53731         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
53732         version string.
53733         * build-aux/git-version-gen: Improve documentation.
53734
53735         Make GNU make output nicer.
53736         * top/GNUmakefile [!_have-Makefile]: Add dependency on
53737         MAKECMDGOALS to enforce message for all command line targets.  Set
53738         srcdir for use in maint.mk.
53739
53740         Another maintainer tweak.
53741         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
53742         a target that regenerates version.
53743
53744 2008-04-03  Jim Meyering  <meyering@redhat.com>
53745
53746         vc-list-files: don't cause coreutils "make po-check" failure
53747         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
53748
53749 2008-04-03  Eric Blake  <ebb9@byu.net>
53750
53751         Allow VPATH usage of vc-list-files.
53752         * build-aux/vc-list-files (scriptversion): Add timestamp.
53753         (options): Add --help, --version, -C.
53754         (CVS): Support installed cvsu.
53755
53756 2008-04-02  Bruno Haible  <bruno@clisp.org>
53757
53758         Avoid some "statement with no effect" warnings from gcc.
53759         * tests/test-wctype.c (main): Explicitly ignore unused values.
53760         Reported by Jim Meyering.
53761
53762 2008-04-02  Jim Meyering  <meyering@redhat.com>
53763
53764         Avoid some warnings from "gcc -Wshadow".
53765         * tests/test-frexp.c (exp): Define to a different identifier.
53766         * tests/test-frexpl.c (exp): Likewise.
53767
53768 2008-04-03  Jim Meyering  <meyering@redhat.com>
53769
53770         bootstrap: remove dangling *.[ch] symlinks from lib
53771         * build-aux/bootstrap [dangling symlink removal]: Move find's
53772         -depth option to precede all others, to avoid a warning.
53773         Remove *.[ch] files too, and from "$source_base" (usually lib/).
53774
53775 2008-04-02  Bruno Haible  <bruno@clisp.org>
53776
53777         Avoid some warnings from "gcc -Wshadow".
53778         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
53779         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
53780         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
53781         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
53782         Reported by Jim Meyering.
53783
53784 2008-04-01  Bruno Haible  <bruno@clisp.org>
53785
53786         Fix test to work on IRIX 6.5 with cc.
53787         * tests/test-math.c (numeric_equal): New function.
53788         (main): Use it.
53789
53790 2008-04-01  Bruno Haible  <bruno@clisp.org>
53791
53792         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
53793
53794 2008-04-01  Bruno Haible  <bruno@clisp.org>
53795
53796         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
53797         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53798         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
53799         (Depends-on): Remove math.
53800
53801         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
53802         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53803         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
53804         (Depends-on): Remove math.
53805
53806         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
53807         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53808         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
53809         (Depends-on): Remove math.
53810         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
53811         (Depends-on): Remove math.
53812
53813         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
53814         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53815         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
53816         (Depends-on): Remove math.
53817         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
53818         (Depends-on): Remove math.
53819
53820         * tests/test-round1.c: Include nan.h.
53821         (main): Use NaNd instead of NAN.
53822         * modules/round-tests (Files): Add tests/nan.h.
53823
53824         * tests/test-trunc1.c: Include nan.h.
53825         (main): Use NaNd instead of NAN.
53826         * modules/trunc-tests (Files): Add tests/nan.h.
53827
53828         * tests/test-roundf1.c: Include nan.h.
53829         (main): Use NaNf instead of NAN.
53830         * modules/roundf-tests (Files): Add tests/nan.h.
53831
53832         * tests/test-truncf1.c: Include nan.h.
53833         (main): Use NaNf instead of NAN.
53834         * modules/truncf-tests (Files): Add tests/nan.h.
53835
53836         * tests/test-ceilf1.c: Include nan.h.
53837         (main): Use NaNf instead of NAN.
53838         * modules/ceilf-tests (Files): Add tests/nan.h.
53839
53840         * tests/test-floorf1.c: Include nan.h.
53841         (main): Use NaNf instead of NAN.
53842         * modules/floorf-tests (Files): Add tests/nan.h.
53843
53844         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
53845         (main): Use NaNf instead of NAN.
53846         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
53847
53848         * tests/test-isnand.c: Include nan.h instead of <math.h>.
53849         (main): Use NaNd instead of NAN.
53850         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
53851
53852         * tests/test-frexp.c: Include nan.h.
53853         (main): Use NaNd instead of NAN.
53854         * modules/frexp-tests (Files): Add tests/nan.h.
53855
53856         * lib/isnan.c: Don't include <math.h>.
53857         (FUNC): Don't use NAN macro.
53858         * modules/isnand-nolibm (Depends-on): Remove math.
53859         * modules/isnanf-nolibm (Depends-on): Remove math.
53860         * modules/isnanl (Depends-on): Remove math.
53861         * modules/isnanl-nolibm (Depends-on): Remove math.
53862
53863         * tests/nan.h: New file.
53864
53865 2008-04-01  Eric Blake  <ebb9@byu.net>
53866
53867         Fix typos.
53868         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
53869         values to be the right type.
53870
53871         For now, cater to gnulib strtod inaccuracies.
53872         * tests/test-strtod.c (main): Allow 1-ulp error on expected
53873         fractional results.  While not as nice from a QoI perspective, it
53874         is a quicker patch than correctly implementing decimal to binary
53875         rounding.
53876
53877 2008-03-31  Eric Blake  <ebb9@byu.net>
53878
53879         Guarantee a definition of NAN.
53880         * lib/math.in.h (NAN): Define if missing.
53881         * tests/test-math.c (main): Test it.
53882         * doc/posix-headers/math.texi (math.h): Document this.
53883         * lib/isnan.c (rpl_isnand): Use it.
53884         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
53885         * tests/test-floorf1.c (NaN): Likewise.
53886         * tests/test-frexp.c (NaN): Likewise.
53887         * tests/test-isnand.c (NaN): Likewise.
53888         * tests/test-isnanf.c (NaN): Likewise.
53889         * tests/test-round1.c (NaN): Likewise.
53890         * tests/test-roundf1.c (NaN): Likewise.
53891         * tests/test-snprintf-posix.h (NaN): Likewise.
53892         * tests/test-sprintf-posix.h (NaN): Likewise.
53893         * tests/test-trunc1.c (NaN): Likewise.
53894         * tests/test-truncf1.c (NaN): Likewise.
53895         * tests/test-vasnprintf-posix.c (NaN): Likewise.
53896         * tests/test-vasprintf-posix.c (NaN): Likewise.
53897         * modules/isnand-nolibm (Depends-on): Add math.
53898         * modules/isnanf-nolibm (Depends-on): Likewise.
53899         * modules/isnanl (Depends-on): Likewise.
53900         * modules/isnanl-nolibm (Depends-on): Likewise.
53901         * modules/snprintf-posix-tests (Depends-on): Likewise.
53902         * modules/sprintf-posix-tests (Depends-on): Likewise.
53903         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
53904         * modules/vsprintf-posix-tests (Depends-on): Likewise.
53905         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
53906         * modules/vasprintf-posix-tests (Depends-on): Likewise.
53907
53908 2008-03-31  Bruno Haible  <bruno@clisp.org>
53909
53910         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
53911         * doc/posix-functions/strtod.texi: Likewise.
53912
53913 2008-03-31  Bruno Haible  <bruno@clisp.org>
53914
53915         * tests/test-strtod.c (main): Don't use C99 syntax.
53916
53917 2008-03-31  Bruno Haible  <bruno@clisp.org>
53918
53919         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
53920         Reported by Eric Blake.
53921
53922 2008-03-31  Jim Meyering  <meyering@redhat.com>
53923
53924         Don't compare actual signbit return values.
53925         * tests/test-strtod.c (main): Rather, compare only their
53926         zero/non-zero nature.
53927
53928 2008-03-31  Eric Blake  <ebb9@byu.net>
53929
53930         More strtod documentation.
53931         * doc/posix-functions/strtod.texi (strtod): Interpret more test
53932         failures as distinct bugs.
53933
53934 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
53935
53936         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
53937         Problem reported by Erik Benada in
53938         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
53939
53940 2008-03-30  Bruno Haible  <bruno@clisp.org>
53941
53942         * tests/test-strtod.c: Add comments about which assertion fails on which
53943         platform.
53944         * doc/posix-functions/strtod.texi: Add info about many more platforms.
53945
53946 2008-03-30  Eric Blake  <ebb9@byu.net>
53947
53948         Test signbit behavior on zeros.
53949         * tests/test-signbit.c (test_signbitf): Add tests for zero.
53950         (test_signbitd, test_signbitl): Likewise.
53951
53952         More strtod touchups.
53953         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
53954         sign of negative underflow, for now.  Use .5, not .1.
53955         * doc/posix-functions/strtod.texi (strtod): Mention these
53956         limitations.
53957         Reported by Jim Meyering.
53958
53959 2008-03-30  Bruno Haible  <bruno@clisp.org>
53960
53961         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
53962         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
53963
53964 2008-03-30  Bruno Haible  <bruno@clisp.org>
53965
53966         Avoid failure when attempting to return empty iconv results on some
53967         platforms.
53968         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
53969         allocation, don't report ENOMEM when the resulting string is empty.
53970
53971 2008-03-30  Bruno Haible  <bruno@clisp.org>
53972
53973         Fix buffer overrun.
53974         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
53975         Don't consider the width for tmp_length. Check count against tmp_length
53976         before doing the padding. Ensure enough allocation during padding.
53977
53978 2008-03-30  Eric Blake  <ebb9@byu.net>
53979
53980         strtod touchups.
53981         * lib/strtod.c (strtod): Avoid compiler warnings.
53982         Reported by Jim Meyering.
53983
53984 2008-03-30  Bruno Haible  <bruno@clisp.org>
53985
53986         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
53987         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
53988         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
53989         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
53990         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
53991         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
53992         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
53993         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
53994
53995         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
53996         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
53997         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
53998         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
53999         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
54000         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
54001         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
54002         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
54003
54004         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
54005         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
54006         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
54007         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
54008         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
54009         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
54010         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
54011         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
54012
54013         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
54014         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
54015
54016         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
54017         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
54018
54019         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
54020         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
54021
54022         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
54023         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
54024         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
54025
54026         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
54027         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
54028         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
54029
54030         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
54031         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
54032         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
54033
54034         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
54035         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
54036         * modules/vasprintf (Depends-on): Add EOVERFLOW.
54037
54038         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
54039         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
54040         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
54041         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
54042         (Depends-on): Add EOVERFLOW.
54043         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
54044         (Depends-on): Add EOVERFLOW.
54045         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
54046         (Depends-on): Add EOVERFLOW.
54047         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
54048         (Depends-on): Add EOVERFLOW.
54049         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
54050         (Depends-on): Add EOVERFLOW.
54051         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
54052         (Depends-on): Add EOVERFLOW.
54053         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
54054         (Depends-on): Add EOVERFLOW.
54055         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
54056         (Depends-on): Add EOVERFLOW.
54057
54058         * lib/sprintf.c (EOVERFLOW): Remove fallback.
54059         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
54060         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
54061
54062         * lib/snprintf.c (EOVERFLOW): Remove fallback.
54063         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
54064         * modules/snprintf (Depends-on): Add EOVERFLOW.
54065
54066         * lib/poll.c (EOVERFLOW): Remove fallback.
54067         * modules/poll (Depends-on): Add EOVERFLOW.
54068
54069         * lib/getugroups.c (EOVERFLOW): Remove fallback.
54070         * modules/getugroups (Depends-on): Add EOVERFLOW.
54071
54072         * lib/getdelim.c (EOVERFLOW): Remove fallback.
54073         * modules/getdelim (Depends-on): Add EOVERFLOW.
54074
54075         * lib/ftell.c (EOVERFLOW): Remove fallback.
54076         * modules/ftell (Depends-on): Add EOVERFLOW.
54077
54078         * lib/fprintf.c (EOVERFLOW): Remove fallback.
54079         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
54080         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
54081
54082         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
54083
54084         * modules/EOVERFLOW-tests: New file.
54085         * tests/test-EOVERFLOW.c: New file.
54086
54087         * modules/EOVERFLOW: New file.
54088         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
54089
54090 2008-03-30  Bruno Haible  <bruno@clisp.org>
54091
54092         Fix bug introduced on 2007-06-10.
54093         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
54094         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
54095
54096 2008-03-30  Bruno Haible  <bruno@clisp.org>
54097
54098         Improve freadseek's efficiency after ungetc.
54099         * lib/freadseek.c: Include freadahead.h.
54100         (freadptrinc): New function, extracted from freadseek.
54101         (freadseek): Use it in a loop. Use freadahead to determine the number
54102         of loop iterations.
54103         * modules/freadseek (Depends-on): Add freadahead.
54104         (configure.ac): Require AC_C_INLINE.
54105
54106 2008-03-30  Bruno Haible  <bruno@clisp.org>
54107
54108         * lib/freadseek.c (freadseek): Don't ignore the return value of
54109         freadptr.
54110
54111 2008-03-29  Eric Blake  <ebb9@byu.net>
54112
54113         Add hex float support.
54114         * modules/strtod (Depends-on): Add c-ctype.
54115         (Link): Mention POW_LIB.
54116         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
54117         whitespace between 'e' and exponent.
54118         * tests/test-strtod.c (main): Enable hex float tests.
54119         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
54120         now provides.
54121
54122         Document various strtod bugs, with some fixes.
54123         * doc/posix-functions/strtod.texi (strtod): Document bugs with
54124         "-0x", "inf", "nan", and hex constants.
54125         * doc/posix-functions/atof.texi (atof): Likewise.
54126         * modules/stdlib (Makefile.am): Support strtod.
54127         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
54128         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
54129         detect additional strtod bugs.
54130         * lib/stdlib.in.h (rpl_strtod): Add declarations.
54131         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
54132         bool where appropriate.  Parse 'inf' and 'nan'.
54133         * tests/test-strtod.c: New file.
54134         * modules/strtod (Depends-on): Add stdbool, stdlib.
54135         (configure.ac): Turn on module indicator.
54136         * modules/strtod-tests: New module.
54137
54138 2008-03-29  Eric Blake  <ebb9@byu.net>
54139
54140         Fix ftell on mingw.
54141         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
54142         * modules/ftell-tests (Depends-on): Add binary-io.
54143         * modules/ftello-tests (Depends-on): Likewise.
54144         * tests/test-ftell.c (main): Enhance test to cover behavior after
54145         ungetc.  Enforce binary mode.
54146         * tests/test-ftello.c (main): Likewise.
54147
54148         Pass test-freadseek on cygwin.
54149         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
54150         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
54151         ungetc buffer.
54152
54153         * tests/test-fflush2.c (main): Fix typo.
54154
54155 2008-03-29  Bruno Haible  <bruno@clisp.org>
54156
54157         * tests/test-fflush2.c (main): Temporarily disable the contents of
54158         this test.
54159         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
54160         Reported by Eric Blake.
54161
54162 2008-03-28  Simon Josefsson  <simon@josefsson.org>
54163
54164         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
54165         (GC_SHA224_DIGEST_SIZE): Add.
54166
54167         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
54168         (gc_hash_digest_length): Likewise.
54169         (gc_hash_buffer): Likewise.
54170
54171 2008-03-25  Bruno Haible  <bruno@clisp.org>
54172
54173         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
54174         detail which gettext release to use.
54175         Reported by Simon Josefsson.
54176
54177 2008-03-26  Jim Meyering  <meyering@redhat.com>
54178
54179         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
54180         * modules/gnumakefile (clean-GNUmakefile): Also, use
54181         test ... && ... || : syntax rather than if-then ... fi.
54182
54183         gnumakefile: Don't double-quote-expand $(VPATH) value.
54184         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
54185
54186 2008-03-24  Eric Blake  <ebb9@byu.net>
54187
54188         Alter GNUmakefile to install into top directory.
54189         * modules/maintainer-makefile: Split, and add dependency...
54190         * modules/gnumakefile: to this new module.
54191         * build-aux/GNUmakefile: Move...
54192         * top/GNUmakefile: ...here.
54193         * build-aux/maint.mk: Move...
54194         * top/maint.mk: ...here.
54195         * MODULES.html.sh (Support for maintaining...): Document new
54196         module.
54197
54198 2008-03-23  Bruno Haible  <bruno@clisp.org>
54199
54200         * gnulib-tool: New options --vc-files, --no-vc-files.
54201         (func_usage): Document them.
54202         (vc_files): New variable.
54203         (func_import): Consider vc_files.
54204         (func_create_testdir): Set vc_files to empty.
54205         Suggested by Jim Meyering and Karl Berry.
54206
54207 2008-03-23  Bruno Haible  <bruno@clisp.org>
54208
54209         Fix regex compilation error on HP-UX 11.
54210         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
54211         * modules/regex (Files): Add m4/mbstate_t.m4.
54212         Reported by Ton Voon <ton.voon@altinity.com>.
54213
54214 2008-03-23  Bruno Haible  <bruno@clisp.org>
54215
54216         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
54217
54218 2008-03-23  Eric Blake  <ebb9@byu.net>
54219             Bruno Haible  <bruno@clisp.org>
54220
54221         Install files from top/ in the destination directory.
54222         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
54223         augmentation also for the files from top/.
54224         (func_import, func_create_testdir): Rewrite file names:
54225         top/filename -> filename.
54226
54227 2008-03-23  Bruno Haible  <bruno@clisp.org>
54228
54229         Tweak "gnulib --version" output.
54230         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
54231
54232 2008-03-23  Bruno Haible  <bruno@clisp.org>
54233
54234         Tweak "gnulib --version" output.
54235         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
54236         rather than contents of ChangeLog, when possible.
54237
54238 2008-03-21  Eric Blake  <ebb9@byu.net>
54239
54240         More --version tweaks.
54241         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
54242         date of last ChangeLog entry.
54243
54244 2008-03-21  Jim Meyering  <meyering@redhat.com>
54245
54246         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
54247
54248 2008-03-20  Eric Blake  <ebb9@byu.net>
54249
54250         VPATH fix.
54251         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
54252
54253 2008-03-20  Simon Josefsson  <simon@josefsson.org>
54254
54255         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
54256         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
54257
54258 2008-03-20  Eric Blake  <ebb9@byu.net>
54259
54260         Sync GNUmakefile with coreutils.
54261         * build-aux/GNUmakefile (have-Makefile): Rename...
54262         (_have-Makefile): ...to this, for namespace consideration.
54263         (GNUmakefile.cfg): Include, if present.
54264         (_autoreconf): Define a default.
54265         (_is-dist-target): New rule for rebuilds to pick up intra-release
54266         version.
54267         (maint-cfg.mk): Rename...
54268         (cfg.mk): ...to this.
54269
54270 2008-03-18  Jim Meyering  <meyering@redhat.com>
54271
54272         New script and module: mktempd
54273         * MODULES.html.sh (maint+release support): Add mktempd.
54274         * build-aux/mktempd: New file.
54275         * modules/mktempd: New file.
54276
54277 2008-03-15  Jim Meyering  <meyering@redhat.com>
54278
54279         Undo last change.
54280         * lib/sha1.c, lib/md5.c: 63 != ~63.
54281         Reported by Andreas Schwab.
54282
54283         sha1.c, md5.c: Hoist a redundant expression.
54284         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
54285         "ctx->buflen" only once, before calling *_process_block.
54286         * lib/md5.c (md5_process_bytes): Likewise.
54287
54288 2008-03-14  Eric Blake  <ebb9@byu.net>
54289
54290         Bump copyright year in files generated by gnulib-tool.
54291         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
54292         gnulib-tool, rather than hard-coding it.
54293
54294         Fix 'gnulib-tool --version' output to work with git.
54295         * gnulib-tool (func_gnulib_dir): New function, extracted from...
54296         (startup): ...here.
54297         (func_version): Use it to invoke git-version-gen, rather than
54298         relying on CVS keyword expansion.  Modernize wording.
54299         (cvsdatestamp, last_checkin_date, version): Kill unused
54300         variables.
54301
54302 2008-03-12  Jim Meyering  <meyering@redhat.com>
54303
54304         Recognize optional cast of the argument to free.
54305         * build-aux/useless-if-before-free: Update regexps.
54306
54307         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
54308
54309 2008-03-11  Bruno Haible  <bruno@clisp.org>
54310
54311         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
54312         by a single package.
54313         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
54314         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
54315         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
54316         Reported by Sam Steingold <sds@gnu.org>.
54317
54318 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54319
54320         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
54321         repositories.
54322
54323 2008-03-11  Bruno Haible  <bruno@clisp.org>
54324
54325         Avoid conflicts between local macro definitions.
54326         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
54327         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
54328
54329 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
54330             Bruno Haible  <bruno@clisp.org>
54331
54332         Make va_copy work with some version of xlc on AIX 5.1.
54333         * lib/stdarg.in.h: New file.
54334         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
54335         On AIX, use a <stdarg.h> file substitute.
54336         * modules/stdarg (Files): Add lib/stdarg.in.h.
54337         (Depends-on): Add include_next.
54338         (Makefile.am): Build a stdarg.h substitute if requested.
54339         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
54340
54341 2008-03-10  Bruno Haible  <bruno@clisp.org>
54342
54343         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
54344         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54345         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
54346
54347 2008-03-10  Bruno Haible  <bruno@clisp.org>
54348
54349         * modules/stdlib (Depends-on): Add include_next, remove
54350         absolute-header.
54351
54352 2008-03-09  Bruno Haible  <bruno@clisp.org>
54353
54354         * lib/freadahead.h (freadahead): Document more precisely.
54355         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
54356         the sum of both buffer sizes.
54357         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
54358         * NEWS: Document the change.
54359
54360 2008-03-09  Bruno Haible  <bruno@clisp.org>
54361
54362         Extend freadptr to return also the buffer size.
54363         * lib/freadptr.h (freadptr): Add sizep argument.
54364         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
54365         (freadptr): Add sizep argument. Determine buffer size like freadahead
54366         does.
54367         * tests/test-freadptr.c: Don't include freadahead.h.
54368         (main): Adapt for new calling convention of freadptr.
54369         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
54370         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
54371         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
54372         tests/test-freadptr2.sh.
54373         (Depends): Remove freadahead.
54374         (TESTS): Add test-freadptr2.sh.
54375         (check_PROGRAMS): Add test-freadptr2.
54376
54377 2008-03-09  Bruno Haible  <bruno@clisp.org>
54378
54379         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
54380         Report and solution by Simon Josefsson.
54381
54382 2008-03-06  Bruno Haible  <bruno@clisp.org>
54383
54384         Make fflush after ungetc work on BSD platforms.
54385         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
54386         * tests/test-fflush2.c: New file.
54387         * tests/test-fflush2.sh: New file.
54388         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
54389         tests/test-fflush2.c.
54390         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
54391         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
54392
54393 2008-03-06  Eric Blake  <ebb9@byu.net>
54394
54395         Likewise for ftello.
54396         * modules/ftello (Dependencies): Add extensions.
54397         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
54398
54399 2008-03-06  Bruno Haible  <bruno@clisp.org>
54400
54401         * modules/fseeko (Dependencies): Add extensions.
54402         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
54403         Needed on glibc systems.
54404
54405 2008-03-06  Bruno Haible  <bruno@clisp.org>
54406
54407         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
54408         email address.
54409         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54410
54411 2008-03-06  Bruno Haible  <bruno@clisp.org>
54412
54413         * users.txt: Add libgnupdf.
54414
54415 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
54416
54417         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
54418         (Header File Substitutes, Function Substitutes,
54419         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
54420         (Build robot for gnulib): Fix typo.
54421
54422 2008-03-06  Bruno Haible  <bruno@clisp.org>
54423
54424         * doc/gnulib-tool.texi (VCS Issues): Small updates.
54425         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54426
54427 2008-03-06  Bruno Haible  <bruno@clisp.org>
54428
54429         * doc/func.texi: New file, extracted from doc/gnulib.texi.
54430         * doc/gnulib.texi: Include it.
54431
54432 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54433
54434         * modules/func (License): Change license to unlimited; there was
54435         no LGPL parts in the module anyway.
54436
54437 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54438
54439         * modules/__func__: Renamed to modules/func.
54440         * modules/__func__-tests: Renamed to modules/func-tests.
54441         * tests/test-__func__.c: Renamed to tests/test-func.c.
54442         * m4/__func__.m4: Renamed to m4/func.m4.
54443         * doc/gnulib.texi (__func__): Section renamed to func.
54444         Suggested by Eric Blake <ebb9@byu.net>.
54445
54446 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54447
54448         * doc/gnulib.texi (__func__): Use C99 terminology when talking
54449         about __func__.  Make example self-contained.  Suggested by Eric
54450         Blake <ebb9@byu.net>.
54451
54452         * tests/test-__func__.c (main): Avoid extraneous () around __func.
54453         Suggested by Eric Blake <ebb9@byu.net>.
54454
54455 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54456
54457         * modules/__func__: New file.
54458         * modules/__func__-tests: New file.
54459         * tests/test-__func__.c: New file.
54460         * m4/__func__.m4: New file.
54461         * doc/gnulib.texi (__func__): Document __func__ module.
54462
54463 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54464
54465         * modules/byteswap (License): Re-license as LGPLv2+.
54466
54467 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54468
54469         * doc/Makefile: Add pdf target.
54470
54471 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54472
54473         * modules/inline (License): Use 'unlimited', since there are only
54474         *.m4 files in this module.
54475
54476 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
54477             Bruno Haible  <bruno@clisp.org>
54478
54479         Add support for HP C 7.1 on OpenVMS 8.3.
54480         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
54481
54482 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
54483
54484         Update VMS specifics.
54485         * lib/getopt.c [VMS]: Remove include of unixlib.h.
54486
54487 2008-03-02  Jim Meyering  <meyering@redhat.com>
54488
54489         Remove the last dependency on the "free" module.
54490         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
54491         Reported by Bob Proulx.
54492
54493         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
54494
54495         Remove useless "if" tests before free.  Deprecate "free" module.
54496         * doc/posix-functions/free.texi: Mention that this
54497         module is no longer useful.
54498         * modules/free (Notice): Say this module is obsolete.
54499         * modules/readutmp (Depends-on): Remove free.
54500         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
54501         * lib/putenv.c (putenv): Likewise.
54502         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
54503         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
54504         * tests/test-c-strcasestr.c (main): Likewise.
54505         * tests/test-c-strstr.c (main): Likewise.
54506         * tests/test-mbscasestr1.c (main): Likewise.
54507         * tests/test-mbscasestr2.c (main): Likewise.
54508         * tests/test-mbsstr1.c (main): Likewise.
54509         * tests/test-mbsstr2.c (main): Likewise.
54510         * tests/test-memmem.c (main): Likewise.
54511         * tests/test-strcasestr.c (main): Likewise.
54512         * tests/test-striconv.c (main): Likewise.
54513         * tests/test-striconveh.c (main): Likewise.
54514         * tests/test-striconveha.c (main): Likewise.
54515         * tests/test-strstr.c (main): Likewise.
54516
54517         * build-aux/git-version-gen: Adjust a comment and the Usage string.
54518
54519         bootstrap: sync from coreutils again
54520         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
54521
54522 2008-03-01  Jim Meyering  <meyering@redhat.com>
54523
54524         bootstrap: sync from coreutils
54525         * build-aux/bootstrap (update_po_files): Copy a .po file into place
54526         also when the target doesn't exist.
54527
54528 2008-03-01  Eric Blake  <ebb9@byu.net>
54529
54530         Fix bugs in last patch.
54531         * lib/memchr2.c (memchr2): Fix typo.
54532         * tests/test-memchr2.c: Test previous bug, and don't use GNU
54533         extension.
54534         Reported by Bruce Korb.
54535
54536         New module 'memchr2'.
54537         * modules/memchr2: New file.
54538         * modules/memchr2-tests: Likewise.
54539         * lib/memchr2.h: Likewise.
54540         * lib/memchr2.c: Likewise, based on memchr.c.
54541         * tests/test-memchr2.c: New test.
54542         * MODULES.html.sh (String handling): Add memchr2.
54543
54544 2008-02-29  Bruno Haible  <bruno@clisp.org>
54545
54546         * modules/freadseek-tests: New file.
54547         * tests/test-freadseek.sh: New file.
54548         * tests/test-freadseek.c: New file.
54549
54550         New module 'freadseek'.
54551         * modules/freadseek: New file.
54552         * lib/freadseek.h: New file.
54553         * lib/freadseek.c: New file.
54554         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
54555
54556 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
54557
54558         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
54559         wydawca.
54560
54561         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
54562         program_invocation_name and program_invocation_short_name are
54563         present.
54564
54565 2008-02-28  Bruno Haible  <bruno@clisp.org>
54566
54567         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
54568         * tests/test-freadptr.sh: Also test non-seekable stdin.
54569
54570 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
54571
54572         * build-aux/bootstrap (source_base, m4_base)
54573         (doc_base, tests_base): New variables.
54574         (gnulib_tool_options): Do not hardcode base directories, use
54575         the above variables instead.
54576
54577 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
54578
54579         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
54580
54581 2008-02-28  Bruno Haible  <bruno@clisp.org>
54582
54583         * modules/freadptr-tests: New file.
54584         * tests/test-freadptr.sh: New file.
54585         * tests/test-freadptr.c: New file.
54586
54587         New module 'freadptr'.
54588         * modules/freadptr: New file.
54589         * lib/freadptr.h: New file.
54590         * lib/freadptr.c: New file.
54591         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
54592
54593 2008-02-26  Karl Berry  <karl@freefriends.org>
54594
54595         Sync from Libtool:
54596         * libltdl/argz.c (argz_add, argz_count): New functions.
54597         * libltdl/argz.in.h: Declare them.
54598         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
54599
54600 2008-02-22  Bruno Haible  <bruno@clisp.org>
54601
54602         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
54603         is a pointer type.  Needed for HP-UX 10.
54604         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
54605         * doc/posix-functions/gmtime_r.texi: Likewise.
54606         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
54607
54608 2008-02-24  Bruno Haible  <bruno@clisp.org>
54609
54610         * modules/environ-tests: New file.
54611         * tests/test-environ.c: New file.
54612
54613         New module 'environ'.
54614         * modules/environ: New file.
54615         * lib/unistd.in.h (environ): New declaration.
54616         * m4/environ.m4: New file.
54617         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
54618         after use.
54619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
54620         HAVE_DECL_ENVIRON.
54621         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
54622         HAVE_DECL_ENVIRON.
54623         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
54624         wrong claim that 'environ' is missing on some systems.
54625         * modules/execute (Depends-on): Add environ.
54626         * lib/execute.c (environ): Remove fallback declaration.
54627         * modules/pipe (Depends-on): Add environ.
54628         * lib/pipe.c (environ): Remove fallback declaration.
54629         * modules/setenv (Depends-on): Add environ.
54630         * lib/setenv.c (environ): Remove fallback declaration.
54631         * modules/unsetenv (Depends-on): Add environ.
54632         * lib/unsetenv.c (environ): Remove fallback declaration.
54633         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
54634         m4/environ.m4.
54635         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
54636         (gl_PREREQ_UNSETENV): Likewise.
54637
54638 2008-02-24  Bruno Haible  <bruno@clisp.org>
54639
54640         * doc/posix-functions/environ.texi: Document the MacOS X problem.
54641
54642 2008-02-20  Bob Proulx  <bob@proulx.com>
54643
54644         Enable use of older two part flavor 'git describe'.
54645         * build-aux/git-version-gen: If using the older two part flavor of
54646         git version then recreate the third part now present in the
54647         newer three part flavor of git describe.
54648
54649 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
54650
54651         * lib/fts.c (fts_build): Typo correction to comment.
54652
54653 2008-02-17  Bruno Haible  <bruno@clisp.org>
54654
54655         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
54656         generating no-op conflicts.
54657
54658 2008-02-17  Bruno Haible  <bruno@clisp.org>
54659
54660         Speed up by 10%.
54661         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
54662         result_entries, rather than an index-based loop.
54663
54664 2008-02-17  Bruno Haible  <bruno@clisp.org>
54665
54666         Speed up by 25%.
54667         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
54668         'hashcode_cached'.
54669         (entry_create): New function.
54670         (entry_hashcode): Use the cached hashcode if possible.
54671         (read_changelog_file, try_split_merged_entry): Use entry_create.
54672
54673 2008-02-17  Bruno Haible  <bruno@clisp.org>
54674
54675         Speed up from O(n^2) to O(n) for long ChangeLog files.
54676         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
54677         (read_changelog_file): Change implementation of entries_reversed list
54678         to rbtreehash.
54679         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
54680
54681 2008-02-17  Bruno Haible  <bruno@clisp.org>
54682
54683         New option --split-merged-entry.
54684         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
54685         (find_paragraph_end, try_split_merged_entry): New functions.
54686         (long_options): Add option --split-merged-entry.
54687         (usage): Document option --split-merged-entry.
54688         (main): Implement option --split-merged-entry.
54689         Reported by Eric Blake.
54690
54691 2008-02-17  Bruno Haible  <bruno@clisp.org>
54692
54693         * lib/git-merge-changelog.c: Include c-strstr.h.
54694         (main): Support the "git pull --rebase" situation.
54695         * modules/git-merge-changelog (Depends-on): Add c-strstr.
54696         Reported by Eric Blake.
54697
54698 2008-02-16  Eric Blake  <ebb9@byu.net>
54699
54700         Avoid doubling \ in common case of "c-maybe" quoting style.
54701         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
54702         eliding outer quotes.
54703         * lib/quotearg.h: Document this.
54704         * tests/test-quotearg.c (result_strings, inputs, results_g)
54705         (flag_results, locale_results): Test it by adding a new string to
54706         each test group.
54707         (compare_strings): Test new string.
54708
54709 2008-02-13  Eric Blake  <ebb9@byu.net>
54710
54711         Avoid trigraph quoting in default output.
54712         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
54713         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
54714         unless explicitly requested.
54715         * tests/test-quotearg.c (flag_results, main): Add additional tests.
54716
54717 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
54718
54719         Don't rely on signed integer overflowing to negative value.
54720         * lib/getugroups.c (getugroups): Include <limits.h>.
54721         Instead, compare against INT_MAX, and increment only if the test passes.
54722
54723 2008-02-13  Jim Meyering  <meyering@redhat.com>
54724         and Eric Blake  <ebb9@byu.net>
54725
54726         Avoid shadowing warning and compile errors on Linux.
54727         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
54728         forwarding macros on Linux.
54729         (dcgettext): Define a stub, for Linux.
54730         (results_g, main): Avoid warnings.
54731
54732 2008-02-12  Eric Blake  <ebb9@byu.net>
54733
54734         Silence warning in last patch.
54735         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
54736
54737         Quotearg part 4: add tests, fix c-maybe colon quoting.
54738         * lib/quotearg.h: Improve documentation.
54739         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
54740         escapes when adding outer quotes.  When quoting trigraphs, use
54741         valid C notation.  When quoting NUL, omit extra characters if next
54742         character is not digit.  Alter prototype.
54743         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
54744         callers.
54745         * modules/quotearg-tests: New module.
54746         * tests/test-quotearg.c: New test.
54747
54748 2008-02-07  Eric Blake  <ebb9@byu.net>
54749
54750         Quotearg part 3: add flag to control outer quote elision.
54751         * lib/quotearg.h (c_maybe_quoting_style): New style.
54752         (enum quoting_flags): Better documentation of flags.
54753         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
54754         c-maybe style.
54755         (quotearg_buffer_restyled): Handle new flag to elide outer
54756         quotes.
54757
54758         Quotearg part 2: add flag that can control NUL elision.
54759         * lib/quotearg.h (set_quoting_flags): New prototype.
54760         * lib/quotearg.c (struct quoting_options): Add flag field.
54761         (set_quoting_flags): New function.
54762         (quotearg_buffer_restyled): Add flags parameter.
54763         (quotearg_alloc_mem): Set the flag if length cannot be returned.
54764         (quotearg_n_options): Set the flag, since length cannot be
54765         returned.
54766         (quoting_options_from_style): Default flags correctly.
54767
54768         Quotearg part 1: more wrappers, restore quotearg_char state.
54769         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
54770         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
54771         (quotearg_colon_mem): New wrappers.
54772         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
54773         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
54774         functions.
54775         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
54776         (quotearg_colon_mem): New functions.
54777
54778 2008-02-11  Bruno Haible  <bruno@clisp.org>
54779
54780         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
54781         library in the current directory: it does not work with parallel make.
54782         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54783
54784 2008-02-11  Bruno Haible  <bruno@clisp.org>
54785
54786         * .gitattributes: New file.
54787
54788 2008-02-11  Jim Meyering  <meyering@redhat.com>
54789
54790         useless-if-before-free: Fix reversed exit values.
54791         * build-aux/useless-if-before-free: Use correct values
54792         for EXIT_MATCH and EXIT_NO_MATCH.
54793
54794         * build-aux/useless-if-before-free: Close stdout carefully.
54795
54796 2008-02-10  Bruno Haible  <bruno@clisp.org>
54797
54798         New module 'git-merge-changelog'.
54799         * modules/git-merge-changelog: New file.
54800         * lib/git-merge-changelog.c: New file.
54801
54802 2008-02-10  Jim Meyering  <meyering@redhat.com>
54803
54804         useless-if-before-free: New option: --list (-l).
54805
54806         useless-if-before-free: Don't exit immediately upon open failure.
54807         * build-aux/useless-if-before-free: Exit 2 for errors.
54808         Upon failure to open a file, don't exit immediately.
54809         Rather, just warn and continue with any remaining files.
54810
54811 2008-02-10  Bruno Haible  <bruno@clisp.org>
54812
54813         New abstract list operation 'node_set_value'.
54814         * lib/gl_list.h (gl_list_node_set_value): New function.
54815         (struct gl_list_implementation): New field node_set_value.
54816         * lib/gl_list.c (gl_list_node_set_value): New function.
54817         * lib/gl_array_list.c (gl_array_node_set_value): New function.
54818         (gl_array_list_implementation): Update.
54819         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
54820         (gl_carray_list_implementation): Update.
54821         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
54822         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
54823         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
54824         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
54825         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
54826         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
54827         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
54828         Update.
54829         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
54830         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
54831         (gl_sublist_list_implementation): Update.
54832
54833 2008-02-10  Bruno Haible  <bruno@clisp.org>
54834
54835         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
54836         Needed when ELEMENT is #defined to 'some_type *'.
54837
54838 2008-02-10  Jim Meyering  <meyering@redhat.com>
54839
54840         New script and module: useless-if-before-free
54841         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
54842         * build-aux/useless-if-before-free: New file.
54843         * modules/useless-if-before-free: New file.
54844
54845         * build-aux/gitlog-to-changelog: Use committer date, not author date.
54846
54847         xstrtol_error: Fix typo.
54848         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
54849         s/exit_failure/exit_status/.
54850
54851 2008-02-09  Jim Meyering  <meyering@redhat.com>
54852
54853         New script and module: gitlog-to-changelog
54854         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
54855         * modules/gitlog-to-changelog: New file.
54856         * build-aux/gitlog-to-changelog: New file.
54857
54858 2008-02-08  Jim Meyering  <meyering@redhat.com>
54859
54860         Avoid two "parameter unused" warnings.
54861         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
54862         Mark "st" as used.
54863
54864         Use "git COMMAND", not "git-COMMAND".
54865         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
54866         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
54867         * build-aux/git-version-gen: Use "git status", not "git-status".
54868
54869 2008-02-07  Bruno Haible  <bruno@clisp.org>
54870
54871         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
54872         Avoids a crash on Windows Vista.
54873         Reported by Adam Strzelecki <ono@java.pl> via
54874         Simon Josefsson <simon@josefsson.org>.
54875
54876 2008-02-06  Bruno Haible  <bruno@clisp.org>
54877
54878         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
54879         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
54880         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
54881         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
54882         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54883         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54884         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
54885         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
54886         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54887         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54888         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54889         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54890         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54891         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54892         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54893         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
54894         left-adjust flag.
54895         * tests/test-snprintf-posix.h (test_function): Likewise.
54896         * tests/test-sprintf-posix.h (test_function): Likewise.
54897         * tests/test-vasprintf-posix.c (test_function): Likewise.
54898         * doc/posix-functions/fprintf.texi: Update.
54899         * doc/posix-functions/printf.texi: Update.
54900         * doc/posix-functions/snprintf.texi: Update.
54901         * doc/posix-functions/sprintf.texi: Update.
54902         * doc/posix-functions/vfprintf.texi: Update.
54903         * doc/posix-functions/vprintf.texi: Update.
54904         * doc/posix-functions/vsnprintf.texi: Update.
54905         * doc/posix-functions/vsprintf.texi: Update.
54906         Reported by Peter Fales <psfales@alcatel-lucent.com>.
54907
54908 2008-02-06  Bruno Haible  <bruno@clisp.org>
54909
54910         Fix bug introduced on 2008-01-26.
54911         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
54912
54913 2008-02-06  Bruno Haible  <bruno@clisp.org>
54914
54915         Fix bug introduced on 2007-06-10.
54916         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
54917         !NEED_PRINTF_FLAG_ZERO.
54918
54919 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
54920
54921         getloadavg: use libperfstat on AIX5
54922         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
54923
54924 2008-02-03  Bruno Haible  <bruno@clisp.org>
54925
54926         * lib/diffseq.h: Add comments about required #includes.
54927         Reported by Michael Biggs <gnulib@doubleplum.net>.
54928
54929 2008-02-01  Bruno Haible  <bruno@clisp.org>
54930
54931         * users.txt: Add gnuit.
54932
54933 2008-01-31  Bruno Haible  <bruno@clisp.org>
54934
54935         * lib/md4.c (set_uint32): Mark as inline.
54936         * lib/md5.c (set_uint32): Likewise.
54937         * lib/sha1.c (set_uint32): Likewise.
54938         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
54939         * m4/md5.m4 (gl_MD5): Likewise.
54940         * m4/sha1.m4 (gl_SHA1): Likewise.
54941
54942 2008-01-31  Jim Meyering  <meyering@redhat.com>
54943
54944         Use "sizeof VAR", rather than a literal "4".
54945         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
54946         * lib/md4.c (md4_read_ctx): Likewise.
54947         * lib/sha1.c (sha1_read_ctx): Likewise.
54948
54949 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54950
54951         * tests/test-sha1.c: New file, based on test-md5.c.
54952
54953         * modules/crypto/sha1-tests: New file.
54954
54955 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54956
54957         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
54958
54959 2008-01-31  Jim Meyering  <meyering@redhat.com>
54960
54961         Prefer "sizeof v" over the equivalent "4".
54962         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
54963         * lib/md5.c (set_uint32): Likewise.
54964         * lib/sha1.c (set_uint32): Likewise.
54965
54966 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54967
54968         * lib/sha1.c (set_uint32): Mark function as static.
54969
54970 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54971
54972         md2: clarify comments to say that alignment is not required.
54973         * lib/md2.h: Remove warning about alignment in comment.
54974         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
54975         never been required.
54976
54977 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54978
54979         md4: adapt alignment constraint fix from sha1.
54980         * lib/md4.c (set_uint32): New function, from sha1.c
54981         (md4_read_ctx): Use it.
54982         (md4_finish_ctx): Doc fix.
54983         * lib/md4.h: Doc fix.
54984
54985 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54986
54987         md5: adapt alignment constraint fix from sha1.
54988         * lib/md5.c (set_uint32): New function, from sha1.c
54989         (md5_read_ctx): Use it.
54990         (md5_finish_ctx): Doc fix.
54991         * lib/md5.h: Doc fix.
54992
54993 2008-01-30  Peter Palfrader  <weasel@debian.org>
54994
54995         sha1: remove the result buffer alignment constraint
54996         * lib/sha1.c (set_uint32): New function.
54997         (sha1_read_ctx): Rewrite to remove the result buffer alignment
54998         constraint.
54999         (sha1_finish_ctx): Remove comment warning about alignment constraint.
55000         * lib/sha1.h: Likewise.
55001
55002 2008-01-30  Andreas Schwab  <schwab@suse.de>
55003             Bruno Haible  <bruno@clisp.org>
55004
55005         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
55006         correct definition of LDBL_MIN_EXP.
55007
55008 2008-01-30  Karl Berry  <karl@gnu.org>
55009
55010         * config/srclist-update: try to preserve x bit on updates.
55011         * config/srclistvars.sh: update for karl.
55012
55013 2008-01-29  Jim Meyering  <meyering@redhat.com>
55014
55015         vasnprintf.c: Avoid warning about unused label
55016         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
55017         "overflow" label definition and associated code with the
55018         same cpp condition that guards the sole use of that label.
55019
55020 2008-01-26  Bruno Haible  <bruno@clisp.org>
55021
55022         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
55023         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
55024         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
55025         * lib/isnanl-nolibm.h (isnanl): Likewise.
55026         Reported by Paul Eggert <eggert@cs.ucla.edu>.
55027
55028 2008-01-26  Bruno Haible  <bruno@clisp.org>
55029
55030         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
55031         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
55032
55033 2008-01-26  Bruno Haible  <bruno@clisp.org>
55034
55035         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
55036         GCC >= 4.0 built-in.
55037         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
55038
55039 2008-01-26  Bruno Haible  <bruno@clisp.org>
55040
55041         Rename isnan, applicable to 'double' only, to isnand.
55042         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
55043         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
55044         (configure.ac): Update.
55045         (Include): Replace "isnan.h" with "isnand.h".
55046         * m4/isnand.m4: Renamed from m4/isnan.m4.
55047         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
55048         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
55049         instead of isnan.c.
55050         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
55051         instead of HAVE_ISNAN_IN_LIBC.
55052         (isnand): Renamed from isnan.
55053         * lib/isnand.c: New file.
55054         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
55055         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
55056         (Makefile.am): Update.
55057         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
55058         Include isnand.h instead of isnan.h.
55059         (main): Test isnand instead of isnan.
55060         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
55061         isnan-nolibm.
55062         * modules/frexp (Depends-on): Likewise.
55063         * modules/frexp-tests (Depends-on): Likewise.
55064         * modules/frexp-nolibm (Depends-on): Likewise.
55065         * modules/frexp-nolibm-tests (Depends-on): Likewise.
55066         * modules/isfinite (Depends-on): Likewise.
55067         * modules/round-tests (Depends-on): Likewise.
55068         * modules/signbit (Depends-on): Likewise.
55069         * modules/signbit-tests (Depends-on): Likewise.
55070         * modules/snprintf-posix (Depends-on): Likewise.
55071         * modules/sprintf-posix (Depends-on): Likewise.
55072         * modules/trunc-tests (Depends-on): Likewise.
55073         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
55074         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
55075         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
55076         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
55077         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
55078         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
55079         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
55080         * modules/vasnprintf-posix (Depends-on): Likewise.
55081         * modules/vasprintf-posix (Depends-on): Likewise.
55082         * modules/vfprintf-posix (Depends-on): Likewise.
55083         * modules/vsnprintf-posix (Depends-on): Likewise.
55084         * modules/vsprintf-posix (Depends-on): Likewise.
55085         * lib/frexp.c: Include isnand.h instead of isnan.h.
55086         (ISNAN): Set to isnand instead of isnan.
55087         * lib/isfinite.c: Include isnand.h instead of isnan.h.
55088         (gl_isfinited): Use isnand instead of isnan.
55089         * lib/signbitd.c: Include isnand.h instead of isnan.h.
55090         (gl_signbitd): Use isnand instead of isnan.
55091         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
55092         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
55093         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
55094         (main): Use isnand instead of isnan.
55095         * tests/test-round1.c: Include isnand.h.
55096         (main): Use isnand instead of isnan.
55097         * tests/test-round2.c: Include isnand.h instead of isnan.h.
55098         (ISNAN): Set to isnand instead of isnan.
55099         * tests/test-trunc1.c: Include isnand.h.
55100         (main): Use isnand instead of isnan.
55101         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
55102         (equal): Use isnand instead of isnan.
55103         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
55104         isnand-nolibm.
55105         * NEWS: Mention the change.
55106
55107 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
55108             Bruno Haible  <bruno@clisp.org>
55109
55110         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
55111         the GCC builtins for signbits are present and set
55112         REPLACE_SIGNBIT_USING_GCC if so.
55113         * lib/math.in.h (signbit): Define using GCC builtins if
55114         REPLACE_SIGNBIT_USING_GCC is set.
55115         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
55116         REPLACE_SIGNBIT_USING_GCC.
55117         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
55118
55119 2008-01-25  Jim Meyering  <meyering@redhat.com>
55120
55121         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
55122         * lib/poll.c: Include <config.h>, not "config.h".
55123         * tests/test-getaddrinfo.c: Likewise.
55124
55125 2008-01-25  Simon Josefsson  <simon@josefsson.org>
55126
55127         * modules/sockets-tests: New file.
55128
55129 2008-01-24  Simon Josefsson  <simon@josefsson.org>
55130
55131         * modules/sockets: New module, can be used to call WSA_Startup and
55132         WSA_Cleanup when needed.
55133
55134         * lib/sockets.h, lib/sockets.c: New files.
55135
55136         * m4/sockets.m4: New file.
55137
55138         * tests/test-sockets.c: New file.
55139
55140 2008-01-19  Bruno Haible  <bruno@clisp.org>
55141
55142         * doc/posix-headers: Renamed from doc/headers.
55143         * doc/posix-functions: Renamed from doc/functions.
55144         * doc/gnulib.texi: Update.
55145
55146 2008-01-19  Bruno Haible  <bruno@clisp.org>
55147
55148         * doc/glibc-functions/strcasestr.texi: Include contents of
55149         doc/functions/strcasestr.texi, fixing the list of platforms.
55150         * doc/functions/strcasestr.texi: Remove file.
55151
55152 2008-01-19  Bruno Haible  <bruno@clisp.org>
55153
55154         * doc/glibc-functions/memmem.texi: Include contents of
55155         doc/functions/memmem.texi.
55156         * doc/functions/memmem.texi: Remove file.
55157
55158 2008-01-18  Bruno Haible  <bruno@clisp.org>
55159
55160         * doc/glibc-functions/*.texi: New files.
55161         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
55162         to use the new files.
55163
55164 2008-01-17  Bruno Haible  <bruno@clisp.org>
55165
55166         * tests/test-gethostname.c (main): Fix printf statement.
55167
55168 2008-01-17  Simon Josefsson  <simon@josefsson.org>
55169
55170         * modules/gethostname-tests: New file.
55171
55172         * tests/test-gethostname.c: New file.
55173
55174 2008-01-17  Simon Josefsson  <simon@josefsson.org>
55175
55176         * lib/gethostname.c: Include string.h unconditionally, strncpy is
55177         used by the UNAME case.  Reported by Bruno Haible
55178         <bruno@clisp.org>.
55179
55180 2008-01-17  Eric Blake  <ebb9@byu.net>
55181
55182         Convert c-strcasestr to be more efficient.
55183         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
55184         (Depends-on): Add c-strcase, remove malloca, strnlen.
55185         * tests/test-c-strcasestr.c (main): Enhance test.
55186         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
55187
55188 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
55189
55190         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
55191         Use it in creating po/Makevars.
55192
55193 2008-01-15  Simon Josefsson  <simon@josefsson.org>
55194
55195         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
55196         Applications that requires it should initialize libgcrypt
55197         manually.
55198
55199 2008-01-16  Simon Josefsson  <simon@josefsson.org>
55200
55201         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
55202
55203 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
55204
55205         Fix problem with getdate on mingw32 reported by Simon Josefsson
55206         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
55207         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
55208         tzname", when deciding whether to declare tzname.
55209         * lib/strftime.c (tzname): Likewise.
55210
55211 2008-01-15  Bruno Haible  <bruno@clisp.org>
55212
55213         Work around a MacOS X 10.5 bug in frexpl().
55214         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
55215         * doc/functions/frexpl.texi: Document the bug.
55216         Reported by Elias Pipping <pipping@gentoo.org>.
55217
55218 2008-01-14  Eric Blake  <ebb9@byu.net>
55219
55220         Touch up previous patch.
55221         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
55222         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
55223
55224         Convert strcasestr module to use Two-Way algorithm.
55225         * modules/strcasestr-simple: New module, based on the old
55226         strcasestr, but with Two-Way rather than KMP.
55227         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
55228         * lib/string.in.h (rpl_strcasestr): Declare.
55229         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
55230         performance.
55231         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
55232         * modules/string (Makefile.am): Support strcasestr.
55233         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
55234         * modules/strcasestr-tests (Depends-on): Check for alarm.
55235         * tests/test-strcasestr.c: Augment test.
55236         * lib/str-two-way.h: Clean up stray macro.
55237         * NEWS: Document new module.
55238         * MODULES.html.sh (string handling): Likewise.
55239         * doc/functions/strcasestr.texi: New file.
55240         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
55241         here, since it is not a POSIX function.
55242
55243 2008-01-14  Colin Watson  <cjwatson@debian.org>
55244             Bruno Haible  <bruno@clisp.org>
55245
55246         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
55247         works fine; if not, set REPLACE_STRSIGNAL.
55248         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
55249         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55250         REPLACE_STRSIGNAL.
55251         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
55252         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
55253         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
55254
55255 2008-01-14  Bruno Haible  <bruno@clisp.org>
55256
55257         * modules/strsignal (Include): Change to <string.h>.
55258
55259 2008-01-14  Colin Watson  <cjwatson@debian.org>
55260
55261         * modules/argp (Notice): Add a notice recommending to change
55262         XGETTEXT_OPTIONS.
55263         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
55264
55265 2008-01-13  Colin Watson  <cjwatson@debian.org>
55266
55267         * modules/strsignal-tests: New file.
55268         * tests/test-strsignal.c: New file.
55269
55270         * lib/strsignal.c: New file, from glibc with modifications.
55271         * lib/siglist.h: New file, from glibc with modifications.
55272         * lib/string.in.h (strsignal): New declaration.
55273         * m4/strsignal.m4: New file.
55274         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55275         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
55276         * modules/strsignal: New file.
55277         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
55278         HAVE_DECL_STRSIGNAL.
55279
55280 2008-01-13  Bruno Haible  <bruno@clisp.org>
55281
55282         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
55283         locale encoding is not ASCII. Needed for OpenBSD 4.0.
55284         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
55285         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
55286
55287 2008-01-13  Bruno Haible  <bruno@clisp.org>
55288
55289         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
55290         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
55291         * lib/argp.h (__attribute__): Likewise.
55292         * lib/c-stack.c (__attribute__): Likewise.
55293         * lib/error.h (__attribute__): Likewise.
55294         * lib/fts.c (__attribute__): Likewise.
55295         * lib/openat.h (__attribute__): Likewise.
55296         * lib/stdio.in.h (__attribute__): Likewise.
55297         * lib/string.in.h (__attribute__): Likewise.
55298         * lib/utimens.c (__attribute__): Likewise.
55299         * lib/vasnprintf.h (__attribute__): Likewise.
55300         * lib/xalloc.h (__attribute__): Likewise.
55301         * lib/xprintf.h (__attribute__): Likewise.
55302         * lib/xstrtol.h (__attribute__): Likewise.
55303         * lib/xvasprintf.h (__attribute__): Likewise.
55304
55305 2008-01-12  Bruno Haible  <bruno@clisp.org>
55306
55307         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
55308         * doc/glibc-headers/a.out.texi: New file.
55309         * doc/glibc-headers/aliases.texi: New file.
55310         * doc/glibc-headers/alloca.texi: New file.
55311         * doc/glibc-headers/ar.texi: New file.
55312         * doc/glibc-headers/argp.texi: New file.
55313         * doc/glibc-headers/argz.texi: New file.
55314         * doc/glibc-headers/byteswap.texi: New file.
55315         * doc/glibc-headers/crypt.texi: New file.
55316         * doc/glibc-headers/endian.texi: New file.
55317         * doc/glibc-headers/envz.texi: New file.
55318         * doc/glibc-headers/err.texi: New file.
55319         * doc/glibc-headers/error.texi: New file.
55320         * doc/glibc-headers/execinfo.texi: New file.
55321         * doc/glibc-headers/fpu_control.texi: New file.
55322         * doc/glibc-headers/fstab.texi: New file.
55323         * doc/glibc-headers/fts.texi: New file.
55324         * doc/glibc-headers/getopt.texi: New file.
55325         * doc/glibc-headers/ieee754.texi: New file.
55326         * doc/glibc-headers/ifaddrs.texi: New file.
55327         * doc/glibc-headers/libintl.texi: New file.
55328         * doc/glibc-headers/mcheck.texi: New file.
55329         * doc/glibc-headers/mntent.texi: New file.
55330         * doc/glibc-headers/obstack.texi: New file.
55331         * doc/glibc-headers/paths.texi: New file.
55332         * doc/glibc-headers/printf.texi: New file.
55333         * doc/glibc-headers/pty.texi: New file.
55334         * doc/glibc-headers/resolv.texi: New file.
55335         * doc/glibc-headers/shadow.texi: New file.
55336         * doc/glibc-headers/sysexits.texi: New file.
55337         * doc/glibc-headers/ttyent.texi: New file.
55338
55339 2008-01-12  Jim Meyering  <meyering@redhat.com>
55340
55341         announce-gen: emit Gnulib's git-based version string.
55342         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
55343         New option --gnulib-version=V, where V is expected to be
55344         the output of running git describe in the gnulib directory.
55345         (get_tool_versions): Request feedback on xdelta.  I suspect it's
55346         not useful, and plan to stop publishing an xdelta file with each
55347         coreutils release.
55348
55349         * build-aux/announce-gen: Also check for lzma-compressed files.
55350
55351 2008-01-11  Bruno Haible  <bruno@clisp.org>
55352
55353         * tests/test-memmem.c (main): Increase maximum allowed time.
55354         * tests/test-strstr.c (main): Likewise.
55355
55356 2008-01-11  Bruno Haible  <bruno@clisp.org>
55357
55358         * doc/functions/memmem.texi: Add more precisions about platforms.
55359         * doc/functions/strstr.texi: Likewise.
55360
55361 2008-01-10  Eric Blake  <ebb9@byu.net>
55362
55363         * m4/strstr.m4: Delete cruft from copy-n-paste.
55364         Reported by Bruno Haible.
55365
55366 2008-01-10  Bruno Haible  <bruno@clisp.org>
55367
55368         Make c-strstr rely on strstr.
55369         * lib/c-strstr.c: Don't include str-kmp.h.
55370         (c_strstr): Define in terms of strstr.
55371         * modules/c-strstr (Files): Remove lib/str-kmp.h.
55372         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
55373
55374 2008-01-10  Bruno Haible  <bruno@clisp.org>
55375
55376         * doc/gnulib.texi (String Functions in C Locale): New section.
55377         * doc/c-ctype.texi: New file.
55378         * doc/c-strcase.texi: New file.
55379         * doc/c-strcaseeq.texi: New file.
55380         * doc/c-strcasestr.texi: New file.
55381         * doc/c-strstr.texi: New file.
55382         * doc/c-strtod.texi: New file.
55383         * doc/c-strtold.texi: New file.
55384
55385 2008-01-10  Eric Blake  <ebb9@byu.net>
55386
55387         * lib/relocatable.h: Fix a comment.
55388
55389 2008-01-10  Eric Blake  <ebb9@byu.net>
55390
55391         Share two-way algorithm.
55392         * lib/str-two-way.h: New file, merged from...
55393         * lib/memmem.c: ...here...
55394         * lib/strstr.c: ...and here.
55395         * modules/memmem (Files): Use it.
55396         * modules/strstr (Files): Likewise.
55397
55398         Avoid quadratic strstr implementations.
55399         * lib/strstr.c: New file.
55400         * m4/strstr.m4: Likewise.
55401         * modules/strstr: Likewise.
55402         * modules/strstr-tests: Likewise.
55403         * tests/test-strstr.c: Likewise.
55404         * lib/string.in.h (rpl_strstr): Declare.
55405         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
55406         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
55407         * modules/string (Makefile.am): Likewise.
55408         * MODULES.html.sh (string handling): Mention new module.
55409         * doc/functions/strstr.texi (strstr): Document the bug.
55410
55411 2008-01-10  Bruno Haible  <bruno@clisp.org>
55412
55413         * lib/relocatable.h (relocate): State whether result is freshly
55414         allocated or not.
55415         * lib/relocatable.c (relocate): Return a freshly allocated string
55416         instead of a pointer to a privately held string.
55417         Reported by Sylvain Beucler <beuc@gnu.org>.
55418
55419 2008-01-10  Colin Watson  <cjwatson@debian.org>
55420
55421         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
55422         s/S_ISNLK/S_ISLNK/.
55423
55424 2008-01-09  Bruno Haible  <bruno@clisp.org>
55425
55426         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
55427         and other files.
55428         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
55429         if it's only a guess.
55430         * modules/memmem: Simplify by depending on memmem-simple.
55431
55432 2008-01-09  Bruno Haible  <bruno@clisp.org>
55433
55434         Work around OpenBSD 4.0 tdelete() bug.
55435         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
55436         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
55437         macros and don't redefine the enum values.
55438         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
55439         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
55440         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
55441
55442 2008-01-09  Bruno Haible  <bruno@clisp.org>
55443
55444         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
55445         (main): Don't perform the tests if setlocale did not install a UTF-8
55446         locale. Needed on OpenBSD 4.0.
55447         * modules/wcwidth-tests (Depends-on): Add localcharset.
55448
55449 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
55450
55451         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
55452         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
55453         * NEWS: announce this.
55454         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
55455
55456 2008-01-09  Simon Josefsson  <simon@josefsson.org>
55457         and Eric Blake  <ebb9@byu.net>
55458
55459         Add memmem-simple module.
55460         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
55461         (gl_FUNC_MEMMEM): Separate performance from presence checks.
55462         * modules/memmem-simple: New file.
55463         * modules/memmem (Description): Tweak.
55464         * MODULES.html.sh (string handling): Mention new module.
55465         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
55466         addressed by memmem-simple.
55467         * NEWS: Document the difference.
55468
55469 2008-01-09  Eric Blake  <ebb9@byu.net>
55470
55471         Give gcc some memmem optimization hints.
55472         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
55473         (strcasestr): Declare as pure.
55474         * modules/memmem (Maintainer): Claim my implementation.
55475
55476 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55477
55478         Support AIX 6.1 and higher.
55479         * build-aux/config.libpath: Likewise.
55480         * build-aux/config.rpath: Likewise.
55481
55482 2008-01-08  Jim Meyering  <meyering@redhat.com>
55483             Bruno Haible  <bruno@clisp.org>
55484
55485         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
55486         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
55487         Reported by Peter Fales in
55488         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
55489
55490 2008-01-08  Bruno Haible  <bruno@clisp.org>
55491
55492         * modules/unictype/category-of (Depends-on): Add
55493         unictype/category-none.
55494         * modules/unictype/category-and-tests (Depends-on): Add
55495         unictype/category-{L,N,Lu,Nd}.
55496         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
55497         * modules/unictype/category-or-tests (Depends-on): Add
55498         unictype/category-{L,N}.
55499         * modules/unictype/category-name-tests (Depends-on): Add
55500         unictype/category-{Z,Nl}.
55501         Reported by Simon Josefsson.
55502
55503 2008-01-08  Bruno Haible  <bruno@clisp.org>
55504
55505         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
55506         convention better.
55507         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
55508         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
55509         Reported by Peter Miller <millerp@canb.auug.org.au>.
55510
55511 2008-01-08  Eric Blake  <ebb9@byu.net>
55512
55513         Rewrite memmem to guarantee linear complexity without malloc.
55514         * lib/memmem.c (memmem): Use Two-Way rather than
55515         Knuth-Morris-Pratt, to allow O(1) space usage.
55516         (critical_factorization, two_way_short_needle)
55517         (two_way_long_needle): New functions.
55518         (knuth_morris_pratt): Delete.
55519         * modules/memmem (Depends-on): No longer need malloca or stdbool.
55520         Add stdint.
55521         * tests/test-memmem.c (main): Add tests for periodic needle and
55522         sublinear performance.
55523         * doc/functions/memmem.texi (memmem): Document other deficiencies
55524         in cygwin and older glibc.
55525
55526 2008-01-08  Bruno Haible  <bruno@clisp.org>
55527
55528         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
55529         augmentation.
55530
55531 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
55532
55533         Add a configure time option: --disable-acl.
55534         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
55535         AC_ARG_ENABLE(acl).
55536
55537 2008-01-06  Simon Josefsson  <simon@josefsson.org>
55538
55539         * tests/test-localename.c: Don't include obsolete "setenv.h".
55540
55541         * modules/localename-tests (Depends-on): Need unsetenv.
55542
55543 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55544
55545         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
55546
55547 2008-01-06  Colin Watson  <cjwatson@debian.org>
55548
55549         * users.txt: Add man-db.
55550
55551 2008-01-07  Bruno Haible  <bruno@clisp.org>
55552
55553         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
55554         previous section name.
55555
55556 2008-01-07  Bruno Haible  <bruno@clisp.org>
55557
55558         * lib/progname.c (set_program_name): Don't strip off a leading
55559         "lt-" prefix outside a .libs directory.
55560         Suggested by Paul Eggert.
55561
55562 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
55563             Bruno Haible  <bruno@clisp.org>
55564
55565         Improve memory cleanup in 'relocatable' module.
55566         * lib/relocatable.h (compute_curr_prefix): Change return type to
55567         'char *'.
55568         * lib/relocatable.c (compute_curr_prefix): Change return type to
55569         'char *'. Free curr_installdir after use.
55570         (relocate): Free curr_prefix_better after use.
55571         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
55572
55573 2008-01-01  Bruno Haible  <bruno@clisp.org>
55574
55575         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
55576         failure on older glibc systems.
55577         Reported by Peter Fales <psfales@alcatel-lucent.com>.
55578
55579 2008-01-05  Eric Blake  <ebb9@byu.net>
55580
55581         Avoid quadratic system memmem.
55582         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
55583         Reported by Ralf Wildenhues.
55584
55585         Fix memmem test for mingw.
55586         * modules/memmem-tests (configure.ac): Check for alarm.
55587         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
55588         it.
55589         * doc/functions/memmem.texi: New file.
55590         * doc/gnulib.texi (Function Substitutes): Add memmem.
55591         Reported by Bruno Haible.
55592
55593 2008-01-04  Bruno Haible  <bruno@clisp.org>
55594
55595         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
55596         Require gl_HEADER_STRINGS_H_DEFAULTS, not
55597         gl_HEADER_STRING_H_DEFAULTS.
55598
55599 2008-01-04  Eric Blake  <ebb9@byu.net>
55600
55601         Shorten duration of memmem test.
55602         * tests/test-memmem.c (main): Use alarm to declare failure if test
55603         is taking too long.
55604         Reported by Ralf Wildenhues.
55605
55606 2007-12-21  Simon Josefsson  <simon@josefsson.org>
55607
55608         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
55609         string, needed by strerror.
55610
55611 2008-01-03  Colin Watson  <cjwatson@debian.org>
55612             Bruno Haible  <bruno@clisp.org>
55613
55614         * doc/gnulib-tool.texi (Localization): New section.
55615
55616 2008-01-02  Bruno Haible  <bruno@clisp.org>
55617
55618         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
55619         variables to 'unsigned char *' type.
55620         Reported by Paul Eggert.
55621
55622 2008-01-02  Jim Meyering  <jim@meyering.net>
55623
55624         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
55625
55626 2007-12-31  Jim Meyering  <jim@meyering.net>
55627
55628         Avoid use of private FTS type name.
55629         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
55630
55631 2007-12-30  Karl Berry  <karl@gnu.org>
55632
55633         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
55634         work around defect in Texinfo and/or the standalone Info browser.
55635
55636 2007-12-30  Bruno Haible  <bruno@clisp.org>
55637
55638         Unify 5 copies of the KMP code.
55639         * lib/str-kmp.h: New file.
55640         * lib/c-strcasestr.c: Include str-kmp.h.
55641         (knuth_morris_pratt): Remove function.
55642         (c_strcasestr): Update.
55643         * lib/c-strstr.c: Include str-kmp.h.
55644         (knuth_morris_pratt): Remove function.
55645         (c_strcasestr): Update.
55646         * lib/mbscasestr.c: Include str-kmp.h.
55647         (knuth_morris_pratt_unibyte): Remove function.
55648         * lib/mbsstr.c: Include str-kmp.h.
55649         (knuth_morris_pratt_unibyte): Remove function.
55650         * lib/strcasestr.c: Include str-kmp.h.
55651         (knuth_morris_pratt): Remove function.
55652         (strcasestr): Update.
55653         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
55654         * modules/c-strstr (Files): Likewise.
55655         * modules/mbscasestr (Files): Likewise.
55656         * modules/mbsstr (Files): Likewise.
55657         * modules/strcasestr (Files): Likewise.
55658         Suggested by Paul Eggert.
55659
55660 2007-12-30  Bruno Haible  <bruno@clisp.org>
55661
55662         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
55663         defined.
55664
55665 2007-12-30  Bruno Haible  <bruno@clisp.org>
55666
55667         * lib/xmalloca.h: Include xalloc.h.
55668         (xnmalloca): New macro.
55669
55670 2007-12-30  Bruno Haible  <bruno@clisp.org>
55671
55672         * lib/malloca.h (nmalloca): New macro.
55673         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
55674         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
55675         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
55676         knuth_morris_pratt_multibyte): Likewise.
55677         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
55678         knuth_morris_pratt_multibyte): Likewise.
55679         * lib/memmem.c (knuth_morris_pratt): Likewise.
55680         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
55681
55682 2007-12-25  Bruno Haible  <bruno@clisp.org>
55683
55684         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
55685         * lib/glob.c: Don't include openat.h.
55686         (link_exists2_p): Add back the code that deals with the
55687         !GLOB_ALTDIRFUNC case.
55688         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
55689         let it do the filename concatenation.
55690         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
55691         * modules/glob (Depends-on): Remove openat.
55692
55693 2007-12-31  Bruno Haible  <bruno@clisp.org>
55694
55695         * modules/dirfd (License): Change to LGPLv2+.
55696         Approved by Jim Meyering.
55697
55698 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
55699
55700         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
55701         when multiplying M by sizeof (size_t).
55702
55703 2007-12-10  Martin Lambers  <marlam@marlam.de>
55704
55705         Override getpagesize on mingw.
55706         * lib/getpagesize.c: New file.
55707         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
55708         * modules/getpagesize (Files): Add lib/getpagesize.c.
55709         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
55710         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55711         REPLACE_GETPAGESIZE.
55712         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
55713
55714 2007-12-25  Bruno Haible  <bruno@clisp.org>
55715
55716         * modules/localcharset (Notice): New field.
55717         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
55718         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
55719
55720 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
55721             Bruno Haible  <bruno@clisp.org>
55722
55723         Avoid using the syntax symbol() in formatted documentation.
55724         * MODULES.html.sh (func_module): When replacing symbol() with a
55725         hyperlink, remove the parentheses. Show an error if some remain.
55726         Recognize and render the '...' syntax.
55727         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
55728         Rework. Add paragraph about GCC's inlining.
55729         * doc/alloca.texi: Likewise.
55730         * doc/error.texi: Remove parentheses from symbol reference.
55731         * doc/gnulib-intro.texi: Likewise.
55732         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
55733         * modules/fnmatch (Description): Reword to say "the ... function".
55734         * modules/full-read (Description): Likewise.
55735         * modules/full-write (Description): Likewise.
55736         * modules/safe-read (Description): Likewise.
55737         * modules/safe-write (Description): Likewise.
55738         * modules/strchrnul (Description): Likewise.
55739         * modules/trim (Description): Likewise.
55740         * modules/error (Description): Remove parentheses from symbol
55741         references.
55742         * modules/verror (Description): Likewise.
55743         Reported by Karl Berry.
55744
55745 2007-12-25  Bruno Haible  <bruno@clisp.org>
55746
55747         Fixup after 2007-10-16 commit.
55748         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
55749
55750 2007-12-24  Bruno Haible  <bruno@clisp.org>
55751
55752         Make --enable-relocatable work with DESTDIR.
55753         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
55754         to compute installdir from destprog.
55755         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
55756         also set the RELOC_DESTDIR variable.
55757         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55758
55759 2007-12-24  Bruno Haible  <bruno@clisp.org>
55760
55761         Fix link error due to xalloc_die().
55762         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
55763         of xreadlink.
55764         * lib/relocwrapper.c: Update comments.
55765         * build-aux/install-reloc: Remove xreadlink.c from file list.
55766         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
55767         xreadlink.c.
55768         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55769
55770 2007-12-24  Bruno Haible  <bruno@clisp.org>
55771
55772         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
55773         * lib/setenv.h: Remove file.
55774         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
55775         lib/setenv.h.
55776         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
55777         (Depends-on): Add stdlib.
55778         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
55779         gl_FUNC_UNSETENV.
55780         (Include): Replace setenv.h with <stdlib.h>.
55781         * modules/unsetenv: New file.
55782         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
55783         * lib/unsetenv.c: Include <stdlib.h> first.
55784         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
55785         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
55786         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
55787         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
55788         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
55789         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55790         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
55791         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55792         * doc/functions/unsetenv.texi: Update.
55793         * modules/xsetenv (Depends-on): Add unsetenv.
55794         * modules/getdate (Depends-on): Likewise.
55795         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
55796         * lib/xsetenv.c: Don't include setenv.h.
55797         * lib/getdate.y: Likewise.
55798         * lib/relocwrapper.c: Likewise.
55799         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
55800         (Depends-on): Add stdlib.
55801         * NEWS: Mention the changes.
55802         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55803
55804 2007-12-23  Bruno Haible  <bruno@clisp.org>
55805
55806         * lib/memmem.c (memmem): Use lowercase variable names. Tab
55807         indentation.
55808
55809 2007-12-23  Bruno Haible  <bruno@clisp.org>
55810
55811         * lib/c-strcasestr.c: Add more comments.
55812         * lib/c-strstr.c: Likewise.
55813         * lib/mbscasestr.c: Likewise.
55814         * lib/mbsstr.c: Likewise.
55815         * lib/strcasestr.c: Likewise.
55816         * lib/memmem.c: Likewise.
55817
55818 2007-12-23  Bruno Haible  <bruno@clisp.org>
55819
55820         * tests/test-memmem.c: Include <string.h> first.
55821
55822 2007-12-22  Bruno Haible  <bruno@clisp.org>
55823
55824         * gnulib-tool (func_create_testdir): Change $auxdir while generating
55825         the contents of $testsbase.
55826         Reported by Ralf Wildenhues.
55827
55828 2007-12-22  Bruno Haible  <bruno@clisp.org>
55829
55830         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
55831         two variables local_ldadd_before, local_ldadd_last.
55832
55833 2007-12-20  Eric Blake  <ebb9@byu.net>
55834
55835         Work around circular library issue when cross-compiling.
55836         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
55837         that progname.o does not need to pull in rpl_memcmp.
55838
55839 2007-12-19  Eric Blake  <ebb9@byu.net>
55840
55841         Fix memmem to avoid O(n^2) worst-case complexity.
55842         * lib/memmem.c (knuth_morris_pratt): New function.
55843         (memmem): Use it if first few naive iterations fail.
55844         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
55845         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
55846         * modules/memchr (License): Likewise.
55847         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
55848         malloca.
55849         * tests/test-memmem.c: Rewrite, borrowing ideas from
55850         test-mbsstr1.c; the old version wouldn't even compile!
55851         * modules/memmem-tests: New file.
55852         * lib/string.in.h (rpl_memmem): Add declaration.
55853         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
55854         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
55855         REPLACE_MEMMEM.
55856
55857 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55858
55859         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
55860         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
55861         before any system include files, and undef after them all.  This
55862         should fix a problem on VMS reported by John E. Malmberg in
55863         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
55864
55865 2007-12-17  Eric Blake  <ebb9@byu.net>
55866
55867         Revert addition of verify, for BSD/OS.
55868         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
55869         can't handle large files, for the sake of obsolete platforms.
55870         * modules/fseeko (Depends-on): Remove verify.
55871         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
55872         * doc/functions/ftello.texi (ftello): Likewise.
55873         * doc/functions/fgetpos.texi (fgetpos): Likewise.
55874         Reported by Larry Jones.
55875
55876 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
55877
55878         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
55879         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
55880
55881 2007-12-17  Jim Meyering  <meyering@redhat.com>
55882
55883         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
55884         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
55885         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
55886         * modules/getcwd (Depends-on): Add openat.
55887         Reported by Petr Salinger.
55888
55889 2007-12-17  Bruno Haible  <bruno@clisp.org>
55890
55891         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
55892         avoid a segmentation fault of the configure test on x86_64 systems.
55893
55894 2007-12-15  Jim Meyering  <meyering@redhat.com>
55895
55896         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
55897
55898 2007-12-13  Eric Blake  <ebb9@byu.net>
55899
55900         Another fseek test.
55901         * tests/test-fseek.c (main): Also test ungetc handling.
55902         * tests/test-fseeko.c (main): Likewise.
55903         * modules/fseeko (Depends-on): Add verify.
55904         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
55905         large.
55906         Reported by Larry Jones.
55907
55908         Fix fseeko on mingw.
55909         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
55910         seek.
55911
55912         Beef up fseek tests.
55913         * tests/test-fseek.c (main): Also test eof handling.
55914         * tests/test-fseeko.c (main): Likewise.
55915         Reported by Larry Jones.
55916
55917 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
55918
55919         Fix fseeko on BSD-based platforms.
55920         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
55921         successful seek.
55922
55923 2007-12-12  Eric Blake  <ebb9@byu.net>
55924
55925         Allow circular dependency of separate libtests.a
55926         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
55927         when use_libtests.
55928
55929 2007-12-11  Eric Blake  <ebb9@byu.net>
55930
55931         Fix bug with -0.0L in previous patch.
55932         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
55933         * tests/test-isnan.c (main): Also test on zeroes.
55934         * tests/test-isnanf.c (main): Likewise.
55935         * tests/test-isnanl.h (main): Likewise.
55936
55937         Detect pseudo-denormals on x86 even when cross-compiling.
55938         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
55939         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
55940         invalid bit patterns that happen to satisfy ==.
55941
55942         Avoid link failures with separate libtests.a.
55943         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
55944         last, to satisfy circular dependencies.
55945
55946 2007-12-11  Eric Blake  <ebb9@byu.net>
55947         and Bruno Haible  <bruno@clisp.org>
55948
55949         Fix OpenBSD 4.0 <float.h> handling of long double.
55950         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
55951         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
55952         * doc/headers/float.texi (float.h): Document OpenBSD bug.
55953
55954 2007-12-11  Jim Meyering  <meyering@redhat.com>
55955
55956         * users.txt: Add libvirt.
55957
55958         Support versions of autoconf prior to 2.59c.
55959         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
55960         if it is not already defined.
55961
55962 2007-12-09  Bruno Haible  <bruno@clisp.org>
55963
55964         Let 'gnulib-tool --import' collect sources needed for the tests in
55965         tests/ rather than in lib/.
55966         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
55967         argument. If true, add rules to generate libtests.a, and put libtests.a
55968         into $(LDADD). Consider source files in subdirectories and set
55969         uses_subdirs.
55970         (func_emit_initmacro_start, func_emit_initmacro_end,
55971         func_emit_initmacro_done): Pass all arguments explicitly.
55972         (func_import): Determine two module lists main_modules,
55973         testsrelated_modules. Determine use_libtests. Determine two variables
55974         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
55975         instead of just sed_transform_lib_file. Determine two variables
55976         main_files and testsrelated_files. Compute 'files' as the union of
55977         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
55978         func_add_or_update. In the generated gnulib-comp.m4, collect the
55979         object files for tests/ in different variables than those for lib/.
55980         Substitute LIBTESTS_LIBDEPS.
55981         (func_create_testdir): Combine the uses_subdirs results from
55982         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
55983
55984 2007-12-09  Bruno Haible  <bruno@clisp.org>
55985
55986         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
55987         the build-aux directory.
55988
55989 2007-12-09  Bruno Haible  <bruno@clisp.org>
55990
55991         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
55992         introduced on 2006-09-09.
55993
55994 2007-12-07  Jim Meyering  <meyering@redhat.com>
55995
55996         Let these macros work also with autoconf-2.59.
55997         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
55998         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
55999         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56000
56001 2007-12-06  Jim Meyering  <meyering@redhat.com>
56002
56003         Avoid a configure-time syntax error in gl_FUNC_ACL.
56004         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
56005         function in each branch, before testing the cache variable.
56006
56007 2007-12-04  Eric Blake  <ebb9@byu.net>
56008
56009         Make scripts executable.
56010         * build-aux/config.guess: Add execute permissions.
56011         * build-aux/config.sub: Likewise.
56012         * build-aux/gendocs.sh: Likewise.
56013
56014         Fix frexp on mingw.
56015         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
56016         cross-compiling.
56017         * doc/functions/frexp.texi (frexp): Document the bug.
56018
56019         Make cygwin fseeko check more reliable.
56020         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
56021         version numbers, rather than unrelated feature check.
56022         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
56023         * doc/functions/ftello.texi (ftello): Likewise.
56024         Reported by Bruno Haible.
56025
56026         * m4/strerror.m4: Bump version number.
56027
56028 2007-12-03  Bruno Haible  <bruno@clisp.org>
56029
56030         * doc/functions/mprotect.texi: Mention the mingw problem.
56031
56032 2007-12-03  Eric Blake  <ebb9@byu.net>
56033
56034         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
56035         REPLACE_STRERROR is initialized before this macro.
56036
56037 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
56038
56039         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
56040         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
56041         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
56042         put -lsec in even for programs other than 'ls'.  This fixes a problem
56043         for gettext reported by Bruno Haible in
56044         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
56045         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
56046         Add support for Solaris 10.  This isn't efficient, but should get the
56047         job done for now.
56048
56049 2007-12-03  James Youngman  <jay@gnu.org>
56050
56051         * doc/regexprops-generic.texi: change "an close-group" to "a
56052         close-group" and "illegal" to "not allowed".
56053
56054 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56055
56056         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
56057         pr_byname.h. Needed for the rare case when the maintainer has done
56058         "make maintainer-clean" in the source directory and then attempts a
56059         build outside the source directory.
56060         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
56061         scripts_byname.h.
56062
56063 2007-12-02  Martin Lambers <marlam@marlam.de>
56064             Bruno Haible  <bruno@clisp.org>
56065
56066         * lib/getpagesize.h: Remove file.
56067         * lib/unistd.in.h: Include declaration of getpagesize here.
56068         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
56069         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
56070         HAVE_SYS_PARAM_H.
56071         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
56072         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
56073         * modules/getpagesize (Files): Remove lib/getpagesize.h.
56074         (Depends-on): Add unistd.
56075         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56076         (Include): Use <unistd.h> instead of getpagesize.h.
56077         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
56078         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
56079         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
56080         gl_GETPAGESIZE invocation, already handled by module dependency.
56081         * lib/pagealign_alloc.c: Don't include getpagesize.h.
56082
56083 2007-12-02  Bruno Haible  <bruno@clisp.org>
56084
56085         * modules/strings-tests: New file.
56086         * tests/test-strings.c: New file.
56087
56088         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
56089         * lib/strings.in.h: New file.
56090         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
56091         * m4/strings_h.m4: New file.
56092         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
56093         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
56094         * modules/strings: New file.
56095         * modules/string (Makefile.am): Update.
56096         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
56097         Reported by Karl Berry.
56098
56099 2007-12-01  Eric Blake  <ebb9@byu.net>
56100
56101         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
56102         accomodate fix in cygwin 1.5.25.
56103
56104 2007-12-01  Jim Meyering  <meyering@redhat.com>
56105
56106         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
56107         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
56108         that would inhibit utf8-optimization of a regexp containing line-
56109         or buffer-anchors, e.g., `^', `$'.
56110
56111 2007-11-30  Bruno Haible  <bruno@clisp.org>
56112
56113         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
56114         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
56115         glthread_recursive_lock_init.
56116         * lib/lock.c (glthread_recursive_lock_init)
56117         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
56118         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56119
56120 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
56121
56122         New function qset_acl, like set_acl but with syscall semantics.
56123         * lib/acl.h (qset_acl): New decl.
56124         * lib/acl.c (qset_acl): New function.
56125         (set_acl): Use new function.  Use more-consistent diagnostics.
56126
56127 2007-11-28  Jim Meyering  <meyering@redhat.com>
56128
56129         * modules/physmem (License): Change from GPL to LGPLv2+.
56130
56131 2007-11-26  Bruno Haible  <bruno@clisp.org>
56132
56133         * lib/vasnprintf.c (decode_long_double): Don't abort if the
56134         'long double' type has excess precision.
56135         Reported by Jim Meyering in
56136         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
56137
56138 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56139
56140         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
56141         Sync from <http://gnu.org/licenses>.
56142         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
56143         with license text from same location.
56144         * doc/maintain.texi, doc/standards.texi:  Sync from
56145         <http://savannah.gnu.org/projects/gnustandards>.
56146
56147 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
56148         and Jim Meyering  <meyering@redhat.com>
56149
56150         Adjust getdate' grammar to accept a slightly more regular language.
56151         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
56152         Before, the former was rejected.
56153         * lib/getdate.y (digits_to_date_time): New function, factored
56154         out of ...
56155         (number): ...here.  Just call digits_to_date_time.
56156         (hybrid): New non-terminal to handle an <unsigned number,
56157         signed relative offset> sequence consistently.
56158
56159 2007-11-18  Jim Meyering  <meyering@redhat.com>
56160
56161         Pull my changes from coreutils:
56162         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
56163         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
56164         use of $gnulib_tool_option_extras, so that it's separated from the
56165         preceding argument.
56166
56167         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
56168         * build-aux/bootstrap (cp_mark_as_generated): Create any required
56169         parent destination directories before copying a file into place.
56170
56171 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
56172
56173         bootstrap: work also with 4-argument variant of AC_INIT
56174         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
56175
56176 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56177
56178         Port test-getaddrinfo to Solaris.
56179         Problem reported by Bruno Haible in
56180         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
56181         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
56182         explanation of setting 'hints'.
56183         Don't reject an implementation merely because it returns EAI_SERVICE.
56184         (EAI_SERVICE): Define to 0 if not defined.
56185
56186 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
56187
56188         The license of gnu-make and posix-shell is now "GPLed build tool".
56189         * modules/gnu-make (License): Likewise.
56190         * modules/posix-shell (License): Likewise.
56191
56192         New module posix-shell, for determining a POSIX shell
56193         or perhaps something that is close enough to a POSIX shell.
56194         * m4/posix-shell.m4: New file.
56195         * modules/posix-shell: New file.
56196
56197         * MODULES.html.sh: Mention new module.
56198
56199         New module gnu-make, for determining whether we're using GNU Make.
56200         * m4/gnu-make.m4: New file.
56201         * modules/gnu-make: New file.
56202         * MODULES.html.sh: Mention new module.
56203
56204 2007-11-14  Jim Meyering  <meyering@redhat.com>
56205
56206         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
56207         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
56208         use this macro to create a function _definition_.
56209         Remove useless "#undef ARGMATCH_DIE".
56210
56211 2007-11-14  Bruno Haible  <bruno@clisp.org>
56212
56213         * lib/config.charset: Update for OpenBSD 4.1.
56214         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
56215
56216 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
56217
56218         Document 64-bit #if problems in stdint.texi.
56219         * doc/headers/stdint.texi (stdint.h): Mention problems with
56220         64-bit-#if, and how to work around them.
56221
56222         Don't insist on 'long long int' support in the preprocessor.  It
56223         breaks too many things.  For example, PRIdMAX still uses a 'long
56224         long int' format with the latest Sun compiler, even though
56225         HAVE_LONG_LONG_INT isn't defined due to that compiler's
56226         preprocessor problem.  This causes the latest coreutils to dump
56227         core on Solaris 10 sparc with the Sun C compiler.
56228         Instead, fix the 2007-10-16 problem in a different way, by evaluating
56229         the troublesome expressions at configure-time, not at #if-time.
56230         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
56231         preprocessor.
56232         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
56233         compile-time C checks, done at 'configure'-time.
56234         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
56235         * modules/inttypes (Makefile): Substitute the new symbols that
56236         gl_INTTYPES_H now generates.
56237         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
56238
56239 2007-11-12  Bruno Haible  <bruno@clisp.org>
56240
56241         Tests for Unicode character classification functions.
56242
56243         * modules/unictype/bidicategory-byname-tests: New file.
56244         * modules/unictype/bidicategory-name-tests: New file.
56245         * modules/unictype/bidicategory-of-tests: New file.
56246         * modules/unictype/bidicategory-test-tests: New file.
56247         * modules/unictype/block-list-tests: New file.
56248         * modules/unictype/block-of-tests: New file.
56249         * modules/unictype/block-test-tests: New file.
56250         * modules/unictype/category-C-tests: New file.
56251         * modules/unictype/category-Cc-tests: New file.
56252         * modules/unictype/category-Cf-tests: New file.
56253         * modules/unictype/category-Cn-tests: New file.
56254         * modules/unictype/category-Co-tests: New file.
56255         * modules/unictype/category-Cs-tests: New file.
56256         * modules/unictype/category-L-tests: New file.
56257         * modules/unictype/category-Ll-tests: New file.
56258         * modules/unictype/category-Lm-tests: New file.
56259         * modules/unictype/category-Lo-tests: New file.
56260         * modules/unictype/category-Lt-tests: New file.
56261         * modules/unictype/category-Lu-tests: New file.
56262         * modules/unictype/category-M-tests: New file.
56263         * modules/unictype/category-Mc-tests: New file.
56264         * modules/unictype/category-Me-tests: New file.
56265         * modules/unictype/category-Mn-tests: New file.
56266         * modules/unictype/category-N-tests: New file.
56267         * modules/unictype/category-Nd-tests: New file.
56268         * modules/unictype/category-Nl-tests: New file.
56269         * modules/unictype/category-No-tests: New file.
56270         * modules/unictype/category-P-tests: New file.
56271         * modules/unictype/category-Pc-tests: New file.
56272         * modules/unictype/category-Pd-tests: New file.
56273         * modules/unictype/category-Pe-tests: New file.
56274         * modules/unictype/category-Pf-tests: New file.
56275         * modules/unictype/category-Pi-tests: New file.
56276         * modules/unictype/category-Po-tests: New file.
56277         * modules/unictype/category-Ps-tests: New file.
56278         * modules/unictype/category-S-tests: New file.
56279         * modules/unictype/category-Sc-tests: New file.
56280         * modules/unictype/category-Sk-tests: New file.
56281         * modules/unictype/category-Sm-tests: New file.
56282         * modules/unictype/category-So-tests: New file.
56283         * modules/unictype/category-Z-tests: New file.
56284         * modules/unictype/category-Zl-tests: New file.
56285         * modules/unictype/category-Zp-tests: New file.
56286         * modules/unictype/category-Zs-tests: New file.
56287         * modules/unictype/category-and-not-tests: New file.
56288         * modules/unictype/category-and-tests: New file.
56289         * modules/unictype/category-byname-tests: New file.
56290         * modules/unictype/category-name-tests: New file.
56291         * modules/unictype/category-none-tests: New file.
56292         * modules/unictype/category-of-tests: New file.
56293         * modules/unictype/category-or-tests: New file.
56294         * modules/unictype/category-test-withtable-tests: New file.
56295         * modules/unictype/combining-class-tests: New file.
56296         * modules/unictype/ctype-alnum-tests: New file.
56297         * modules/unictype/ctype-alpha-tests: New file.
56298         * modules/unictype/ctype-blank-tests: New file.
56299         * modules/unictype/ctype-cntrl-tests: New file.
56300         * modules/unictype/ctype-digit-tests: New file.
56301         * modules/unictype/ctype-graph-tests: New file.
56302         * modules/unictype/ctype-lower-tests: New file.
56303         * modules/unictype/ctype-print-tests: New file.
56304         * modules/unictype/ctype-punct-tests: New file.
56305         * modules/unictype/ctype-space-tests: New file.
56306         * modules/unictype/ctype-upper-tests: New file.
56307         * modules/unictype/ctype-xdigit-tests: New file.
56308         * modules/unictype/decimal-digit-tests: New file.
56309         * modules/unictype/digit-tests: New file.
56310         * modules/unictype/mirror-tests: New file.
56311         * modules/unictype/numeric-tests: New file.
56312         * modules/unictype/property-alphabetic-tests: New file.
56313         * modules/unictype/property-ascii-hex-digit-tests: New file.
56314         * modules/unictype/property-bidi-arabic-digit-tests: New file.
56315         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
56316         * modules/unictype/property-bidi-block-separator-tests: New file.
56317         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
56318         * modules/unictype/property-bidi-common-separator-tests: New file.
56319         * modules/unictype/property-bidi-control-tests: New file.
56320         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
56321         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
56322         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
56323         * modules/unictype/property-bidi-european-digit-tests: New file.
56324         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
56325         * modules/unictype/property-bidi-left-to-right-tests: New file.
56326         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
56327         * modules/unictype/property-bidi-other-neutral-tests: New file.
56328         * modules/unictype/property-bidi-pdf-tests: New file.
56329         * modules/unictype/property-bidi-segment-separator-tests: New file.
56330         * modules/unictype/property-bidi-whitespace-tests: New file.
56331         * modules/unictype/property-byname-tests: New file.
56332         * modules/unictype/property-combining-tests: New file.
56333         * modules/unictype/property-composite-tests: New file.
56334         * modules/unictype/property-currency-symbol-tests: New file.
56335         * modules/unictype/property-dash-tests: New file.
56336         * modules/unictype/property-decimal-digit-tests: New file.
56337         * modules/unictype/property-default-ignorable-code-point-tests: New file.
56338         * modules/unictype/property-deprecated-tests: New file.
56339         * modules/unictype/property-diacritic-tests: New file.
56340         * modules/unictype/property-extender-tests: New file.
56341         * modules/unictype/property-format-control-tests: New file.
56342         * modules/unictype/property-grapheme-base-tests: New file.
56343         * modules/unictype/property-grapheme-extend-tests: New file.
56344         * modules/unictype/property-grapheme-link-tests: New file.
56345         * modules/unictype/property-hex-digit-tests: New file.
56346         * modules/unictype/property-hyphen-tests: New file.
56347         * modules/unictype/property-id-continue-tests: New file.
56348         * modules/unictype/property-id-start-tests: New file.
56349         * modules/unictype/property-ideographic-tests: New file.
56350         * modules/unictype/property-ids-binary-operator-tests: New file.
56351         * modules/unictype/property-ids-trinary-operator-tests: New file.
56352         * modules/unictype/property-ignorable-control-tests: New file.
56353         * modules/unictype/property-iso-control-tests: New file.
56354         * modules/unictype/property-join-control-tests: New file.
56355         * modules/unictype/property-left-of-pair-tests: New file.
56356         * modules/unictype/property-line-separator-tests: New file.
56357         * modules/unictype/property-logical-order-exception-tests: New file.
56358         * modules/unictype/property-lowercase-tests: New file.
56359         * modules/unictype/property-math-tests: New file.
56360         * modules/unictype/property-non-break-tests: New file.
56361         * modules/unictype/property-not-a-character-tests: New file.
56362         * modules/unictype/property-numeric-tests: New file.
56363         * modules/unictype/property-other-alphabetic-tests: New file.
56364         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
56365         * modules/unictype/property-other-grapheme-extend-tests: New file.
56366         * modules/unictype/property-other-id-continue-tests: New file.
56367         * modules/unictype/property-other-id-start-tests: New file.
56368         * modules/unictype/property-other-lowercase-tests: New file.
56369         * modules/unictype/property-other-math-tests: New file.
56370         * modules/unictype/property-other-uppercase-tests: New file.
56371         * modules/unictype/property-paired-punctuation-tests: New file.
56372         * modules/unictype/property-paragraph-separator-tests: New file.
56373         * modules/unictype/property-pattern-syntax-tests: New file.
56374         * modules/unictype/property-pattern-white-space-tests: New file.
56375         * modules/unictype/property-private-use-tests: New file.
56376         * modules/unictype/property-punctuation-tests: New file.
56377         * modules/unictype/property-quotation-mark-tests: New file.
56378         * modules/unictype/property-radical-tests: New file.
56379         * modules/unictype/property-sentence-terminal-tests: New file.
56380         * modules/unictype/property-soft-dotted-tests: New file.
56381         * modules/unictype/property-space-tests: New file.
56382         * modules/unictype/property-terminal-punctuation-tests: New file.
56383         * modules/unictype/property-test-tests: New file.
56384         * modules/unictype/property-titlecase-tests: New file.
56385         * modules/unictype/property-unassigned-code-value-tests: New file.
56386         * modules/unictype/property-unified-ideograph-tests: New file.
56387         * modules/unictype/property-uppercase-tests: New file.
56388         * modules/unictype/property-variation-selector-tests: New file.
56389         * modules/unictype/property-white-space-tests: New file.
56390         * modules/unictype/property-xid-continue-tests: New file.
56391         * modules/unictype/property-xid-start-tests: New file.
56392         * modules/unictype/property-zero-width-tests: New file.
56393         * modules/unictype/scripts-tests: New file.
56394         * modules/unictype/syntax-c-ident-tests: New file.
56395         * modules/unictype/syntax-c-whitespace-tests: New file.
56396         * modules/unictype/syntax-java-ident-tests: New file.
56397         * modules/unictype/syntax-java-whitespace-tests: New file.
56398         * tests/unictype/test-bidi_byname.c: New file.
56399         * tests/unictype/test-bidi_name.c: New file.
56400         * tests/unictype/test-bidi_of.c: New file.
56401         * tests/unictype/test-bidi_test.c: New file.
56402         * tests/unictype/test-block_list.c: New file.
56403         * tests/unictype/test-block_of.c: New file.
56404         * tests/unictype/test-block_test.c: New file.
56405         * tests/unictype/test-categ_and.c: New file.
56406         * tests/unictype/test-categ_and_not.c: New file.
56407         * tests/unictype/test-categ_byname.c: New file.
56408         * tests/unictype/test-categ_name.c: New file.
56409         * tests/unictype/test-categ_none.c: New file.
56410         * tests/unictype/test-categ_of.c: New file.
56411         * tests/unictype/test-categ_or.c: New file.
56412         * tests/unictype/test-categ_test_withtable.c: New file.
56413         * tests/unictype/test-combining.c: New file.
56414         * tests/unictype/test-decdigit.c: New file.
56415         * tests/unictype/test-digit.c: New file.
56416         * tests/unictype/test-mirror.c: New file.
56417         * tests/unictype/test-numeric.c: New file.
56418         * tests/unictype/test-pr_byname.c: New file.
56419         * tests/unictype/test-pr_test.c: New file.
56420         * tests/unictype/test-predicate-part1.h: New file.
56421         * tests/unictype/test-predicate-part2.h: New file.
56422         * tests/unictype/test-scripts.c: New file.
56423         * tests/unictype/test-sy_c_ident.c: New file.
56424         * tests/unictype/test-sy_java_ident.c: New file.
56425
56426         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
56427         for Unicode 5.0.0.
56428         * tests/unictype/test-categ_Cc.c: Likewise.
56429         * tests/unictype/test-categ_Cf.c: Likewise.
56430         * tests/unictype/test-categ_Cn.c: Likewise.
56431         * tests/unictype/test-categ_Co.c: Likewise.
56432         * tests/unictype/test-categ_Cs.c: Likewise.
56433         * tests/unictype/test-categ_L.c: Likewise.
56434         * tests/unictype/test-categ_Ll.c: Likewise.
56435         * tests/unictype/test-categ_Lm.c: Likewise.
56436         * tests/unictype/test-categ_Lo.c: Likewise.
56437         * tests/unictype/test-categ_Lt.c: Likewise.
56438         * tests/unictype/test-categ_Lu.c: Likewise.
56439         * tests/unictype/test-categ_M.c: Likewise.
56440         * tests/unictype/test-categ_Mc.c: Likewise.
56441         * tests/unictype/test-categ_Me.c: Likewise.
56442         * tests/unictype/test-categ_Mn.c: Likewise.
56443         * tests/unictype/test-categ_N.c: Likewise.
56444         * tests/unictype/test-categ_Nd.c: Likewise.
56445         * tests/unictype/test-categ_Nl.c: Likewise.
56446         * tests/unictype/test-categ_No.c: Likewise.
56447         * tests/unictype/test-categ_P.c: Likewise.
56448         * tests/unictype/test-categ_Pc.c: Likewise.
56449         * tests/unictype/test-categ_Pd.c: Likewise.
56450         * tests/unictype/test-categ_Pe.c: Likewise.
56451         * tests/unictype/test-categ_Pf.c: Likewise.
56452         * tests/unictype/test-categ_Pi.c: Likewise.
56453         * tests/unictype/test-categ_Po.c: Likewise.
56454         * tests/unictype/test-categ_Ps.c: Likewise.
56455         * tests/unictype/test-categ_S.c: Likewise.
56456         * tests/unictype/test-categ_Sc.c: Likewise.
56457         * tests/unictype/test-categ_Sk.c: Likewise.
56458         * tests/unictype/test-categ_Sm.c: Likewise.
56459         * tests/unictype/test-categ_So.c: Likewise.
56460         * tests/unictype/test-categ_Z.c: Likewise.
56461         * tests/unictype/test-categ_Zl.c: Likewise.
56462         * tests/unictype/test-categ_Zp.c: Likewise.
56463         * tests/unictype/test-categ_Zs.c: Likewise.
56464         * tests/unictype/test-ctype_alnum.c: Likewise.
56465         * tests/unictype/test-ctype_alpha.c: Likewise.
56466         * tests/unictype/test-ctype_blank.c: Likewise.
56467         * tests/unictype/test-ctype_cntrl.c: Likewise.
56468         * tests/unictype/test-ctype_digit.c: Likewise.
56469         * tests/unictype/test-ctype_graph.c: Likewise.
56470         * tests/unictype/test-ctype_lower.c: Likewise.
56471         * tests/unictype/test-ctype_print.c: Likewise.
56472         * tests/unictype/test-ctype_punct.c: Likewise.
56473         * tests/unictype/test-ctype_space.c: Likewise.
56474         * tests/unictype/test-ctype_upper.c: Likewise.
56475         * tests/unictype/test-ctype_xdigit.c: Likewise.
56476         * tests/unictype/test-decdigit.h: Likewise.
56477         * tests/unictype/test-digit.h: Likewise.
56478         * tests/unictype/test-numeric.h: Likewise.
56479         * tests/unictype/test-pr_alphabetic.c: Likewise.
56480         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
56481         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
56482         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
56483         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
56484         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
56485         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
56486         * tests/unictype/test-pr_bidi_control.c: Likewise.
56487         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
56488         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
56489         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
56490         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
56491         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
56492         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
56493         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
56494         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
56495         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
56496         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
56497         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
56498         * tests/unictype/test-pr_combining.c: Likewise.
56499         * tests/unictype/test-pr_composite.c: Likewise.
56500         * tests/unictype/test-pr_currency_symbol.c: Likewise.
56501         * tests/unictype/test-pr_dash.c: Likewise.
56502         * tests/unictype/test-pr_decimal_digit.c: Likewise.
56503         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
56504         * tests/unictype/test-pr_deprecated.c: Likewise.
56505         * tests/unictype/test-pr_diacritic.c: Likewise.
56506         * tests/unictype/test-pr_extender.c: Likewise.
56507         * tests/unictype/test-pr_format_control.c: Likewise.
56508         * tests/unictype/test-pr_grapheme_base.c: Likewise.
56509         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
56510         * tests/unictype/test-pr_grapheme_link.c: Likewise.
56511         * tests/unictype/test-pr_hex_digit.c: Likewise.
56512         * tests/unictype/test-pr_hyphen.c: Likewise.
56513         * tests/unictype/test-pr_id_continue.c: Likewise.
56514         * tests/unictype/test-pr_id_start.c: Likewise.
56515         * tests/unictype/test-pr_ideographic.c: Likewise.
56516         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
56517         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
56518         * tests/unictype/test-pr_ignorable_control.c: Likewise.
56519         * tests/unictype/test-pr_iso_control.c: Likewise.
56520         * tests/unictype/test-pr_join_control.c: Likewise.
56521         * tests/unictype/test-pr_left_of_pair.c: Likewise.
56522         * tests/unictype/test-pr_line_separator.c: Likewise.
56523         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
56524         * tests/unictype/test-pr_lowercase.c: Likewise.
56525         * tests/unictype/test-pr_math.c: Likewise.
56526         * tests/unictype/test-pr_non_break.c: Likewise.
56527         * tests/unictype/test-pr_not_a_character.c: Likewise.
56528         * tests/unictype/test-pr_numeric.c: Likewise.
56529         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
56530         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
56531         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
56532         * tests/unictype/test-pr_other_id_continue.c: Likewise.
56533         * tests/unictype/test-pr_other_id_start.c: Likewise.
56534         * tests/unictype/test-pr_other_lowercase.c: Likewise.
56535         * tests/unictype/test-pr_other_math.c: Likewise.
56536         * tests/unictype/test-pr_other_uppercase.c: Likewise.
56537         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
56538         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
56539         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
56540         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
56541         * tests/unictype/test-pr_private_use.c: Likewise.
56542         * tests/unictype/test-pr_punctuation.c: Likewise.
56543         * tests/unictype/test-pr_quotation_mark.c: Likewise.
56544         * tests/unictype/test-pr_radical.c: Likewise.
56545         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
56546         * tests/unictype/test-pr_soft_dotted.c: Likewise.
56547         * tests/unictype/test-pr_space.c: Likewise.
56548         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
56549         * tests/unictype/test-pr_titlecase.c: Likewise.
56550         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
56551         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
56552         * tests/unictype/test-pr_uppercase.c: Likewise.
56553         * tests/unictype/test-pr_variation_selector.c: Likewise.
56554         * tests/unictype/test-pr_white_space.c: Likewise.
56555         * tests/unictype/test-pr_xid_continue.c: Likewise.
56556         * tests/unictype/test-pr_xid_start.c: Likewise.
56557         * tests/unictype/test-pr_zero_width.c: Likewise.
56558         * tests/unictype/test-sy_c_whitespace.c: Likewise.
56559         * tests/unictype/test-sy_java_whitespace.c: Likewise.
56560
56561 2007-11-12  Bruno Haible  <bruno@clisp.org>
56562
56563         Unicode character classification functions.
56564         * lib/unictype.h: New file.
56565         * modules/unictype/base: New file.
56566         * modules/unictype/category-L: New file.
56567         * modules/unictype/category-Lu: New file.
56568         * modules/unictype/category-Ll: New file.
56569         * modules/unictype/category-Lt: New file.
56570         * modules/unictype/category-Lm: New file.
56571         * modules/unictype/category-Lo: New file.
56572         * modules/unictype/category-M: New file.
56573         * modules/unictype/category-Mn: New file.
56574         * modules/unictype/category-Mc: New file.
56575         * modules/unictype/category-Me: New file.
56576         * modules/unictype/category-N: New file.
56577         * modules/unictype/category-Nd: New file.
56578         * modules/unictype/category-Nl: New file.
56579         * modules/unictype/category-No: New file.
56580         * modules/unictype/category-P: New file.
56581         * modules/unictype/category-Pc: New file.
56582         * modules/unictype/category-Pd: New file.
56583         * modules/unictype/category-Ps: New file.
56584         * modules/unictype/category-Pe: New file.
56585         * modules/unictype/category-Pi: New file.
56586         * modules/unictype/category-Pf: New file.
56587         * modules/unictype/category-Po: New file.
56588         * modules/unictype/category-S: New file.
56589         * modules/unictype/category-Sm: New file.
56590         * modules/unictype/category-Sc: New file.
56591         * modules/unictype/category-Sk: New file.
56592         * modules/unictype/category-So: New file.
56593         * modules/unictype/category-Z: New file.
56594         * modules/unictype/category-Zs: New file.
56595         * modules/unictype/category-Zl: New file.
56596         * modules/unictype/category-Zp: New file.
56597         * modules/unictype/category-C: New file.
56598         * modules/unictype/category-Cc: New file.
56599         * modules/unictype/category-Cf: New file.
56600         * modules/unictype/category-Cs: New file.
56601         * modules/unictype/category-Co: New file.
56602         * modules/unictype/category-Cn: New file.
56603         * modules/unictype/category-or: New file.
56604         * modules/unictype/category-of: New file.
56605         * modules/unictype/category-test: New file.
56606         * modules/unictype/category-test-withtable: New file.
56607         * modules/unictype/category-byname: New file.
56608         * modules/unictype/category-none: New file.
56609         * modules/unictype/category-and: New file.
56610         * modules/unictype/category-and-not: New file.
56611         * modules/unictype/category-name: New file.
56612         * modules/unictype/combining-class: New file.
56613         * modules/unictype/category-all: New file.
56614         * modules/unictype/bidicategory-all: New file.
56615         * modules/unictype/bidicategory-byname: New file.
56616         * modules/unictype/bidicategory-name: New file.
56617         * modules/unictype/bidicategory-of: New file.
56618         * modules/unictype/bidicategory-test: New file.
56619         * modules/unictype/decimal-digit: New file.
56620         * modules/unictype/digit: New file.
56621         * modules/unictype/numeric: New file.
56622         * modules/unictype/mirror: New file.
56623         * modules/unictype/property-white-space: New file.
56624         * modules/unictype/property-alphabetic: New file.
56625         * modules/unictype/property-other-alphabetic: New file.
56626         * modules/unictype/property-not-a-character: New file.
56627         * modules/unictype/property-default-ignorable-code-point: New file.
56628         * modules/unictype/property-other-default-ignorable-code-point: New
56629         file.
56630         * modules/unictype/property-deprecated: New file.
56631         * modules/unictype/property-logical-order-exception: New file.
56632         * modules/unictype/property-variation-selector: New file.
56633         * modules/unictype/property-private-use: New file.
56634         * modules/unictype/property-unassigned-code-value: New file.
56635         * modules/unictype/property-uppercase: New file.
56636         * modules/unictype/property-other-uppercase: New file.
56637         * modules/unictype/property-lowercase: New file.
56638         * modules/unictype/property-other-lowercase: New file.
56639         * modules/unictype/property-titlecase: New file.
56640         * modules/unictype/property-soft-dotted: New file.
56641         * modules/unictype/property-id-start: New file.
56642         * modules/unictype/property-other-id-start: New file.
56643         * modules/unictype/property-id-continue: New file.
56644         * modules/unictype/property-other-id-continue: New file.
56645         * modules/unictype/property-xid-start: New file.
56646         * modules/unictype/property-xid-continue: New file.
56647         * modules/unictype/property-pattern-white-space: New file.
56648         * modules/unictype/property-pattern-syntax: New file.
56649         * modules/unictype/property-join-control: New file.
56650         * modules/unictype/property-grapheme-base: New file.
56651         * modules/unictype/property-grapheme-extend: New file.
56652         * modules/unictype/property-other-grapheme-extend: New file.
56653         * modules/unictype/property-grapheme-link: New file.
56654         * modules/unictype/property-bidi-control: New file.
56655         * modules/unictype/property-bidi-left-to-right: New file.
56656         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
56657         * modules/unictype/property-bidi-arabic-right-to-left: New file.
56658         * modules/unictype/property-bidi-european-digit: New file.
56659         * modules/unictype/property-bidi-eur-num-separator: New file.
56660         * modules/unictype/property-bidi-eur-num-terminator: New file.
56661         * modules/unictype/property-bidi-arabic-digit: New file.
56662         * modules/unictype/property-bidi-common-separator: New file.
56663         * modules/unictype/property-bidi-block-separator: New file.
56664         * modules/unictype/property-bidi-segment-separator: New file.
56665         * modules/unictype/property-bidi-whitespace: New file.
56666         * modules/unictype/property-bidi-non-spacing-mark: New file.
56667         * modules/unictype/property-bidi-boundary-neutral: New file.
56668         * modules/unictype/property-bidi-pdf: New file.
56669         * modules/unictype/property-bidi-embedding-or-override: New file.
56670         * modules/unictype/property-bidi-other-neutral: New file.
56671         * modules/unictype/property-hex-digit: New file.
56672         * modules/unictype/property-ascii-hex-digit: New file.
56673         * modules/unictype/property-ideographic: New file.
56674         * modules/unictype/property-unified-ideograph: New file.
56675         * modules/unictype/property-radical: New file.
56676         * modules/unictype/property-ids-binary-operator: New file.
56677         * modules/unictype/property-ids-trinary-operator: New file.
56678         * modules/unictype/property-zero-width: New file.
56679         * modules/unictype/property-space: New file.
56680         * modules/unictype/property-non-break: New file.
56681         * modules/unictype/property-iso-control: New file.
56682         * modules/unictype/property-format-control: New file.
56683         * modules/unictype/property-dash: New file.
56684         * modules/unictype/property-hyphen: New file.
56685         * modules/unictype/property-punctuation: New file.
56686         * modules/unictype/property-line-separator: New file.
56687         * modules/unictype/property-paragraph-separator: New file.
56688         * modules/unictype/property-quotation-mark: New file.
56689         * modules/unictype/property-sentence-terminal: New file.
56690         * modules/unictype/property-terminal-punctuation: New file.
56691         * modules/unictype/property-currency-symbol: New file.
56692         * modules/unictype/property-math: New file.
56693         * modules/unictype/property-other-math: New file.
56694         * modules/unictype/property-paired-punctuation: New file.
56695         * modules/unictype/property-left-of-pair: New file.
56696         * modules/unictype/property-combining: New file.
56697         * modules/unictype/property-composite: New file.
56698         * modules/unictype/property-decimal-digit: New file.
56699         * modules/unictype/property-numeric: New file.
56700         * modules/unictype/property-diacritic: New file.
56701         * modules/unictype/property-extender: New file.
56702         * modules/unictype/property-ignorable-control: New file.
56703         * modules/unictype/property-test: New file.
56704         * modules/unictype/property-byname: New file.
56705         * modules/unictype/property-all: New file.
56706         * modules/unictype/scripts: New file.
56707         * modules/unictype/scripts-all: New file.
56708         * modules/unictype/block-of: New file.
56709         * modules/unictype/block-test: New file.
56710         * modules/unictype/block-list: New file.
56711         * modules/unictype/block-all: New file.
56712         * modules/unictype/syntax-c-whitespace: New file.
56713         * modules/unictype/syntax-java-whitespace: New file.
56714         * modules/unictype/syntax-c-ident: New file.
56715         * modules/unictype/syntax-java-ident: New file.
56716         * modules/unictype/ctype-alnum: New file.
56717         * modules/unictype/ctype-alpha: New file.
56718         * modules/unictype/ctype-cntrl: New file.
56719         * modules/unictype/ctype-digit: New file.
56720         * modules/unictype/ctype-graph: New file.
56721         * modules/unictype/ctype-lower: New file.
56722         * modules/unictype/ctype-print: New file.
56723         * modules/unictype/ctype-punct: New file.
56724         * modules/unictype/ctype-space: New file.
56725         * modules/unictype/ctype-upper: New file.
56726         * modules/unictype/ctype-xdigit: New file.
56727         * modules/unictype/ctype-blank: New file.
56728         * lib/unictype/bidi_byname.c: New file.
56729         * lib/unictype/bidi_name.c: New file.
56730         * lib/unictype/bidi_of.c: New file.
56731         * lib/unictype/bidi_test.c: New file.
56732         * lib/unictype/bitmap.h: New file.
56733         * lib/unictype/block_test.c: New file.
56734         * lib/unictype/blocks.c: New file.
56735         * lib/unictype/categ_C.c: New file.
56736         * lib/unictype/categ_Cc.c: New file.
56737         * lib/unictype/categ_Cf.c: New file.
56738         * lib/unictype/categ_Cn.c: New file.
56739         * lib/unictype/categ_Co.c: New file.
56740         * lib/unictype/categ_Cs.c: New file.
56741         * lib/unictype/categ_L.c: New file.
56742         * lib/unictype/categ_Ll.c: New file.
56743         * lib/unictype/categ_Lm.c: New file.
56744         * lib/unictype/categ_Lo.c: New file.
56745         * lib/unictype/categ_Lt.c: New file.
56746         * lib/unictype/categ_Lu.c: New file.
56747         * lib/unictype/categ_M.c: New file.
56748         * lib/unictype/categ_Mc.c: New file.
56749         * lib/unictype/categ_Me.c: New file.
56750         * lib/unictype/categ_Mn.c: New file.
56751         * lib/unictype/categ_N.c: New file.
56752         * lib/unictype/categ_Nd.c: New file.
56753         * lib/unictype/categ_Nl.c: New file.
56754         * lib/unictype/categ_No.c: New file.
56755         * lib/unictype/categ_P.c: New file.
56756         * lib/unictype/categ_Pc.c: New file.
56757         * lib/unictype/categ_Pd.c: New file.
56758         * lib/unictype/categ_Pe.c: New file.
56759         * lib/unictype/categ_Pf.c: New file.
56760         * lib/unictype/categ_Pi.c: New file.
56761         * lib/unictype/categ_Po.c: New file.
56762         * lib/unictype/categ_Ps.c: New file.
56763         * lib/unictype/categ_S.c: New file.
56764         * lib/unictype/categ_Sc.c: New file.
56765         * lib/unictype/categ_Sk.c: New file.
56766         * lib/unictype/categ_Sm.c: New file.
56767         * lib/unictype/categ_So.c: New file.
56768         * lib/unictype/categ_Z.c: New file.
56769         * lib/unictype/categ_Zl.c: New file.
56770         * lib/unictype/categ_Zp.c: New file.
56771         * lib/unictype/categ_Zs.c: New file.
56772         * lib/unictype/categ_and.c: New file.
56773         * lib/unictype/categ_and_not.c: New file.
56774         * lib/unictype/categ_byname.c: New file.
56775         * lib/unictype/categ_name.c: New file.
56776         * lib/unictype/categ_none.c: New file.
56777         * lib/unictype/categ_of.c: New file.
56778         * lib/unictype/categ_or.c: New file.
56779         * lib/unictype/categ_test.c: New file.
56780         * lib/unictype/combining.c: New file.
56781         * lib/unictype/ctype_alnum.c: New file.
56782         * lib/unictype/ctype_alpha.c: New file.
56783         * lib/unictype/ctype_blank.c: New file.
56784         * lib/unictype/ctype_cntrl.c: New file.
56785         * lib/unictype/ctype_digit.c: New file.
56786         * lib/unictype/ctype_graph.c: New file.
56787         * lib/unictype/ctype_lower.c: New file.
56788         * lib/unictype/ctype_print.c: New file.
56789         * lib/unictype/ctype_punct.c: New file.
56790         * lib/unictype/ctype_space.c: New file.
56791         * lib/unictype/ctype_upper.c: New file.
56792         * lib/unictype/ctype_xdigit.c: New file.
56793         * lib/unictype/decdigit.c: New file.
56794         * lib/unictype/digit.c: New file.
56795         * lib/unictype/identsyntaxmap.h: New file.
56796         * lib/unictype/mirror.c: New file.
56797         * lib/unictype/numeric.c: New file.
56798         * lib/unictype/pr_alphabetic.c: New file.
56799         * lib/unictype/pr_ascii_hex_digit.c: New file.
56800         * lib/unictype/pr_bidi_arabic_digit.c: New file.
56801         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
56802         * lib/unictype/pr_bidi_block_separator.c: New file.
56803         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
56804         * lib/unictype/pr_bidi_common_separator.c: New file.
56805         * lib/unictype/pr_bidi_control.c: New file.
56806         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
56807         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
56808         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
56809         * lib/unictype/pr_bidi_european_digit.c: New file.
56810         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
56811         * lib/unictype/pr_bidi_left_to_right.c: New file.
56812         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
56813         * lib/unictype/pr_bidi_other_neutral.c: New file.
56814         * lib/unictype/pr_bidi_pdf.c: New file.
56815         * lib/unictype/pr_bidi_segment_separator.c: New file.
56816         * lib/unictype/pr_bidi_whitespace.c: New file.
56817         * lib/unictype/pr_byname.c: New file.
56818         * lib/unictype/pr_byname.gperf: New file.
56819         * lib/unictype/pr_combining.c: New file.
56820         * lib/unictype/pr_composite.c: New file.
56821         * lib/unictype/pr_currency_symbol.c: New file.
56822         * lib/unictype/pr_dash.c: New file.
56823         * lib/unictype/pr_decimal_digit.c: New file.
56824         * lib/unictype/pr_default_ignorable_code_point.c: New file.
56825         * lib/unictype/pr_deprecated.c: New file.
56826         * lib/unictype/pr_diacritic.c: New file.
56827         * lib/unictype/pr_extender.c: New file.
56828         * lib/unictype/pr_format_control.c: New file.
56829         * lib/unictype/pr_grapheme_base.c: New file.
56830         * lib/unictype/pr_grapheme_extend.c: New file.
56831         * lib/unictype/pr_grapheme_link.c: New file.
56832         * lib/unictype/pr_hex_digit.c: New file.
56833         * lib/unictype/pr_hyphen.c: New file.
56834         * lib/unictype/pr_id_continue.c: New file.
56835         * lib/unictype/pr_id_start.c: New file.
56836         * lib/unictype/pr_ideographic.c: New file.
56837         * lib/unictype/pr_ids_binary_operator.c: New file.
56838         * lib/unictype/pr_ids_trinary_operator.c: New file.
56839         * lib/unictype/pr_ignorable_control.c: New file.
56840         * lib/unictype/pr_iso_control.c: New file.
56841         * lib/unictype/pr_join_control.c: New file.
56842         * lib/unictype/pr_left_of_pair.c: New file.
56843         * lib/unictype/pr_line_separator.c: New file.
56844         * lib/unictype/pr_logical_order_exception.c: New file.
56845         * lib/unictype/pr_lowercase.c: New file.
56846         * lib/unictype/pr_math.c: New file.
56847         * lib/unictype/pr_non_break.c: New file.
56848         * lib/unictype/pr_not_a_character.c: New file.
56849         * lib/unictype/pr_numeric.c: New file.
56850         * lib/unictype/pr_other_alphabetic.c: New file.
56851         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
56852         * lib/unictype/pr_other_grapheme_extend.c: New file.
56853         * lib/unictype/pr_other_id_continue.c: New file.
56854         * lib/unictype/pr_other_id_start.c: New file.
56855         * lib/unictype/pr_other_lowercase.c: New file.
56856         * lib/unictype/pr_other_math.c: New file.
56857         * lib/unictype/pr_other_uppercase.c: New file.
56858         * lib/unictype/pr_paired_punctuation.c: New file.
56859         * lib/unictype/pr_paragraph_separator.c: New file.
56860         * lib/unictype/pr_pattern_syntax.c: New file.
56861         * lib/unictype/pr_pattern_white_space.c: New file.
56862         * lib/unictype/pr_private_use.c: New file.
56863         * lib/unictype/pr_punctuation.c: New file.
56864         * lib/unictype/pr_quotation_mark.c: New file.
56865         * lib/unictype/pr_radical.c: New file.
56866         * lib/unictype/pr_sentence_terminal.c: New file.
56867         * lib/unictype/pr_soft_dotted.c: New file.
56868         * lib/unictype/pr_space.c: New file.
56869         * lib/unictype/pr_terminal_punctuation.c: New file.
56870         * lib/unictype/pr_test.c: New file.
56871         * lib/unictype/pr_titlecase.c: New file.
56872         * lib/unictype/pr_unassigned_code_value.c: New file.
56873         * lib/unictype/pr_unified_ideograph.c: New file.
56874         * lib/unictype/pr_uppercase.c: New file.
56875         * lib/unictype/pr_variation_selector.c: New file.
56876         * lib/unictype/pr_white_space.c: New file.
56877         * lib/unictype/pr_xid_continue.c: New file.
56878         * lib/unictype/pr_xid_start.c: New file.
56879         * lib/unictype/pr_zero_width.c: New file.
56880         * lib/unictype/scripts.c: New file.
56881         * lib/unictype/sy_c_ident.c: New file.
56882         * lib/unictype/sy_c_whitespace.c: New file.
56883         * lib/unictype/sy_java_ident.c: New file.
56884         * lib/unictype/sy_java_whitespace.c: New file.
56885
56886         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
56887         Unicode 5.0.0.
56888         * lib/unictype/blocks.h: Likewise.
56889         * lib/unictype/categ_C.h: Likewise.
56890         * lib/unictype/categ_Cc.h: Likewise.
56891         * lib/unictype/categ_Cf.h: Likewise.
56892         * lib/unictype/categ_Cn.h: Likewise.
56893         * lib/unictype/categ_Co.h: Likewise.
56894         * lib/unictype/categ_Cs.h: Likewise.
56895         * lib/unictype/categ_L.h: Likewise.
56896         * lib/unictype/categ_Ll.h: Likewise.
56897         * lib/unictype/categ_Lm.h: Likewise.
56898         * lib/unictype/categ_Lo.h: Likewise.
56899         * lib/unictype/categ_Lt.h: Likewise.
56900         * lib/unictype/categ_Lu.h: Likewise.
56901         * lib/unictype/categ_M.h: Likewise.
56902         * lib/unictype/categ_Mc.h: Likewise.
56903         * lib/unictype/categ_Me.h: Likewise.
56904         * lib/unictype/categ_Mn.h: Likewise.
56905         * lib/unictype/categ_N.h: Likewise.
56906         * lib/unictype/categ_Nd.h: Likewise.
56907         * lib/unictype/categ_Nl.h: Likewise.
56908         * lib/unictype/categ_No.h: Likewise.
56909         * lib/unictype/categ_P.h: Likewise.
56910         * lib/unictype/categ_Pc.h: Likewise.
56911         * lib/unictype/categ_Pd.h: Likewise.
56912         * lib/unictype/categ_Pe.h: Likewise.
56913         * lib/unictype/categ_Pf.h: Likewise.
56914         * lib/unictype/categ_Pi.h: Likewise.
56915         * lib/unictype/categ_Po.h: Likewise.
56916         * lib/unictype/categ_Ps.h: Likewise.
56917         * lib/unictype/categ_S.h: Likewise.
56918         * lib/unictype/categ_Sc.h: Likewise.
56919         * lib/unictype/categ_Sk.h: Likewise.
56920         * lib/unictype/categ_Sm.h: Likewise.
56921         * lib/unictype/categ_So.h: Likewise.
56922         * lib/unictype/categ_Z.h: Likewise.
56923         * lib/unictype/categ_Zl.h: Likewise.
56924         * lib/unictype/categ_Zp.h: Likewise.
56925         * lib/unictype/categ_Zs.h: Likewise.
56926         * lib/unictype/categ_of.h: Likewise.
56927         * lib/unictype/combining.h: Likewise.
56928         * lib/unictype/ctype_alnum.h: Likewise.
56929         * lib/unictype/ctype_alpha.h: Likewise.
56930         * lib/unictype/ctype_blank.h: Likewise.
56931         * lib/unictype/ctype_cntrl.h: Likewise.
56932         * lib/unictype/ctype_digit.h: Likewise.
56933         * lib/unictype/ctype_graph.h: Likewise.
56934         * lib/unictype/ctype_lower.h: Likewise.
56935         * lib/unictype/ctype_print.h: Likewise.
56936         * lib/unictype/ctype_punct.h: Likewise.
56937         * lib/unictype/ctype_space.h: Likewise.
56938         * lib/unictype/ctype_upper.h: Likewise.
56939         * lib/unictype/ctype_xdigit.h: Likewise.
56940         * lib/unictype/decdigit.h: Likewise.
56941         * lib/unictype/digit.h: Likewise.
56942         * lib/unictype/mirror.h: Likewise.
56943         * lib/unictype/numeric.h: Likewise.
56944         * lib/unictype/pr_alphabetic.h: Likewise.
56945         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
56946         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
56947         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
56948         * lib/unictype/pr_bidi_block_separator.h: Likewise.
56949         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
56950         * lib/unictype/pr_bidi_common_separator.h: Likewise.
56951         * lib/unictype/pr_bidi_control.h: Likewise.
56952         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
56953         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
56954         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
56955         * lib/unictype/pr_bidi_european_digit.h: Likewise.
56956         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
56957         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
56958         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
56959         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
56960         * lib/unictype/pr_bidi_pdf.h: Likewise.
56961         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
56962         * lib/unictype/pr_bidi_whitespace.h: Likewise.
56963         * lib/unictype/pr_combining.h: Likewise.
56964         * lib/unictype/pr_composite.h: Likewise.
56965         * lib/unictype/pr_currency_symbol.h: Likewise.
56966         * lib/unictype/pr_dash.h: Likewise.
56967         * lib/unictype/pr_decimal_digit.h: Likewise.
56968         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
56969         * lib/unictype/pr_deprecated.h: Likewise.
56970         * lib/unictype/pr_diacritic.h: Likewise.
56971         * lib/unictype/pr_extender.h: Likewise.
56972         * lib/unictype/pr_format_control.h: Likewise.
56973         * lib/unictype/pr_grapheme_base.h: Likewise.
56974         * lib/unictype/pr_grapheme_extend.h: Likewise.
56975         * lib/unictype/pr_grapheme_link.h: Likewise.
56976         * lib/unictype/pr_hex_digit.h: Likewise.
56977         * lib/unictype/pr_hyphen.h: Likewise.
56978         * lib/unictype/pr_id_continue.h: Likewise.
56979         * lib/unictype/pr_id_start.h: Likewise.
56980         * lib/unictype/pr_ideographic.h: Likewise.
56981         * lib/unictype/pr_ids_binary_operator.h: Likewise.
56982         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
56983         * lib/unictype/pr_ignorable_control.h: Likewise.
56984         * lib/unictype/pr_iso_control.h: Likewise.
56985         * lib/unictype/pr_join_control.h: Likewise.
56986         * lib/unictype/pr_left_of_pair.h: Likewise.
56987         * lib/unictype/pr_line_separator.h: Likewise.
56988         * lib/unictype/pr_logical_order_exception.h: Likewise.
56989         * lib/unictype/pr_lowercase.h: Likewise.
56990         * lib/unictype/pr_math.h: Likewise.
56991         * lib/unictype/pr_non_break.h: Likewise.
56992         * lib/unictype/pr_not_a_character.h: Likewise.
56993         * lib/unictype/pr_numeric.h: Likewise.
56994         * lib/unictype/pr_other_alphabetic.h: Likewise.
56995         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
56996         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
56997         * lib/unictype/pr_other_id_continue.h: Likewise.
56998         * lib/unictype/pr_other_id_start.h: Likewise.
56999         * lib/unictype/pr_other_lowercase.h: Likewise.
57000         * lib/unictype/pr_other_math.h: Likewise.
57001         * lib/unictype/pr_other_uppercase.h: Likewise.
57002         * lib/unictype/pr_paired_punctuation.h: Likewise.
57003         * lib/unictype/pr_paragraph_separator.h: Likewise.
57004         * lib/unictype/pr_pattern_syntax.h: Likewise.
57005         * lib/unictype/pr_pattern_white_space.h: Likewise.
57006         * lib/unictype/pr_private_use.h: Likewise.
57007         * lib/unictype/pr_punctuation.h: Likewise.
57008         * lib/unictype/pr_quotation_mark.h: Likewise.
57009         * lib/unictype/pr_radical.h: Likewise.
57010         * lib/unictype/pr_sentence_terminal.h: Likewise.
57011         * lib/unictype/pr_soft_dotted.h: Likewise.
57012         * lib/unictype/pr_space.h: Likewise.
57013         * lib/unictype/pr_terminal_punctuation.h: Likewise.
57014         * lib/unictype/pr_titlecase.h: Likewise.
57015         * lib/unictype/pr_unassigned_code_value.h: Likewise.
57016         * lib/unictype/pr_unified_ideograph.h: Likewise.
57017         * lib/unictype/pr_uppercase.h: Likewise.
57018         * lib/unictype/pr_variation_selector.h: Likewise.
57019         * lib/unictype/pr_white_space.h: Likewise.
57020         * lib/unictype/pr_xid_continue.h: Likewise.
57021         * lib/unictype/pr_xid_start.h: Likewise.
57022         * lib/unictype/pr_zero_width.h: Likewise.
57023         * lib/unictype/scripts.h: Likewise.
57024         * lib/unictype/scripts_byname.gperf: Likewise.
57025         * lib/unictype/sy_c_ident.h: Likewise.
57026         * lib/unictype/sy_c_whitespace.h: Likewise.
57027         * lib/unictype/sy_java_ident.h: Likewise.
57028         * lib/unictype/sy_java_whitespace.h: Likewise.
57029
57030         * lib/unictype/Makefile: New file.
57031         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
57032         glibc.
57033         * lib/unictype/3level.h: New file, copied from glibc.
57034         * lib/unictype/3levelbit.h: New file.
57035
57036 2007-11-11  Bruno Haible  <bruno@clisp.org>
57037
57038         * modules/gperf: New file.
57039         * modules/iconv_open (Depends-on): Add it.
57040         (Makefile.am): Remove the GPERF definition.
57041
57042 2007-11-11  Bruno Haible  <bruno@clisp.org>
57043
57044         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
57045         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
57046
57047 2007-11-11  Bruno Haible  <bruno@clisp.org>
57048
57049         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
57050         (usage): Remove function.
57051
57052 2007-11-11  Bruno Haible  <bruno@clisp.org>
57053
57054         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
57055         gl_FUNC_CEILF_LIBS.
57056         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
57057         gl_FUNC_CEIL_LIBS.
57058         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
57059         gl_FUNC_CEILL_LIBS.
57060         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
57061         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
57062         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
57063
57064 2007-11-11  Bruno Haible  <bruno@clisp.org>
57065
57066         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
57067         roundf were declared but do not exist on functions.
57068         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
57069         roundl were declared but do not exist on functions.
57070         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
57071         HAVE_FLOORL_AND_CEILL, respectively.
57072         Needed for Sun C on Solaris 10.
57073
57074 2007-11-11  Bruno Haible  <bruno@clisp.org>
57075
57076         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
57077         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
57078         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
57079         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
57080         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
57081         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
57082         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
57083         HAVE_DECL_ROUNDF.
57084         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
57085         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
57086         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
57087         of HAVE_DECL_ROUND*.
57088         * modules/math (Makefile.am): Update.
57089
57090 2007-11-10  Bruno Haible  <bruno@clisp.org>
57091
57092         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
57093         ptrdiff_t as m4/intl.m4.
57094
57095 2007-11-10  Jim Meyering  <meyering@redhat.com>
57096
57097         Avoid link failure for the argmatch test.
57098         * tests/test-argmatch.c (usage): Define function to avoid a link
57099         failure: argmatch_die requires a usage function.
57100
57101 2007-11-09  Bruno Haible  <bruno@clisp.org>
57102
57103         * doc/functions/snprintf.texi: Mention BeOS deficiency.
57104         * doc/functions/vsnprintf.texi: Likewise.
57105         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
57106         with a size argument < 2.
57107
57108 2007-11-09  Bruno Haible  <bruno@clisp.org>
57109
57110         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
57111         buffer. Fixes an inefficiency introduced on 2007-11-03.
57112
57113 2007-11-09  Bruno Haible  <bruno@clisp.org>
57114
57115         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
57116         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
57117
57118 2007-11-08  Jim Meyering  <meyering@redhat.com>
57119
57120         Change cache variable name prefix "jm_" to "gl_" everywhere.
57121         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
57122         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
57123         * m4/uptime.m4: s/gl_/jm_/
57124
57125 2007-11-07  Bruno Haible  <bruno@clisp.org>
57126
57127         Update to GNU gettext 0.17.
57128         * m4/intl.m4: Update to GNU gettext 0.17.
57129         * m4/po.m4: Likewise.
57130         * modules/gettext (Files): Remove m4/ulonglong.m4.
57131         (configure.ac): Require gettext infrastructure from version 0.17.
57132
57133 2007-11-06  Bruno Haible  <bruno@clisp.org>
57134
57135         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
57136         symbolic values are not defined in a public header.
57137         * lib/freadable.c (freadable) [QNX]: Likewise.
57138         * lib/freadahead.c (freadahead) [QNX]: Likewise.
57139         * lib/freading.c (freading) [QNX]: Likewise.
57140         * lib/fseterr.c (fseterr) [QNX]: Likewise.
57141         * lib/fwritable.c (fwritable) [QNX]: Likewise.
57142         * lib/fwriting.c (fwriting) [QNX]: Likewise.
57143         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
57144         Reported by Alain Magloire.
57145
57146         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
57147
57148 2007-11-05  Bruno Haible  <bruno@clisp.org>
57149
57150         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
57151         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
57152         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
57153         Reported by Eric Blake.
57154
57155 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57156             Bruno Haible  <bruno@clisp.org>
57157
57158         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
57159         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
57160         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
57161         (malloc): Undefine also before including <stdlib.h>.
57162         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
57163         Needed on OSF/1 4.0.
57164
57165 2007-11-05  Jim Meyering  <meyering@redhat.com>
57166
57167         git-version-gen: sync from coreutils.
57168         * build-aux/git-version-gen: Add comments.
57169         Change the first '-' to '.' in the snapshot version string,
57170         e.g., 6.9-377-08144 -> 6.9.377-08144
57171         Remove first parameter.
57172         Don't declare a version "-dirty" merely because a time
57173         stamp has changed.
57174
57175 2007-11-04  Bruno Haible  <bruno@clisp.org>
57176
57177         * lib/lock.h: Protect all macro definitions containing an 'if'
57178         statement through a "do { ... } while (0)".
57179         * lib/tls.h: Likewise.
57180
57181 2007-11-04  Bruno Haible  <bruno@clisp.org>
57182
57183         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
57184
57185 2007-11-04  Bruno Haible  <bruno@clisp.org>
57186
57187         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
57188         * modules/fprintf-posix (Depends-on): Add nocrash.
57189         * modules/snprintf-posix (Depends-on): Likewise.
57190         * modules/sprintf-posix (Depends-on): Likewise.
57191         * modules/vasnprintf-posix (Depends-on): Likewise.
57192         * modules/vasprintf-posix (Depends-on): Likewise.
57193         * modules/vfprintf-posix (Depends-on): Likewise.
57194         * modules/vsnprintf-posix (Depends-on): Likewise.
57195         * modules/vsprintf-posix (Depends-on): Likewise.
57196         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57197         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57198         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57199         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57200         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57201         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57202         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57203
57204 2007-11-04  Bruno Haible  <bruno@clisp.org>
57205
57206         * modules/nocrash: New file.
57207         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
57208         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
57209
57210 2007-11-04  Bruno Haible  <bruno@clisp.org>
57211
57212         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
57213         precision handling.
57214         * tests/test-vasprintf-posix.c (test_function): Likewise.
57215         * tests/test-snprintf-posix.h (test_function): Likewise.
57216         * tests/test-sprintf-posix.h (test_function): Likewise.
57217
57218         Fix *printf behaviour for large precisions on mingw and BeOS.
57219         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
57220         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
57221         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
57222         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57223         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57224         gl_PRINTF_PRECISION and test its result. Invoke
57225         gl_PREREQ_VASNPRINTF_PRECISION.
57226         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57227         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57228         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57229         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57230         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57231         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57232         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57233         * doc/functions/fprintf.texi: Update.
57234         * doc/functions/printf.texi: Update.
57235         * doc/functions/snprintf.texi: Update.
57236         * doc/functions/sprintf.texi: Update.
57237         * doc/functions/vfprintf.texi: Update.
57238         * doc/functions/vprintf.texi: Update.
57239         * doc/functions/vsnprintf.texi: Update.
57240         * doc/functions/vsprintf.texi: Update.
57241
57242 2007-11-04  Bruno Haible  <bruno@clisp.org>
57243
57244         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
57245
57246 2007-11-04  Bruno Haible  <bruno@clisp.org>
57247
57248         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
57249         Reported by Sylvain Beucler <beuc@gnu.org>.
57250
57251 2007-11-03  Bruno Haible  <bruno@clisp.org>
57252
57253         * tests/test-fprintf-posix2.sh: New file.
57254         * tests/test-fprintf-posix2.c: New file.
57255         * modules/fprintf-posix-tests (Files): Add them.
57256         (TESTS): Add test-fprintf-posix2.sh.
57257         (configure.ac): Check for getrlimit and setrlimit.
57258         (check_PROGRAMS): Add test-fprintf-posix2.
57259
57260         * tests/test-printf-posix2.sh: New file.
57261         * tests/test-printf-posix2.c: New file.
57262         * modules/printf-posix-tests (Files): Add them.
57263         (TESTS): Add test-printf-posix2.sh.
57264         (configure.ac): Check for getrlimit and setrlimit.
57265         (check_PROGRAMS): Add test-printf-posix2.
57266
57267         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
57268         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
57269         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
57270         (decode_double): New function, copied from decode_long_double.
57271         (scale10_round_decimal_decoded): New function, extracted from
57272         scale10_round_decimal_long_double.
57273         (scale10_round_decimal_long_double): Use it.
57274         (scale10_round_decimal_double): New function.
57275         (floorlog10): New function.
57276         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
57277         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
57278         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57279         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57280         gl_PRINTF_ENOMEM and test its result. Invoke
57281         gl_PREREQ_VASNPRINTF_ENOMEM.
57282         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57283         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57284         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57285         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57286         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57287         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57288         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57289         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
57290         * modules/snprintf-posix (Depends-on): Likewise.
57291         * modules/sprintf-posix (Depends-on): Likewise.
57292         * modules/vasnprintf-posix (Depends-on): Likewise.
57293         * modules/vasprintf-posix (Depends-on): Likewise.
57294         * modules/vfprintf-posix (Depends-on): Likewise.
57295         * modules/vsnprintf-posix (Depends-on): Likewise.
57296         * modules/vsprintf-posix (Depends-on): Likewise.
57297         * doc/functions/fprintf.texi: Update.
57298         * doc/functions/printf.texi: Update.
57299         * doc/functions/snprintf.texi: Update.
57300         * doc/functions/sprintf.texi: Update.
57301         * doc/functions/vfprintf.texi: Update.
57302         * doc/functions/vprintf.texi: Update.
57303         * doc/functions/vsnprintf.texi: Update.
57304         * doc/functions/vsprintf.texi: Update.
57305
57306 2007-11-03  Bruno Haible  <bruno@clisp.org>
57307
57308         * modules/frexp-nolibm-tests: New file.
57309
57310         * modules/frexp-nolibm: New file.
57311         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
57312
57313 2007-11-03  Bruno Haible  <bruno@clisp.org>
57314
57315         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
57316         value is C99 compliant.
57317         Needed for OSF/1 5.1.
57318
57319 2007-11-03  Bruno Haible  <bruno@clisp.org>
57320
57321         Fix out-of-memory handling of vasnprintf.
57322         * lib/printf-parse.c: Include <errno.h>.
57323         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
57324         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
57325         is already set.
57326
57327 2007-11-02  Eric Blake  <ebb9@byu.net>
57328
57329         Fix tests on cygwin.
57330         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
57331
57332 2007-11-01  Bruno Haible  <bruno@clisp.org>
57333
57334         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
57335         warning.
57336         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
57337         needed for POSIX compatibility.
57338
57339 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57340
57341         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
57342         for compatibility with GNU.
57343
57344 2007-11-01  Bruno Haible  <bruno@clisp.org>
57345
57346         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
57347         (putenv): Renamed from rpl_putenv. Change argument type from
57348         'const char *' to 'char *'.
57349         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
57350         of defining putenv in config.h, just set REPLACE_PUTENV.
57351         * modules/putenv (Depends-on): Add stdlib.
57352         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57353         (Include): Use <stdlib.h>.
57354         * lib/stdlib.in.h (putenv): New declaration.
57355         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
57356         REPLACE_PUTENV.
57357         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
57358         REPLACE_PUTENV.
57359         Needed for MacOS X 10.5.0.
57360         Reported by Peter O'Gorman <peter@pogma.com>.
57361
57362 2007-11-01  Jim Meyering  <meyering@redhat.com>
57363
57364         Treat an empty date string exactly like "0".
57365         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
57366         if the remaining date string (to be parsed) is empty, use "0".
57367         Reported by Mischa Molhoek and discussed in this thread:
57368         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
57369
57370 2007-10-31  Bruno Haible  <bruno@clisp.org>
57371
57372         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
57373         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
57374         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
57375         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
57376         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
57377         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
57378
57379 2007-10-31  Bruno Haible  <bruno@clisp.org>
57380
57381         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
57382         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
57383         (AC_TYPE_LONG_LONG_INT): Use it.
57384         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
57385         it as well.
57386         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
57387         to m4/longlong.m4.
57388         * modules/stdint (Files): Remove m4/ulonglong.m4.
57389         * modules/strtoull (Files): Use m4/longlong.m4 instead of
57390         m4/ulonglong.m4.
57391         * modules/strtoumax (Files): Likewise.
57392
57393 2007-10-30  Bruno Haible  <bruno@clisp.org>
57394
57395         * modules/xvasprintf-posix: New file.
57396         Suggested by Eric Blake.
57397
57398 2007-10-30  Bruno Haible  <bruno@clisp.org>
57399
57400         * modules/xprintf-posix-tests: New file.
57401         * tests/test-xprintf-posix.sh: New file.
57402         * tests/test-xprintf-posix.c: New file.
57403         * tests/test-xfprintf-posix.c: New file.
57404
57405         * modules/xprintf-posix: New file.
57406
57407 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57408
57409         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
57410         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
57411         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
57412
57413 2007-10-29  Bruno Haible  <bruno@clisp.org>
57414
57415         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
57416         contain the special marker '_cv_'.
57417         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
57418         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
57419         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
57420         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
57421         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
57422         Reported by Ralf Wildenhues.
57423
57424 2007-10-29  Bruno Haible  <bruno@clisp.org>
57425
57426         * gnulib-tool (func_import): When --lgpl is not specified, set
57427         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
57428         GPLv3.
57429         Reported by Simon Josefsson.
57430
57431 2007-10-28  Bruno Haible  <bruno@clisp.org>
57432
57433         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
57434         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
57435         HAVE_DECL_ISFINITE.
57436         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
57437         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
57438         HAVE_DECL_ISFINITE.
57439
57440 2007-10-28  Bruno Haible  <bruno@clisp.org>
57441
57442         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
57443         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
57444
57445 2007-10-28  Bruno Haible  <bruno@clisp.org>
57446
57447         Fix link errors with Sun C 5.0 on Solaris 10.
57448         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
57449         function is declared but not present in the compiler's libm.
57450         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
57451         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
57452         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
57453         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
57454         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
57455         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
57456         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
57457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
57458         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
57459         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
57460         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
57461         HAVE_DECL_FLOORL.
57462
57463 2007-10-28  Bruno Haible  <bruno@clisp.org>
57464
57465         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
57466         gl_FUNC_FLOORL. Cache the result.
57467         (gl_FUNC_FLOORL): Use it.
57468         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
57469         gl_FUNC_CEILL. Cache the result.
57470         (gl_FUNC_CEILL): Use it.
57471
57472         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
57473         gl_FUNC_FLOOR. Cache the result.
57474         (gl_FUNC_FLOOR): Use it.
57475         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
57476         gl_FUNC_CEIL. Cache the result.
57477         (gl_FUNC_CEIL): Use it.
57478
57479         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
57480         gl_FUNC_FLOORF. Cache the result.
57481         (gl_FUNC_FLOORF): Use it.
57482         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
57483         gl_FUNC_CEILF. Cache the result.
57484         (gl_FUNC_CEILF): Use it.
57485
57486 2007-10-28  Bruno Haible  <bruno@clisp.org>
57487
57488         * gnulib-tool: Allow specifying the LGPL version number through
57489         --lgpl=2 or --lgpl=3.
57490         (func_usage): Document --lgpl with argument.
57491         Handle --lgpl=... arguments.
57492         (func_import): Recognize also gl_LGPL calls with an argument. When
57493         --lgpl=2 is used and the module's license is just LGPL, report an
57494         error. Set sed_transform_lib_file according to the lgpl variable. In
57495         the generated files, use --lgpl or gl_LGPL invocations with argument,
57496         if necessary.
57497         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
57498         an LGPv2+ license.
57499         * doc/gnulib-tool.texi (Modified imports): Update explanation of
57500         gl_LGPL macro.
57501
57502 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57503             Bruno Haible  <bruno@clisp.org>
57504
57505         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
57506         (u16_uctomb_aux): Likewise.
57507         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
57508         !HAVE_INLINE.
57509         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
57510
57511 2007-10-28  Bruno Haible  <bruno@clisp.org>
57512
57513         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
57514         Invoke AM_GETTEXT_OPTION if it exists.
57515         * modules/vasprintf: Likewise.
57516         * modules/verror: Likewise.
57517         * modules/xprintf: Likewise.
57518         * modules/xvasprintf: Likewise.
57519
57520 2007-10-27  Ben Pfaff  <blp@gnu.org>
57521
57522         * lib/math.in.h: Define isfinite macro and prototypes for
57523         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
57524         implementations.
57525         * m4/math_h.m4: New substitutions for isfinite module.
57526         * lib/isfinite.c: New file.
57527         * m4/isfinite.m4: New file.
57528         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
57529         * modules/isfinite: New file.
57530         * modules/isfinite-tests: New file.
57531         * tests/tests-isfinite.c: New file.
57532         * doc/functions/isfinite.texi: Mention isfinite module.
57533         * MODULES.html.sh: Mention new module.
57534
57535 2007-10-27  Ben Pfaff  <blp@gnu.org>
57536
57537         Ralf Wildenhues reported that Tru64 4.0D declares the round
57538         functions but does not have definitions.
57539         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
57540         cannot be found in any library, set the output variable to
57541         "missing" instead of "".
57542         * m4/round.m4: Also use our substitute if we cannot find round in
57543         any library, even if it is declared.
57544         * m4/roundf.m4: Likewise for roundf.
57545         * m4/roundl.m4: Likewise for roundl.
57546         * lib/math.in.h: Undefine roundf, round, roundl before defining
57547         their replacements, to allow for hypothetical systems where these
57548         may be defined as macros but not available in libraries.
57549
57550 2007-10-27  Bruno Haible  <bruno@clisp.org>
57551
57552         * doc/gnulib.texi: Invoke @firstparagraphindent.
57553         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
57554         changes in gnulib.
57555         (Source changes): New section.
57556
57557 2007-10-26  Bruno Haible  <bruno@clisp.org>
57558
57559         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
57560         borrowed from autoconf.
57561
57562 2007-10-26  Bruno Haible  <bruno@clisp.org>
57563
57564         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
57565         strerror returned the empty string. Needed on HP-UX 11.00.
57566
57567 2007-10-24  Micah Cowan  <micah@cowan.name>
57568
57569         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
57570         * build-aux/bootstrap: Remove support for now-unnecessary option,
57571         --cvs-user, and envvars CVS_USER, CVS_RSH.
57572
57573 2007-10-24  Jim Meyering  <meyering@redhat.com>
57574
57575         Avoid diagnostics from sha1sum when there is no cached checksum.
57576         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
57577         if the po.s1 file hasn't been created yet.
57578
57579         * build-aux/bootstrap: Sync from coreutils:
57580         2007-10-24  Jim Meyering  <meyering@redhat.com>
57581         Get gnulib from the git repository, not from an obsolete cvs one.
57582         * build-aux/bootstrap: Suggestion from Micah Cowan.
57583         2007-10-04  Jim Meyering  <jim@meyering.net>
57584         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
57585         (update_po_files): Work also when there are no .po files in po/.
57586
57587 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57588
57589         * README: Append ".git" to git and cg examples.
57590         Problem reported by Benoit Sigoure.
57591
57592 2007-10-23  Micah Cowan  <micah@cowan.name>
57593
57594         * users.txt: Add wget.
57595
57596 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57597
57598         Fix linking of some unistdio tests on FreeBSD.
57599         * modules/unistdio/u16-vsnprintf-tests
57600         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
57601         * modules/unistdio/u16-vsprintf-tests
57602         (test_u16_vsnprintf1_LDADD): Likewise.
57603         * modules/unistdio/u32-vsnprintf-tests
57604         (test_u32_vsnprintf1_LDADD): Likewise.
57605         * modules/unistdio/u32-vsprintf-tests
57606         (test_u32_vsprintf1_LDADD): Likewise.
57607         * modules/unistdio/u8-vsnprintf-tests
57608         (test_u8_vsnprintf1_LDADD): Likewise.
57609         * modules/unistdio/u8-vsprintf-tests
57610         (test_u8_vsprintf1_LDADD): Likewise.
57611         * modules/unistdio/ulc-vsnprintf-tests
57612         (test_ulc_vsnprintf1_LDADD): Likewise.
57613         * modules/unistdio/ulc-vsprintf-tests
57614         (test_ulc_vsprintf1_LDADD): Likewise.
57615
57616         Fix linking of some uniconv tests on FreeBSD.
57617         * modules/uniconv/u16-conv-from-enc-tests
57618         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
57619         * modules/uniconv/u16-conv-to-enc-tests
57620         (test_u16_conv_to_enc_LDADD): Likewise.
57621         * modules/uniconv/u16-strconv-from-enc-tests
57622         (test_u16_strconv_from_enc_LDADD): Likewise.
57623         * modules/uniconv/u16-strconv-to-enc-tests
57624         (test_u16_strconv_to_enc_LDADD): Likewise.
57625         * modules/uniconv/u32-conv-from-enc-tests
57626         (test_u32_conv_from_enc_LDADD): Likewise.
57627         * modules/uniconv/u32-conv-to-enc-tests
57628         (test_u32_conv_to_enc_LDADD): Likewise.
57629         * modules/uniconv/u32-strconv-from-enc-tests
57630         (test_u32_strconv_from_enc_LDADD): Likewise.
57631         * modules/uniconv/u32-strconv-to-enc-tests
57632         (test_u32_strconv_to_enc_LDADD): Likewise.
57633         * modules/uniconv/u8-conv-from-enc-tests
57634         (test_u8_conv_from_enc_LDADD): Likewise.
57635         * modules/uniconv/u8-conv-to-enc-tests
57636         (test_u8_conv_to_enc_LDADD): Likewise.
57637         * modules/uniconv/u8-strconv-from-enc-tests
57638         (test_u8_strconv_from_enc_LDADD): Likewise.
57639         * modules/uniconv/u8-strconv-to-enc-tests
57640         (test_u8_strconv_to_enc_LDADD): Likewise.
57641
57642 2007-10-22  Bruno Haible  <bruno@clisp.org>
57643
57644         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
57645         size.
57646
57647 2007-10-22  Eric Blake  <ebb9@byu.net>
57648
57649         Tweak x*printf documentation.
57650         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
57651         variable name and comments.
57652         Suggested by Bruno Haible.
57653
57654 2007-10-22  Bruno Haible  <bruno@clisp.org>
57655
57656         * lib/acl.c (copy_acl): Fix file name in comment.
57657
57658 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57659
57660         Fix Tru64 problem with stdbool.h.
57661         * lib/stdbool.in.h (false, true):
57662         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
57663         Don't declare as an enum in this situation; it runs afoul of Tru64.
57664         Problem reported by Steven M. Schweda in
57665         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
57666
57667 2007-10-22  Eric Blake  <ebb9@byu.net>
57668
57669         Also wrap vf?printf.
57670         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
57671         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
57672         (xvprintf, xvfprintf): New functions.
57673
57674 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57675
57676         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
57677         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
57678
57679         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
57680         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
57681
57682 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57683
57684         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
57685         by Bruno Haible.
57686
57687 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57688
57689         * lib/getloadavg.c
57690         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
57691         Undef `sys' after including sys/table.h, for Tru64 4.0D.
57692
57693         * tests/test-i-ring.c: Work for C89.
57694
57695 2007-10-22  Bruno Haible  <bruno@clisp.org>
57696
57697         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
57698         -1u, in preprocessor expression, so that we don't test for the bug
57699         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
57700         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
57701
57702 2007-10-22  Eric Blake  <ebb9@byu.net>
57703
57704         * tests/test-yesno.sh: Silence stderr during test.
57705
57706 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57707
57708         * modules/crypto/gc-camellia: New file.
57709
57710         * m4/gc-camellia.m4: New file.
57711
57712         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
57713
57714         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
57715
57716 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57717
57718         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
57719         --help to stdout.  Reported by sms@antinode.org (Steven
57720         M. Schweda).
57721
57722 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57723
57724         * users.txt: Fix link to libksba.
57725
57726 2007-10-21  Ben Pfaff  <blp@gnu.org>
57727
57728         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
57729         round.c roundf implementation that depends on floorf and ceilf to
57730         be tested unconditionally.
57731
57732 2007-10-21  Ben Pfaff  <blp@gnu.org>
57733
57734         * m4/check-libm-func.m4: Removed.
57735         * m4/check-math-lib.m4: New file.
57736         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
57737         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
57738         definition and lack of AC_LIBOBJ([roundf]).
57739         * m4/roundl.m4: Ditto, and similarly for roundl.
57740         * modules/round: Reference new m4 file.
57741         * modules/roundf: Ditto.
57742         * modules/roundl: Ditto.
57743         * tests/test-round2.c (main): Use ROUND instead of round.
57744         Bug report from Bruno Haible.
57745
57746 2007-10-21  Bruno Haible  <bruno@clisp.org>
57747
57748         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
57749         context.
57750
57751 2007-10-21  Bruno Haible  <bruno@clisp.org>
57752
57753         * tests/test-wcwidth.c (main): Allow negative result for some control
57754         characters.
57755
57756         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
57757         Needed on OSF/1 5.1.
57758
57759 2007-10-21  Bruno Haible  <bruno@clisp.org>
57760
57761         * tests/test-floorf1.c: Include isnanf.h.
57762         (main): Use isnanf() instead of isnan().
57763         * tests/test-ceilf1.c: Include isnanf.h.
57764         (main): Use isnanf() instead of isnan().
57765         * tests/test-truncf1.c: Include isnanf.h.
57766         (main): Use isnanf() instead of isnan().
57767         * tests/test-roundf1.c: Include isnanf.h.
57768         (main): Use isnanf() instead of isnan().
57769
57770 2007-10-21  Eric Blake  <ebb9@byu.net>
57771
57772         * users.txt: Update URL for m4.
57773
57774 2007-10-21  Bruno Haible  <bruno@clisp.org>
57775
57776         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
57777
57778 2007-10-21  Bruno Haible  <bruno@clisp.org>
57779
57780         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
57781         Git's management files if the CVS files are not present.
57782
57783 2007-10-20  Bruno Haible  <bruno@clisp.org>
57784
57785         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
57786         gcc-3.4.x.
57787
57788 2007-10-20  Ben Pfaff  <blp@gnu.org>
57789
57790         * lib/math.in.h: Declare round, roundf, roundl if we are providing
57791         implementations.
57792         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
57793         * lib/round.c: New file.
57794         * lib/roundf.c: New file.
57795         * lib/roundl.c: New file.
57796         * m4/round.m4: New file.
57797         * m4/roundf.m4: New file.
57798         * m4/roundl.m4: New file.
57799         * m4/check-libm-func-m4: New file.
57800         * modules/math: Replace round, roundf, roundl related @VARS@ in
57801         math.in.h.
57802         * modules/round: New file.
57803         * modules/round-tests: New file.
57804         * modules/roundf: New file.
57805         * modules/roundf-tests: New file.
57806         * modules/roundl: New file.
57807         * modules/roundl-tests: New file.
57808         * tests/test-round1.c: New file.
57809         * tests/test-round2.c: New file.
57810         * tests/test-roundf1.c: New file.
57811         * tests/test-roundf2.c: New file.
57812         * tests/test-roundl.c: New file.
57813         * doc/functions/round.texi: Mention round module.
57814         * doc/functions/roundf.texi: Mention roundf module.
57815         * doc/functions/roundl.texi: Mention roundl module.
57816         * MODULES.html.sh: Mention new modules.
57817         Thanks to Bruno Haible for suggestions.
57818
57819 2007-10-20  Jim Meyering  <meyering@redhat.com>
57820
57821         * lib/xprintf.c: Include <config.h> unconditionally.
57822
57823         Change xprintf's license to GPL.
57824         * modules/xprintf (License): s/LGPL/GPL/, since this module
57825         depends on modules (exit and exitfail) which are GPL.
57826         Suggestion from Bruno Haible.
57827
57828         xprintf fixes.
57829         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
57830         Use a clearer diagnostic.
57831         Patch from Bruno Haible.
57832
57833 2007-10-20  Bruno Haible  <bruno@clisp.org>
57834
57835         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
57836         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
57837         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57838
57839 2007-10-20  Bruno Haible  <bruno@clisp.org>
57840
57841         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
57842         precision in the comparison result > x - 1 or similar.
57843         * tests/test-ceilf2.c (correct_result_p): Likewise.
57844         * tests/test-truncf2.c (correct_result_p): Likewise.
57845         * tests/test-trunc2.c (correct_result_p): Likewise.
57846         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57847
57848 2007-10-20  Bruno Haible  <bruno@clisp.org>
57849
57850         * modules/ceil: New file.
57851         * m4/ceil.m4: New file.
57852         * doc/functions/ceil.texi: Mention the 'ceil' module.
57853
57854 2007-10-20  Bruno Haible  <bruno@clisp.org>
57855
57856         * modules/floor: New file.
57857         * m4/floor.m4: New file.
57858         * doc/functions/floor.texi: Mention the 'floor' module.
57859
57860 2007-10-20  Bruno Haible  <bruno@clisp.org>
57861
57862         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
57863         of %a.
57864         * modules/floorf-tests (Depends-on): Likewise.
57865         * modules/truncf-tests (Depends-on): Likewise.
57866         * modules/trunc-tests (Depends-on): Likewise.
57867         Reported by Ben Pfaff.
57868
57869 2007-10-19  Jim Meyering  <meyering@redhat.com>
57870
57871         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
57872         Don't bother testing specific errno values.  Just test ferror.
57873
57874         New module: xprintf
57875         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
57876
57877 2007-10-19  Bruno Haible  <bruno@clisp.org>
57878
57879         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
57880         syntax.
57881         * modules/javaexec (Makefile.am): Likewise.
57882         * modules/relocatable-prog (Makefile.am): Likewise.
57883         Suggested by Jim Meyering.
57884
57885 2007-10-18  Bruno Haible  <bruno@clisp.org>
57886
57887         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
57888         Reported by Jim Meyering.
57889
57890 2007-10-18  Eric Blake  <ebb9@byu.net>
57891
57892         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
57893
57894 2007-10-18  Bruno Haible  <bruno@clisp.org>
57895
57896         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
57897         the format string into writable memory. Needed in Fortify conditions.
57898
57899 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
57900             Bruno Haible  <bruno@clisp.org>
57901
57902         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
57903         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
57904         * modules/trim (Depends-on): Add mbchar.
57905         (configure.ac): Add gl_FUNC_MBRTOWC.
57906         (Makefile.am): Augment lib_SOURCES.
57907
57908 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57909
57910         Modify glob.c to use fstatat and dirfd, to simplify it.
57911         Suggested by Eric Blake.
57912         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
57913         Don't include <stdbool.h>; not used.
57914         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
57915         (link_exists_p): Simplify implementation, since we can now assume
57916         dirfd and fstatat.
57917         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
57918
57919 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57920
57921         * gnulib-tool (func_get_dependencies): Fix sed script to
57922         match only tests.
57923
57924 2007-10-17  Bruno Haible  <bruno@clisp.org>
57925
57926         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
57927         allow locale names without encoding suffix.
57928         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
57929         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
57930
57931 2007-10-16  Bruno Haible  <bruno@clisp.org>
57932
57933         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
57934         * lib/getgroups.c (getgroups): Likewise.
57935         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
57936
57937 2007-10-16  Bruno Haible  <bruno@clisp.org>
57938
57939         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
57940         * modules/malloc-posix (License): Likewise.
57941         * modules/realloc-posix (License): Likewise.
57942         * modules/calloc-posix (License): Likewise.
57943         * modules/intprops (License): Change from GPL to LGPL, with
57944         Paul Eggert's approval.
57945
57946 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57947
57948         Merge glibc changes into lib/glob.c.
57949
57950         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
57951         2007-10-15 04:59:03 UTC.  Here are the changes:
57952
57953         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
57954
57955         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
57956
57957         * lib/glob.c: Add some branch prediction throughout.
57958
57959         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
57960
57961         [BZ #5103]
57962         * lib/glob.c (glob): Recognize patterns starting \/.
57963
57964         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
57965
57966         [BZ #3996]
57967         * lib/glob.c (attribute_hidden): Define if not defined.
57968         (glob): Unescape dirname, filename or username when needed and not
57969         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
57970         is NULL.  Handle unescaped [ in pattern without closing ].
57971         Don't pass GLOB_CHECK down to recursive glob for directories.
57972         (__glob_pattern_type): New function.
57973         (__glob_pattern_p): Implement using __glob_pattern_type.
57974         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
57975         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
57976         Remove unreachable code.
57977
57978         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
57979
57980         * lib/glob.c (glob_in_dir): Add some comments and asserts to
57981         explain why there are no leaks.
57982
57983         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
57984
57985         [BZ #3253]
57986         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
57987         time, rather allocate increasingly bigger arrays of pointers, if
57988         possible with alloca, if too large with malloc.
57989
57990 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57991
57992         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
57993         Problem reported by H.Merijn Brand in
57994         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
57995         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
57996         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
57997
57998 2007-10-15  Bruno Haible  <bruno@clisp.org>
57999
58000         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
58001         with explicit rpl_ prefix.
58002         * lib/fopen.c (fopen): Likewise.
58003         * lib/freopen.c (freopen): Likewise.
58004         * lib/iconv.c (iconv): Likewise.
58005         * lib/iconv_close.c (iconv_close): Likewise.
58006
58007 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58008
58009         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
58010
58011 2007-10-15  Bruno Haible  <bruno@clisp.org>
58012
58013         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
58014         <stddef.h> instead of <stdlib.h> since we only need NULL.
58015         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58016
58017 2007-10-15  Bruno Haible  <bruno@clisp.org>
58018
58019         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
58020         Replace paragraph talking about LIBOBJS.
58021         Reported by Colin Watson <cjwatson@debian.org>.
58022
58023 2007-10-15  Bruno Haible  <bruno@clisp.org>
58024
58025         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
58026         <stdlib.h> before using NULL.
58027
58028 2007-10-15  Simon Josefsson  <simon@josefsson.org>
58029
58030         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
58031         Reported by Albert Chin <china@thewrittenword.com>.
58032
58033 2007-10-14  Bruno Haible  <bruno@clisp.org>
58034
58035         * modules/iconv_open-utf-tests: New file.
58036         * tests/test-iconv-utf.c: New file.
58037
58038         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
58039         * modules/iconv_open-utf: New file.
58040         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
58041         (iconv, iconv_close): New declarations.
58042         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
58043         be defined.
58044         (iconv_open): Add special handling of conversion between UTF-8 and
58045         UTF-{16,32}{BE,LE}.
58046         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
58047         * lib/iconv_close.c: New file.
58048         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
58049         gl_FUNC_ICONV_OPEN.
58050         (gl_FUNC_ICONV_OPEN): Use it.
58051         (gl_FUNC_ICONV_OPEN_UTF): New macro.
58052         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
58053         and REPLACE_ICONV_UTF.
58054         * modules/iconv_open (Depends-on): Add c-strcase.
58055         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
58056         ICONV_CONST.
58057         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
58058
58059 2007-10-13  Albert Chin  <china@thewrittenword.com>
58060             Bruno Haible  <bruno@clisp.org>
58061
58062         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
58063         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
58064
58065 2007-10-13  Bruno Haible  <bruno@clisp.org>
58066
58067         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
58068         defined, use the ISO C99 inline semantics.
58069         * lib/argp.h (ARGP_EI): Likewise.
58070
58071 2007-10-13  Bruno Haible  <bruno@clisp.org>
58072
58073         Handle 'inline' change in gcc 4.3.0.
58074         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
58075         argp_fmtstream_write, argp_fmtstream_set_lmargin,
58076         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
58077         argp_fmtstream_point): Disable 'extern' declaration if the function
58078         definition is going to be provided inline.
58079         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
58080         semantics, not the ISO C99 inline semantics.
58081         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
58082         'extern' declaration if the function definition is going to be provided
58083         inline.
58084         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
58085         the GNU C inline semantics, not the ISO C99 inline semantics. With
58086         GCC 4.2, avoid a warning.
58087
58088 2007-10-13  Bruno Haible  <bruno@clisp.org>
58089
58090         * lib/freading.h (freading): Enable the use of __freading for
58091         glibc >= 2.7.
58092         * lib/freading.c (freading): Likewise.
58093
58094 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58095
58096         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
58097         "warning: C99 inline functions are not supported; using GNU89".
58098
58099 2007-10-12  Bruno Haible  <bruno@clisp.org>
58100
58101         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
58102         of 2.
58103         * tests/test-ceilf2.c: New file.
58104         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
58105
58106         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
58107         * modules/ceilf-tests: Update.
58108
58109 2007-10-12  Bruno Haible  <bruno@clisp.org>
58110
58111         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
58112         of 2.
58113         * tests/test-floorf2.c: New file.
58114         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
58115
58116         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
58117         * modules/floorf-tests: Update.
58118
58119 2007-10-12  Bruno Haible  <bruno@clisp.org>
58120
58121         * tests/test-trunc2.c: New file.
58122         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
58123
58124         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
58125         * modules/trunc-tests: Update.
58126
58127 2007-10-12  Bruno Haible  <bruno@clisp.org>
58128
58129         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
58130         of 2.
58131         * tests/test-truncf2.c: New file.
58132         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
58133
58134         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
58135         * modules/truncf-tests: Update.
58136
58137 2007-10-11  Eric Blake  <ebb9@byu.net>
58138
58139         Don't claim strerror is broken on Interix.
58140         * doc/functions/strerror.texi (strerror): Known broken systems are
58141         now Solaris 8, and not Interix.
58142         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
58143         Interix on cross-compile.
58144         Reported by Martin Koeppe in
58145         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
58146
58147 2007-10-11  Bruno Haible  <bruno@clisp.org>
58148
58149         * modules/i-ring-tests: New file.
58150         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
58151         instead of assert.
58152
58153 2007-10-11  Bruno Haible  <bruno@clisp.org>
58154
58155         * modules/filenamecat-tests: New file.
58156         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
58157         * lib/filenamecat.c: Remove test code.
58158
58159 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58160
58161         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
58162
58163         * lib/strerror.c: Include <string.h> always, to test interface,
58164         and to remove the need for the dummy.
58165         Include intprops.h to compute width instead of doing it ourselves
58166         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
58167         (strerror): Define it to return NULL if there's no system strerror.
58168         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
58169         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
58170         ancient pre-strerror Unix systems well any more.  Saying "unknown
58171         system error" is enough.
58172         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
58173         simpler strerror.c implementation.
58174         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
58175         Simplify the tests to reflect the simpler strerror implementation.
58176         * modules/strerror (Depends-on): Add intprops.
58177
58178 2007-10-09  Eric Blake  <ebb9@byu.net>
58179
58180         Silence test-fpending.
58181         * modules/fpending-tests (Files): Add wrapper script.
58182         * tests/test-fpending.sh: New file.
58183
58184 2007-10-09  Bruno Haible  <bruno@clisp.org>
58185
58186         * MODULES.html.sh (func_module): Don't create a hyperlink for
58187         function names like 'printf_frexp'.
58188         (Misc): Add crc, memxor.
58189         (Characteristics of floating types): New section.
58190         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
58191         isnanf-nolibm, signbit, trunc, truncf, truncl.
58192         (Enhancements for ISO C 99 functions): New subsection Input/output.
58193         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
58194         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
58195         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
58196         (Compatibility checks for POSIX:2001 functions): Add clock-time.
58197         (Enhancements for POSIX:2001 functions): Add chdir-long.
58198         (File system functions): Add areadlink, chdir-safer, read-file.
58199         Remove cycle-check.
58200         (File system as inode set): New section.
58201         (Date and time): Add gethrxtime.
58202         (Multithreading): Add openmp.
58203         (Internationalization functions): Add localename.
58204         (Unicode string functions): Add unistr/u*-mbsnlen.
58205         (Support for maintaining and releasing projects): Add git-version-gen.
58206         (Lone files): Remove directories.
58207
58208 2007-10-08  Ben Pfaff  <blp@gnu.org>
58209
58210         * lib/xmalloca.h: Fix typo in comment.
58211
58212 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58213
58214         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
58215         when avoiding problems with integer overflow.  Use a portable test
58216         instead.
58217
58218 2007-10-08  Simon Josefsson  <simon@josefsson.org>
58219
58220         * modules/dummy (License): Change to LGPLv2+.
58221         * modules/float (License): Likewise
58222         * modules/realloc (License): Likewise
58223         * modules/stdlib (License): Likewise
58224
58225 2007-10-07  Bruno Haible  <bruno@clisp.org>
58226
58227         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
58228         * floor.c (TWO_MANT_DIG): Likewise.
58229         * ceil.c (TWO_MANT_DIG): Likewise.
58230         Reported by Ben Pfaff.
58231
58232 2007-10-07  Bruno Haible  <bruno@clisp.org>
58233
58234         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
58235         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
58236         * lib/frexp.c (FUNC): Likewise.
58237         * lib/printf-frexp.h (printf_frexp): Likewise.
58238         * lib/printf-frexpl.h (printf_frexpl): Likewise.
58239         * lib/printf-frexp.c (FUNC): Likewise.
58240         Suggested by Jim Meyering.
58241
58242 2007-10-07  Jim Meyering  <meyering@redhat.com>
58243
58244         Make xnanosleep's integer overflow test more robust.
58245         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
58246         so that gcc-4.3.0 doesn't optimize away this test for overflow.
58247
58248 2007-10-07  Bruno Haible  <bruno@clisp.org>
58249
58250         * NEWS: Mention the license change.
58251
58252         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
58253         abbreviations in the modules files.
58254
58255         Change copyright notice from GPLv2+ to GPLv3+.
58256         * README: Change copyright notice.
58257         * MODULES.html.sh: Likewise.
58258         * build-aux/bootstrap.conf: Likewise.
58259         * build-aux/config.libpath: Likewise.
58260         * build-aux/csharpcomp.sh.in: Likewise.
58261         * build-aux/csharpexec.sh.in: Likewise.
58262         * build-aux/install-reloc: Likewise.
58263         * build-aux/javacomp.sh.in: Likewise.
58264         * build-aux/javaexec.sh.in: Likewise.
58265         * build-aux/ldd.sh.in: Likewise.
58266         * build-aux/reloc-ldflags: Likewise.
58267         * build-aux/relocatable.sh.in: Likewise.
58268         * build-aux/x-to-1.in: Likewise.
58269         * check-module: Likewise.
58270         * config/srclistvars.sh: Likewise.
58271         * gnulib-tool: Likewise.
58272         * lib/acl-internal.h: Likewise.
58273         * lib/acl.c: Likewise.
58274         * lib/acl.h: Likewise.
58275         * lib/acl_entries.c: Likewise.
58276         * lib/areadlink-with-size.c: Likewise.
58277         * lib/areadlink.c: Likewise.
58278         * lib/areadlink.h: Likewise.
58279         * lib/argmatch.c: Likewise.
58280         * lib/argmatch.h: Likewise.
58281         * lib/argp-ba.c: Likewise.
58282         * lib/argp-eexst.c: Likewise.
58283         * lib/argp-fmtstream.c: Likewise.
58284         * lib/argp-fmtstream.h: Likewise.
58285         * lib/argp-fs-xinl.c: Likewise.
58286         * lib/argp-help.c: Likewise.
58287         * lib/argp-namefrob.h: Likewise.
58288         * lib/argp-parse.c: Likewise.
58289         * lib/argp-pin.c: Likewise.
58290         * lib/argp-pv.c: Likewise.
58291         * lib/argp-pvh.c: Likewise.
58292         * lib/argp-xinl.c: Likewise.
58293         * lib/argp.h: Likewise.
58294         * lib/at-func.c: Likewise.
58295         * lib/atanl.c: Likewise.
58296         * lib/backupfile.c: Likewise.
58297         * lib/backupfile.h: Likewise.
58298         * lib/basename.c: Likewise.
58299         * lib/binary-io.h: Likewise.
58300         * lib/byteswap.in.h: Likewise.
58301         * lib/c-stack.c: Likewise.
58302         * lib/c-stack.h: Likewise.
58303         * lib/c-strcasestr.c: Likewise.
58304         * lib/c-strcasestr.h: Likewise.
58305         * lib/c-strstr.c: Likewise.
58306         * lib/c-strstr.h: Likewise.
58307         * lib/c-strtod.c: Likewise.
58308         * lib/calloc.c: Likewise.
58309         * lib/canon-host.c: Likewise.
58310         * lib/canon-host.h: Likewise.
58311         * lib/canonicalize-lgpl.c: Likewise.
58312         * lib/canonicalize.c: Likewise.
58313         * lib/canonicalize.h: Likewise.
58314         * lib/ceil.c: Likewise.
58315         * lib/ceilf.c: Likewise.
58316         * lib/ceill.c: Likewise.
58317         * lib/chdir-long.c: Likewise.
58318         * lib/chdir-long.h: Likewise.
58319         * lib/chdir-safer.c: Likewise.
58320         * lib/chdir-safer.h: Likewise.
58321         * lib/chown.c: Likewise.
58322         * lib/classpath.c: Likewise.
58323         * lib/classpath.h: Likewise.
58324         * lib/clean-temp.c: Likewise.
58325         * lib/clean-temp.h: Likewise.
58326         * lib/cloexec.c: Likewise.
58327         * lib/close-stream.c: Likewise.
58328         * lib/closein.c: Likewise.
58329         * lib/closein.h: Likewise.
58330         * lib/closeout.c: Likewise.
58331         * lib/closeout.h: Likewise.
58332         * lib/concat-filename.c: Likewise.
58333         * lib/copy-file.c: Likewise.
58334         * lib/copy-file.h: Likewise.
58335         * lib/count-one-bits.h: Likewise.
58336         * lib/crc.c: Likewise.
58337         * lib/crc.h: Likewise.
58338         * lib/creat-safer.c: Likewise.
58339         * lib/csharpcomp.c: Likewise.
58340         * lib/csharpcomp.h: Likewise.
58341         * lib/csharpexec.c: Likewise.
58342         * lib/csharpexec.h: Likewise.
58343         * lib/cycle-check.c: Likewise.
58344         * lib/cycle-check.h: Likewise.
58345         * lib/diacrit.c: Likewise.
58346         * lib/diacrit.h: Likewise.
58347         * lib/diffseq.h: Likewise.
58348         * lib/dirchownmod.c: Likewise.
58349         * lib/dirent.in.h: Likewise.
58350         * lib/dirfd.c: Likewise.
58351         * lib/dirfd.h: Likewise.
58352         * lib/dirname.c: Likewise.
58353         * lib/dirname.h: Likewise.
58354         * lib/dummy.c: Likewise.
58355         * lib/dup-safer.c: Likewise.
58356         * lib/dup2.c: Likewise.
58357         * lib/eealloc.h: Likewise.
58358         * lib/error.c: Likewise.
58359         * lib/error.h: Likewise.
58360         * lib/euidaccess.c: Likewise.
58361         * lib/exclude.c: Likewise.
58362         * lib/exclude.h: Likewise.
58363         * lib/execute.c: Likewise.
58364         * lib/execute.h: Likewise.
58365         * lib/exitfail.c: Likewise.
58366         * lib/exitfail.h: Likewise.
58367         * lib/expl.c: Likewise.
58368         * lib/fatal-signal.c: Likewise.
58369         * lib/fatal-signal.h: Likewise.
58370         * lib/fbufmode.c: Likewise.
58371         * lib/fbufmode.h: Likewise.
58372         * lib/fchdir.c: Likewise.
58373         * lib/fchmodat.c: Likewise.
58374         * lib/fchownat.c: Likewise.
58375         * lib/fcntl--.h: Likewise.
58376         * lib/fcntl-safer.h: Likewise.
58377         * lib/fcntl.in.h: Likewise.
58378         * lib/fd-safer.c: Likewise.
58379         * lib/fflush.c: Likewise.
58380         * lib/file-has-acl.c: Likewise.
58381         * lib/file-set.c: Likewise.
58382         * lib/file-type.c: Likewise.
58383         * lib/file-type.h: Likewise.
58384         * lib/fileblocks.c: Likewise.
58385         * lib/filemode.c: Likewise.
58386         * lib/filemode.h: Likewise.
58387         * lib/filename.h: Likewise.
58388         * lib/filenamecat.c: Likewise.
58389         * lib/filenamecat.h: Likewise.
58390         * lib/findprog.c: Likewise.
58391         * lib/findprog.h: Likewise.
58392         * lib/float.in.h: Likewise.
58393         * lib/floor.c: Likewise.
58394         * lib/floorf.c: Likewise.
58395         * lib/floorl.c: Likewise.
58396         * lib/fopen-safer.c: Likewise.
58397         * lib/fopen.c: Likewise.
58398         * lib/fpending.c: Likewise.
58399         * lib/fpending.h: Likewise.
58400         * lib/fprintf.c: Likewise.
58401         * lib/fprintftime.h: Likewise.
58402         * lib/fpucw.h: Likewise.
58403         * lib/fpurge.c: Likewise.
58404         * lib/fpurge.h: Likewise.
58405         * lib/freadable.c: Likewise.
58406         * lib/freadable.h: Likewise.
58407         * lib/freadahead.c: Likewise.
58408         * lib/freadahead.h: Likewise.
58409         * lib/freading.c: Likewise.
58410         * lib/freading.h: Likewise.
58411         * lib/free.c: Likewise.
58412         * lib/freopen.c: Likewise.
58413         * lib/frexp.c: Likewise.
58414         * lib/frexpl.c: Likewise.
58415         * lib/fseek.c: Likewise.
58416         * lib/fseterr.c: Likewise.
58417         * lib/fseterr.h: Likewise.
58418         * lib/fstatat.c: Likewise.
58419         * lib/fstrcmp.c: Likewise.
58420         * lib/fstrcmp.h: Likewise.
58421         * lib/fsusage.c: Likewise.
58422         * lib/fsusage.h: Likewise.
58423         * lib/ftell.c: Likewise.
58424         * lib/ftello.c: Likewise.
58425         * lib/fts-cycle.c: Likewise.
58426         * lib/fts.c: Likewise.
58427         * lib/fts_.h: Likewise.
58428         * lib/full-read.c: Likewise.
58429         * lib/full-read.h: Likewise.
58430         * lib/full-write.c: Likewise.
58431         * lib/full-write.h: Likewise.
58432         * lib/fwritable.c: Likewise.
58433         * lib/fwritable.h: Likewise.
58434         * lib/fwriteerror.c: Likewise.
58435         * lib/fwriteerror.h: Likewise.
58436         * lib/fwriting.c: Likewise.
58437         * lib/fwriting.h: Likewise.
58438         * lib/gcd.c: Likewise.
58439         * lib/gcd.h: Likewise.
58440         * lib/getcwd.c: Likewise.
58441         * lib/getdate.h: Likewise.
58442         * lib/getdate.y: Likewise.
58443         * lib/getdomainname.c: Likewise.
58444         * lib/getdomainname.h: Likewise.
58445         * lib/getgroups.c: Likewise.
58446         * lib/gethostname.c: Likewise.
58447         * lib/gethrxtime.c: Likewise.
58448         * lib/gethrxtime.h: Likewise.
58449         * lib/getloadavg.c: Likewise.
58450         * lib/getndelim2.c: Likewise.
58451         * lib/getndelim2.h: Likewise.
58452         * lib/getnline.c: Likewise.
58453         * lib/getnline.h: Likewise.
58454         * lib/getopt.c: Likewise.
58455         * lib/getopt.in.h: Likewise.
58456         * lib/getopt1.c: Likewise.
58457         * lib/getopt_int.h: Likewise.
58458         * lib/getpagesize.h: Likewise.
58459         * lib/getsubopt.c: Likewise.
58460         * lib/gettime.c: Likewise.
58461         * lib/getugroups.c: Likewise.
58462         * lib/getugroups.h: Likewise.
58463         * lib/getusershell.c: Likewise.
58464         * lib/gl_anyavltree_list1.h: Likewise.
58465         * lib/gl_anyavltree_list2.h: Likewise.
58466         * lib/gl_anyhash_list1.h: Likewise.
58467         * lib/gl_anyhash_list2.h: Likewise.
58468         * lib/gl_anylinked_list1.h: Likewise.
58469         * lib/gl_anylinked_list2.h: Likewise.
58470         * lib/gl_anyrbtree_list1.h: Likewise.
58471         * lib/gl_anyrbtree_list2.h: Likewise.
58472         * lib/gl_anytree_list1.h: Likewise.
58473         * lib/gl_anytree_list2.h: Likewise.
58474         * lib/gl_anytree_oset.h: Likewise.
58475         * lib/gl_anytreehash_list1.h: Likewise.
58476         * lib/gl_anytreehash_list2.h: Likewise.
58477         * lib/gl_array_list.c: Likewise.
58478         * lib/gl_array_list.h: Likewise.
58479         * lib/gl_array_oset.c: Likewise.
58480         * lib/gl_array_oset.h: Likewise.
58481         * lib/gl_avltree_list.c: Likewise.
58482         * lib/gl_avltree_list.h: Likewise.
58483         * lib/gl_avltree_oset.c: Likewise.
58484         * lib/gl_avltree_oset.h: Likewise.
58485         * lib/gl_avltreehash_list.c: Likewise.
58486         * lib/gl_avltreehash_list.h: Likewise.
58487         * lib/gl_carray_list.c: Likewise.
58488         * lib/gl_carray_list.h: Likewise.
58489         * lib/gl_linked_list.c: Likewise.
58490         * lib/gl_linked_list.h: Likewise.
58491         * lib/gl_linkedhash_list.c: Likewise.
58492         * lib/gl_linkedhash_list.h: Likewise.
58493         * lib/gl_list.c: Likewise.
58494         * lib/gl_list.h: Likewise.
58495         * lib/gl_oset.c: Likewise.
58496         * lib/gl_oset.h: Likewise.
58497         * lib/gl_rbtree_list.c: Likewise.
58498         * lib/gl_rbtree_list.h: Likewise.
58499         * lib/gl_rbtree_oset.c: Likewise.
58500         * lib/gl_rbtree_oset.h: Likewise.
58501         * lib/gl_rbtreehash_list.c: Likewise.
58502         * lib/gl_rbtreehash_list.h: Likewise.
58503         * lib/gl_sublist.c: Likewise.
58504         * lib/gl_sublist.h: Likewise.
58505         * lib/group-member.c: Likewise.
58506         * lib/group-member.h: Likewise.
58507         * lib/hard-locale.c: Likewise.
58508         * lib/hard-locale.h: Likewise.
58509         * lib/hash-pjw.c: Likewise.
58510         * lib/hash-pjw.h: Likewise.
58511         * lib/hash-triple.c: Likewise.
58512         * lib/hash.c: Likewise.
58513         * lib/hash.h: Likewise.
58514         * lib/human.c: Likewise.
58515         * lib/human.h: Likewise.
58516         * lib/i-ring.c: Likewise.
58517         * lib/i-ring.h: Likewise.
58518         * lib/idcache.c: Likewise.
58519         * lib/imaxabs.c: Likewise.
58520         * lib/imaxdiv.c: Likewise.
58521         * lib/inet_pton.c: Likewise.
58522         * lib/inet_pton.h: Likewise.
58523         * lib/intprops.h: Likewise.
58524         * lib/inttostr.c: Likewise.
58525         * lib/inttostr.h: Likewise.
58526         * lib/inttypes.in.h: Likewise.
58527         * lib/isapipe.c: Likewise.
58528         * lib/isdir.c: Likewise.
58529         * lib/isnan.c: Likewise.
58530         * lib/isnan.h: Likewise.
58531         * lib/isnanf.c: Likewise.
58532         * lib/isnanf.h: Likewise.
58533         * lib/isnanl-nolibm.h: Likewise.
58534         * lib/isnanl.c: Likewise.
58535         * lib/isnanl.h: Likewise.
58536         * lib/javacomp.c: Likewise.
58537         * lib/javacomp.h: Likewise.
58538         * lib/javaexec.c: Likewise.
58539         * lib/javaexec.h: Likewise.
58540         * lib/javaversion.c: Likewise.
58541         * lib/javaversion.h: Likewise.
58542         * lib/javaversion.java: Likewise.
58543         * lib/lbrkprop.h: Likewise.
58544         * lib/lchmod.h: Likewise.
58545         * lib/lchown.c: Likewise.
58546         * lib/ldexpl.c: Likewise.
58547         * lib/linebreak.c: Likewise.
58548         * lib/linebreak.h: Likewise.
58549         * lib/linebuffer.c: Likewise.
58550         * lib/linebuffer.h: Likewise.
58551         * lib/locale.in.h: Likewise.
58552         * lib/logl.c: Likewise.
58553         * lib/long-options.c: Likewise.
58554         * lib/long-options.h: Likewise.
58555         * lib/lstat.c: Likewise.
58556         * lib/lstat.h: Likewise.
58557         * lib/math.in.h: Likewise.
58558         * lib/mbchar.c: Likewise.
58559         * lib/mbchar.h: Likewise.
58560         * lib/mbfile.h: Likewise.
58561         * lib/mbiter.h: Likewise.
58562         * lib/mbscasecmp.c: Likewise.
58563         * lib/mbscasestr.c: Likewise.
58564         * lib/mbschr.c: Likewise.
58565         * lib/mbscspn.c: Likewise.
58566         * lib/mbslen.c: Likewise.
58567         * lib/mbsncasecmp.c: Likewise.
58568         * lib/mbsnlen.c: Likewise.
58569         * lib/mbspbrk.c: Likewise.
58570         * lib/mbspcasecmp.c: Likewise.
58571         * lib/mbsrchr.c: Likewise.
58572         * lib/mbssep.c: Likewise.
58573         * lib/mbsspn.c: Likewise.
58574         * lib/mbsstr.c: Likewise.
58575         * lib/mbstok_r.c: Likewise.
58576         * lib/mbswidth.c: Likewise.
58577         * lib/mbswidth.h: Likewise.
58578         * lib/mbuiter.h: Likewise.
58579         * lib/memcasecmp.c: Likewise.
58580         * lib/memcasecmp.h: Likewise.
58581         * lib/memchr.c: Likewise.
58582         * lib/memcmp.c: Likewise.
58583         * lib/memcoll.c: Likewise.
58584         * lib/memcoll.h: Likewise.
58585         * lib/memcpy.c: Likewise.
58586         * lib/memrchr.c: Likewise.
58587         * lib/mkancesdirs.c: Likewise.
58588         * lib/mkdir-p.c: Likewise.
58589         * lib/mkdir-p.h: Likewise.
58590         * lib/mkdir.c: Likewise.
58591         * lib/mkdirat.c: Likewise.
58592         * lib/mkdtemp.c: Likewise.
58593         * lib/mkstemp-safer.c: Likewise.
58594         * lib/mkstemp.c: Likewise.
58595         * lib/modechange.c: Likewise.
58596         * lib/modechange.h: Likewise.
58597         * lib/mountlist.c: Likewise.
58598         * lib/mountlist.h: Likewise.
58599         * lib/mpsort.c: Likewise.
58600         * lib/nanosleep.c: Likewise.
58601         * lib/obstack.c: Likewise.
58602         * lib/obstack.h: Likewise.
58603         * lib/open-safer.c: Likewise.
58604         * lib/open.c: Likewise.
58605         * lib/openat-die.c: Likewise.
58606         * lib/openat-priv.h: Likewise.
58607         * lib/openat-proc.c: Likewise.
58608         * lib/openat.c: Likewise.
58609         * lib/openat.h: Likewise.
58610         * lib/pagealign_alloc.c: Likewise.
58611         * lib/pagealign_alloc.h: Likewise.
58612         * lib/physmem.c: Likewise.
58613         * lib/physmem.h: Likewise.
58614         * lib/pipe-safer.c: Likewise.
58615         * lib/pipe.c: Likewise.
58616         * lib/pipe.h: Likewise.
58617         * lib/posixtm.c: Likewise.
58618         * lib/posixtm.h: Likewise.
58619         * lib/posixver.c: Likewise.
58620         * lib/printf-frexp.c: Likewise.
58621         * lib/printf-frexp.h: Likewise.
58622         * lib/printf-frexpl.c: Likewise.
58623         * lib/printf-frexpl.h: Likewise.
58624         * lib/printf.c: Likewise.
58625         * lib/progname.c: Likewise.
58626         * lib/progname.h: Likewise.
58627         * lib/progreloc.c: Likewise.
58628         * lib/putenv.c: Likewise.
58629         * lib/quote.c: Likewise.
58630         * lib/quote.h: Likewise.
58631         * lib/quotearg.c: Likewise.
58632         * lib/quotearg.h: Likewise.
58633         * lib/raise.c: Likewise.
58634         * lib/readline.c: Likewise.
58635         * lib/readline.h: Likewise.
58636         * lib/readlink.c: Likewise.
58637         * lib/readtokens.c: Likewise.
58638         * lib/readtokens.h: Likewise.
58639         * lib/readtokens0.c: Likewise.
58640         * lib/readtokens0.h: Likewise.
58641         * lib/readutmp.c: Likewise.
58642         * lib/readutmp.h: Likewise.
58643         * lib/realloc.c: Likewise.
58644         * lib/relocwrapper.c: Likewise.
58645         * lib/rename-dest-slash.c: Likewise.
58646         * lib/rename.c: Likewise.
58647         * lib/rmdir.c: Likewise.
58648         * lib/rpmatch.c: Likewise.
58649         * lib/safe-read.c: Likewise.
58650         * lib/safe-read.h: Likewise.
58651         * lib/safe-write.c: Likewise.
58652         * lib/safe-write.h: Likewise.
58653         * lib/same-inode.h: Likewise.
58654         * lib/same.c: Likewise.
58655         * lib/same.h: Likewise.
58656         * lib/save-cwd.c: Likewise.
58657         * lib/save-cwd.h: Likewise.
58658         * lib/savedir.c: Likewise.
58659         * lib/savedir.h: Likewise.
58660         * lib/savewd.c: Likewise.
58661         * lib/savewd.h: Likewise.
58662         * lib/search.in.h: Likewise.
58663         * lib/setenv.c: Likewise.
58664         * lib/setenv.h: Likewise.
58665         * lib/settime.c: Likewise.
58666         * lib/sh-quote.c: Likewise.
58667         * lib/sh-quote.h: Likewise.
58668         * lib/sig2str.c: Likewise.
58669         * lib/sig2str.h: Likewise.
58670         * lib/signal.in.h: Likewise.
58671         * lib/signbitd.c: Likewise.
58672         * lib/signbitf.c: Likewise.
58673         * lib/signbitl.c: Likewise.
58674         * lib/sigprocmask.c: Likewise.
58675         * lib/sincosl.c: Likewise.
58676         * lib/sleep.c: Likewise.
58677         * lib/sprintf.c: Likewise.
58678         * lib/sqrtl.c: Likewise.
58679         * lib/stat-time.h: Likewise.
58680         * lib/stdio--.h: Likewise.
58681         * lib/stdio-safer.h: Likewise.
58682         * lib/stdlib--.h: Likewise.
58683         * lib/stdlib-safer.h: Likewise.
58684         * lib/stdlib.in.h: Likewise.
58685         * lib/stpcpy.c: Likewise.
58686         * lib/stpncpy.c: Likewise.
58687         * lib/strchrnul.c: Likewise.
58688         * lib/strcspn.c: Likewise.
58689         * lib/strerror.c: Likewise.
58690         * lib/strftime.c: Likewise.
58691         * lib/strftime.h: Likewise.
58692         * lib/striconveh.c: Likewise.
58693         * lib/striconveh.h: Likewise.
58694         * lib/striconveha.c: Likewise.
58695         * lib/striconveha.h: Likewise.
58696         * lib/stripslash.c: Likewise.
58697         * lib/strnlen1.c: Likewise.
58698         * lib/strnlen1.h: Likewise.
58699         * lib/strtod.c: Likewise.
58700         * lib/strtoimax.c: Likewise.
58701         * lib/strtok_r.c: Likewise.
58702         * lib/strtol.c: Likewise.
58703         * lib/strtoll.c: Likewise.
58704         * lib/strtoul.c: Likewise.
58705         * lib/strtoull.c: Likewise.
58706         * lib/sysexits.in.h: Likewise.
58707         * lib/tempname.c: Likewise.
58708         * lib/tempname.h: Likewise.
58709         * lib/timespec.h: Likewise.
58710         * lib/tls.c: Likewise.
58711         * lib/tls.h: Likewise.
58712         * lib/tmpdir.c: Likewise.
58713         * lib/tmpdir.h: Likewise.
58714         * lib/tmpfile-safer.c: Likewise.
58715         * lib/tmpfile.c: Likewise.
58716         * lib/trigl.c: Likewise.
58717         * lib/trigl.h: Likewise.
58718         * lib/trim.c: Likewise.
58719         * lib/trim.h: Likewise.
58720         * lib/trunc.c: Likewise.
58721         * lib/truncf.c: Likewise.
58722         * lib/truncl.c: Likewise.
58723         * lib/tsearch.c: Likewise.
58724         * lib/unicodeio.c: Likewise.
58725         * lib/unicodeio.h: Likewise.
58726         * lib/unistd--.h: Likewise.
58727         * lib/unistd-safer.h: Likewise.
58728         * lib/unistdio/ulc-fprintf.c: Likewise.
58729         * lib/unistdio/ulc-vfprintf.c: Likewise.
58730         * lib/unlinkdir.c: Likewise.
58731         * lib/unlinkdir.h: Likewise.
58732         * lib/unlocked-io.h: Likewise.
58733         * lib/unsetenv.c: Likewise.
58734         * lib/userspec.c: Likewise.
58735         * lib/utime.c: Likewise.
58736         * lib/utimecmp.c: Likewise.
58737         * lib/utimecmp.h: Likewise.
58738         * lib/utimens.c: Likewise.
58739         * lib/verify.h: Likewise.
58740         * lib/verror.c: Likewise.
58741         * lib/verror.h: Likewise.
58742         * lib/version-etc-fsf.c: Likewise.
58743         * lib/version-etc.c: Likewise.
58744         * lib/version-etc.h: Likewise.
58745         * lib/vfprintf.c: Likewise.
58746         * lib/vprintf.c: Likewise.
58747         * lib/vsprintf.c: Likewise.
58748         * lib/w32spawn.h: Likewise.
58749         * lib/wait-process.c: Likewise.
58750         * lib/wait-process.h: Likewise.
58751         * lib/wcwidth.c: Likewise.
58752         * lib/write-any-file.c: Likewise.
58753         * lib/xalloc-die.c: Likewise.
58754         * lib/xalloc.h: Likewise.
58755         * lib/xasprintf.c: Likewise.
58756         * lib/xgetcwd.c: Likewise.
58757         * lib/xgetcwd.h: Likewise.
58758         * lib/xgetdomainname.c: Likewise.
58759         * lib/xgetdomainname.h: Likewise.
58760         * lib/xgethostname.c: Likewise.
58761         * lib/xmalloc.c: Likewise.
58762         * lib/xmalloca.c: Likewise.
58763         * lib/xmalloca.h: Likewise.
58764         * lib/xmemcoll.c: Likewise.
58765         * lib/xnanosleep.c: Likewise.
58766         * lib/xreadlink.c: Likewise.
58767         * lib/xreadlink.h: Likewise.
58768         * lib/xsetenv.c: Likewise.
58769         * lib/xsetenv.h: Likewise.
58770         * lib/xstriconv.c: Likewise.
58771         * lib/xstriconv.h: Likewise.
58772         * lib/xstrndup.c: Likewise.
58773         * lib/xstrndup.h: Likewise.
58774         * lib/xstrtod.c: Likewise.
58775         * lib/xstrtod.h: Likewise.
58776         * lib/xstrtol-error.c: Likewise.
58777         * lib/xstrtol.c: Likewise.
58778         * lib/xstrtol.h: Likewise.
58779         * lib/xtime.h: Likewise.
58780         * lib/xvasprintf.c: Likewise.
58781         * lib/xvasprintf.h: Likewise.
58782         * lib/yesno.c: Likewise.
58783         * lib/yesno.h: Likewise.
58784         * posix-modules: Likewise.
58785         * tests/test-alloca-opt.c: Likewise.
58786         * tests/test-arcfour.c: Likewise.
58787         * tests/test-arctwo.c: Likewise.
58788         * tests/test-argmatch.c: Likewise.
58789         * tests/test-argp-2.sh: Likewise.
58790         * tests/test-argp.c: Likewise.
58791         * tests/test-arpa_inet.c: Likewise.
58792         * tests/test-array_list.c: Likewise.
58793         * tests/test-array_oset.c: Likewise.
58794         * tests/test-atexit.c: Likewise.
58795         * tests/test-avltree_list.c: Likewise.
58796         * tests/test-avltree_oset.c: Likewise.
58797         * tests/test-avltreehash_list.c: Likewise.
58798         * tests/test-base64.c: Likewise.
58799         * tests/test-binary-io.c: Likewise.
58800         * tests/test-byteswap.c: Likewise.
58801         * tests/test-c-ctype.c: Likewise.
58802         * tests/test-c-strcasecmp.c: Likewise.
58803         * tests/test-c-strcasestr.c: Likewise.
58804         * tests/test-c-strncasecmp.c: Likewise.
58805         * tests/test-c-strstr.c: Likewise.
58806         * tests/test-canonicalize-lgpl.c: Likewise.
58807         * tests/test-canonicalize.c: Likewise.
58808         * tests/test-carray_list.c: Likewise.
58809         * tests/test-ceilf.c: Likewise.
58810         * tests/test-ceill.c: Likewise.
58811         * tests/test-count-one-bits.c: Likewise.
58812         * tests/test-crc.c: Likewise.
58813         * tests/test-dirname.c: Likewise.
58814         * tests/test-fbufmode.c: Likewise.
58815         * tests/test-fcntl.c: Likewise.
58816         * tests/test-fflush.c: Likewise.
58817         * tests/test-floorf.c: Likewise.
58818         * tests/test-floorl.c: Likewise.
58819         * tests/test-fopen.c: Likewise.
58820         * tests/test-fprintf-posix.c: Likewise.
58821         * tests/test-fprintf-posix.h: Likewise.
58822         * tests/test-fpurge.c: Likewise.
58823         * tests/test-freadable.c: Likewise.
58824         * tests/test-freadahead.c: Likewise.
58825         * tests/test-freading.c: Likewise.
58826         * tests/test-freopen.c: Likewise.
58827         * tests/test-frexp.c: Likewise.
58828         * tests/test-frexpl.c: Likewise.
58829         * tests/test-fseek.c: Likewise.
58830         * tests/test-fseeko.c: Likewise.
58831         * tests/test-fseterr.c: Likewise.
58832         * tests/test-fstrcmp.c: Likewise.
58833         * tests/test-ftell.c: Likewise.
58834         * tests/test-ftello.c: Likewise.
58835         * tests/test-fwritable.c: Likewise.
58836         * tests/test-fwriting.c: Likewise.
58837         * tests/test-getaddrinfo.c: Likewise.
58838         * tests/test-getpass.c: Likewise.
58839         * tests/test-gettimeofday.c: Likewise.
58840         * tests/test-hmac-md5.c: Likewise.
58841         * tests/test-hmac-sha1.c: Likewise.
58842         * tests/test-iconv.c: Likewise.
58843         * tests/test-iconvme.c: Likewise.
58844         * tests/test-inttypes.c: Likewise.
58845         * tests/test-isnan.c: Likewise.
58846         * tests/test-isnanf.c: Likewise.
58847         * tests/test-isnanl-nolibm.c: Likewise.
58848         * tests/test-isnanl.c: Likewise.
58849         * tests/test-isnanl.h: Likewise.
58850         * tests/test-ldexpl.c: Likewise.
58851         * tests/test-linked_list.c: Likewise.
58852         * tests/test-linkedhash_list.c: Likewise.
58853         * tests/test-locale.c: Likewise.
58854         * tests/test-localename.c: Likewise.
58855         * tests/test-lock.c: Likewise.
58856         * tests/test-lseek.c: Likewise.
58857         * tests/test-malloca.c: Likewise.
58858         * tests/test-math.c: Likewise.
58859         * tests/test-mbscasecmp.c: Likewise.
58860         * tests/test-mbscasestr1.c: Likewise.
58861         * tests/test-mbscasestr2.c: Likewise.
58862         * tests/test-mbscasestr3.c: Likewise.
58863         * tests/test-mbscasestr4.c: Likewise.
58864         * tests/test-mbschr.c: Likewise.
58865         * tests/test-mbscspn.c: Likewise.
58866         * tests/test-mbsncasecmp.c: Likewise.
58867         * tests/test-mbspbrk.c: Likewise.
58868         * tests/test-mbspcasecmp.c: Likewise.
58869         * tests/test-mbsrchr.c: Likewise.
58870         * tests/test-mbsspn.c: Likewise.
58871         * tests/test-mbsstr1.c: Likewise.
58872         * tests/test-mbsstr2.c: Likewise.
58873         * tests/test-mbsstr3.c: Likewise.
58874         * tests/test-md5.c: Likewise.
58875         * tests/test-memmem.c: Likewise.
58876         * tests/test-netinet_in.c: Likewise.
58877         * tests/test-open.c: Likewise.
58878         * tests/test-printf-frexp.c: Likewise.
58879         * tests/test-printf-frexpl.c: Likewise.
58880         * tests/test-printf-posix.c: Likewise.
58881         * tests/test-printf-posix.h: Likewise.
58882         * tests/test-rbtree_list.c: Likewise.
58883         * tests/test-rbtree_oset.c: Likewise.
58884         * tests/test-rbtreehash_list.c: Likewise.
58885         * tests/test-read-file.c: Likewise.
58886         * tests/test-rijndael.c: Likewise.
58887         * tests/test-search.c: Likewise.
58888         * tests/test-signbit.c: Likewise.
58889         * tests/test-sleep.c: Likewise.
58890         * tests/test-snprintf-posix.c: Likewise.
58891         * tests/test-snprintf-posix.h: Likewise.
58892         * tests/test-snprintf.c: Likewise.
58893         * tests/test-sprintf-posix.c: Likewise.
58894         * tests/test-sprintf-posix.h: Likewise.
58895         * tests/test-stat-time.c: Likewise.
58896         * tests/test-stdbool.c: Likewise.
58897         * tests/test-stdint.c: Likewise.
58898         * tests/test-stdio.c: Likewise.
58899         * tests/test-stdlib.c: Likewise.
58900         * tests/test-stpncpy.c: Likewise.
58901         * tests/test-strcasestr.c: Likewise.
58902         * tests/test-striconv.c: Likewise.
58903         * tests/test-striconveh.c: Likewise.
58904         * tests/test-striconveha.c: Likewise.
58905         * tests/test-string.c: Likewise.
58906         * tests/test-sys_select.c: Likewise.
58907         * tests/test-sys_socket.c: Likewise.
58908         * tests/test-sys_stat.c: Likewise.
58909         * tests/test-sys_time.c: Likewise.
58910         * tests/test-sysexits.c: Likewise.
58911         * tests/test-time.c: Likewise.
58912         * tests/test-tls.c: Likewise.
58913         * tests/test-trunc.c: Likewise.
58914         * tests/test-truncf.c: Likewise.
58915         * tests/test-truncl.c: Likewise.
58916         * tests/test-unistd.c: Likewise.
58917         * tests/test-vasnprintf-posix.c: Likewise.
58918         * tests/test-vasnprintf-posix2.c: Likewise.
58919         * tests/test-vasnprintf.c: Likewise.
58920         * tests/test-vasprintf-posix.c: Likewise.
58921         * tests/test-vasprintf.c: Likewise.
58922         * tests/test-verify.c: Likewise.
58923         * tests/test-vfprintf-posix.c: Likewise.
58924         * tests/test-vprintf-posix.c: Likewise.
58925         * tests/test-vsnprintf-posix.c: Likewise.
58926         * tests/test-vsnprintf.c: Likewise.
58927         * tests/test-vsprintf-posix.c: Likewise.
58928         * tests/test-wchar.c: Likewise.
58929         * tests/test-wctype.c: Likewise.
58930         * tests/test-wcwidth.c: Likewise.
58931         * tests/test-xstrtol.c: Likewise.
58932         * tests/test-xvasprintf.c: Likewise.
58933         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
58934         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
58935         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58936         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58937         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58938         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
58939         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58940         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58941         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58942         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
58943         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58944         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58945         * tests/uniname/test-uninames.c: Likewise.
58946         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58947         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
58948         * tests/unistdio/test-u16-printf1.h: Likewise.
58949         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58950         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58951         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58952         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58953         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58954         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58955         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58956         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
58957         * tests/unistdio/test-u32-printf1.h: Likewise.
58958         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58959         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58960         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58961         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58962         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58963         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58964         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58965         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
58966         * tests/unistdio/test-u8-printf1.h: Likewise.
58967         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58968         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58969         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58970         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58971         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58972         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58973         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58974         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
58975         * tests/unistdio/test-ulc-printf1.h: Likewise.
58976         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58977         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58978         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58979         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58980         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58981         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58982         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58983         * tests/uniwidth/test-u16-width.c: Likewise.
58984         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58985         * tests/uniwidth/test-u32-width.c: Likewise.
58986         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58987         * tests/uniwidth/test-u8-width.c: Likewise.
58988         * tests/uniwidth/test-uc_width.c: Likewise.
58989         * config/srclist-update: Likewise.
58990         (fixlicense): Update to GPLv3+.
58991
58992         Change copyright notice from LGPLv2.1+ to LGPLv3+.
58993         * tests/test-tsearch.c: Change copyright notice.
58994
58995         Change copyright notice from LGPLv2.0+ to LGPLv3+.
58996         * lib/c-strcaseeq.h: Change copyright notice.
58997         * lib/streq.h: Likewise.
58998         * lib/uniconv.h: Likewise.
58999         * lib/uniconv/u-conv-from-enc.h: Likewise.
59000         * lib/uniconv/u-conv-to-enc.h: Likewise.
59001         * lib/uniconv/u-strconv-from-enc.h: Likewise.
59002         * lib/uniconv/u-strconv-to-enc.h: Likewise.
59003         * lib/uniconv/u16-conv-from-enc.c: Likewise.
59004         * lib/uniconv/u16-conv-to-enc.c: Likewise.
59005         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
59006         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
59007         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
59008         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
59009         * lib/uniconv/u32-conv-from-enc.c: Likewise.
59010         * lib/uniconv/u32-conv-to-enc.c: Likewise.
59011         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
59012         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
59013         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
59014         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
59015         * lib/uniconv/u8-conv-from-enc.c: Likewise.
59016         * lib/uniconv/u8-conv-to-enc.c: Likewise.
59017         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
59018         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
59019         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
59020         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
59021         * lib/uniname.h: Likewise.
59022         * lib/uniname/uniname.c: Likewise.
59023         * lib/unistdio.h: Likewise.
59024         * lib/unistdio/u-asnprintf.h: Likewise.
59025         * lib/unistdio/u-asprintf.h: Likewise.
59026         * lib/unistdio/u-printf-args.c: Likewise.
59027         * lib/unistdio/u-printf-args.h: Likewise.
59028         * lib/unistdio/u-printf-parse.h: Likewise.
59029         * lib/unistdio/u-snprintf.h: Likewise.
59030         * lib/unistdio/u-sprintf.h: Likewise.
59031         * lib/unistdio/u-vasprintf.h: Likewise.
59032         * lib/unistdio/u-vsnprintf.h: Likewise.
59033         * lib/unistdio/u-vsprintf.h: Likewise.
59034         * lib/unistdio/u16-asnprintf.c: Likewise.
59035         * lib/unistdio/u16-asprintf.c: Likewise.
59036         * lib/unistdio/u16-printf-parse.c: Likewise.
59037         * lib/unistdio/u16-snprintf.c: Likewise.
59038         * lib/unistdio/u16-sprintf.c: Likewise.
59039         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
59040         * lib/unistdio/u16-u16-asprintf.c: Likewise.
59041         * lib/unistdio/u16-u16-snprintf.c: Likewise.
59042         * lib/unistdio/u16-u16-sprintf.c: Likewise.
59043         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
59044         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
59045         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
59046         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
59047         * lib/unistdio/u16-vasnprintf.c: Likewise.
59048         * lib/unistdio/u16-vasprintf.c: Likewise.
59049         * lib/unistdio/u16-vsnprintf.c: Likewise.
59050         * lib/unistdio/u16-vsprintf.c: Likewise.
59051         * lib/unistdio/u32-asnprintf.c: Likewise.
59052         * lib/unistdio/u32-asprintf.c: Likewise.
59053         * lib/unistdio/u32-printf-parse.c: Likewise.
59054         * lib/unistdio/u32-snprintf.c: Likewise.
59055         * lib/unistdio/u32-sprintf.c: Likewise.
59056         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
59057         * lib/unistdio/u32-u32-asprintf.c: Likewise.
59058         * lib/unistdio/u32-u32-snprintf.c: Likewise.
59059         * lib/unistdio/u32-u32-sprintf.c: Likewise.
59060         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
59061         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
59062         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
59063         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
59064         * lib/unistdio/u32-vasnprintf.c: Likewise.
59065         * lib/unistdio/u32-vasprintf.c: Likewise.
59066         * lib/unistdio/u32-vsnprintf.c: Likewise.
59067         * lib/unistdio/u32-vsprintf.c: Likewise.
59068         * lib/unistdio/u8-asnprintf.c: Likewise.
59069         * lib/unistdio/u8-asprintf.c: Likewise.
59070         * lib/unistdio/u8-printf-parse.c: Likewise.
59071         * lib/unistdio/u8-snprintf.c: Likewise.
59072         * lib/unistdio/u8-sprintf.c: Likewise.
59073         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
59074         * lib/unistdio/u8-u8-asprintf.c: Likewise.
59075         * lib/unistdio/u8-u8-snprintf.c: Likewise.
59076         * lib/unistdio/u8-u8-sprintf.c: Likewise.
59077         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
59078         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
59079         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
59080         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
59081         * lib/unistdio/u8-vasnprintf.c: Likewise.
59082         * lib/unistdio/u8-vasprintf.c: Likewise.
59083         * lib/unistdio/u8-vsnprintf.c: Likewise.
59084         * lib/unistdio/u8-vsprintf.c: Likewise.
59085         * lib/unistdio/ulc-asnprintf.c: Likewise.
59086         * lib/unistdio/ulc-asprintf.c: Likewise.
59087         * lib/unistdio/ulc-printf-parse.c: Likewise.
59088         * lib/unistdio/ulc-snprintf.c: Likewise.
59089         * lib/unistdio/ulc-sprintf.c: Likewise.
59090         * lib/unistdio/ulc-vasnprintf.c: Likewise.
59091         * lib/unistdio/ulc-vasprintf.c: Likewise.
59092         * lib/unistdio/ulc-vsnprintf.c: Likewise.
59093         * lib/unistdio/ulc-vsprintf.c: Likewise.
59094         * lib/unistr.h: Likewise.
59095         * lib/unistr/u-cpy-alloc.h: Likewise.
59096         * lib/unistr/u-cpy.h: Likewise.
59097         * lib/unistr/u-endswith.h: Likewise.
59098         * lib/unistr/u-move.h: Likewise.
59099         * lib/unistr/u-set.h: Likewise.
59100         * lib/unistr/u-startswith.h: Likewise.
59101         * lib/unistr/u-stpcpy.h: Likewise.
59102         * lib/unistr/u-stpncpy.h: Likewise.
59103         * lib/unistr/u-strcat.h: Likewise.
59104         * lib/unistr/u-strcpy.h: Likewise.
59105         * lib/unistr/u-strcspn.h: Likewise.
59106         * lib/unistr/u-strdup.h: Likewise.
59107         * lib/unistr/u-strlen.h: Likewise.
59108         * lib/unistr/u-strncat.h: Likewise.
59109         * lib/unistr/u-strncpy.h: Likewise.
59110         * lib/unistr/u-strnlen.h: Likewise.
59111         * lib/unistr/u-strpbrk.h: Likewise.
59112         * lib/unistr/u-strspn.h: Likewise.
59113         * lib/unistr/u-strstr.h: Likewise.
59114         * lib/unistr/u-strtok.h: Likewise.
59115         * lib/unistr/u16-check.c: Likewise.
59116         * lib/unistr/u16-chr.c: Likewise.
59117         * lib/unistr/u16-cmp.c: Likewise.
59118         * lib/unistr/u16-cpy-alloc.c: Likewise.
59119         * lib/unistr/u16-cpy.c: Likewise.
59120         * lib/unistr/u16-endswith.c: Likewise.
59121         * lib/unistr/u16-mblen.c: Likewise.
59122         * lib/unistr/u16-mbsnlen.c: Likewise.
59123         * lib/unistr/u16-mbtouc-aux.c: Likewise.
59124         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
59125         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
59126         * lib/unistr/u16-mbtouc.c: Likewise.
59127         * lib/unistr/u16-mbtoucr.c: Likewise.
59128         * lib/unistr/u16-move.c: Likewise.
59129         * lib/unistr/u16-next.c: Likewise.
59130         * lib/unistr/u16-prev.c: Likewise.
59131         * lib/unistr/u16-set.c: Likewise.
59132         * lib/unistr/u16-startswith.c: Likewise.
59133         * lib/unistr/u16-stpcpy.c: Likewise.
59134         * lib/unistr/u16-stpncpy.c: Likewise.
59135         * lib/unistr/u16-strcat.c: Likewise.
59136         * lib/unistr/u16-strchr.c: Likewise.
59137         * lib/unistr/u16-strcmp.c: Likewise.
59138         * lib/unistr/u16-strcpy.c: Likewise.
59139         * lib/unistr/u16-strcspn.c: Likewise.
59140         * lib/unistr/u16-strdup.c: Likewise.
59141         * lib/unistr/u16-strlen.c: Likewise.
59142         * lib/unistr/u16-strmblen.c: Likewise.
59143         * lib/unistr/u16-strmbtouc.c: Likewise.
59144         * lib/unistr/u16-strncat.c: Likewise.
59145         * lib/unistr/u16-strncmp.c: Likewise.
59146         * lib/unistr/u16-strncpy.c: Likewise.
59147         * lib/unistr/u16-strnlen.c: Likewise.
59148         * lib/unistr/u16-strpbrk.c: Likewise.
59149         * lib/unistr/u16-strrchr.c: Likewise.
59150         * lib/unistr/u16-strspn.c: Likewise.
59151         * lib/unistr/u16-strstr.c: Likewise.
59152         * lib/unistr/u16-strtok.c: Likewise.
59153         * lib/unistr/u16-to-u32.c: Likewise.
59154         * lib/unistr/u16-to-u8.c: Likewise.
59155         * lib/unistr/u16-uctomb-aux.c: Likewise.
59156         * lib/unistr/u16-uctomb.c: Likewise.
59157         * lib/unistr/u32-check.c: Likewise.
59158         * lib/unistr/u32-chr.c: Likewise.
59159         * lib/unistr/u32-cmp.c: Likewise.
59160         * lib/unistr/u32-cpy-alloc.c: Likewise.
59161         * lib/unistr/u32-cpy.c: Likewise.
59162         * lib/unistr/u32-endswith.c: Likewise.
59163         * lib/unistr/u32-mblen.c: Likewise.
59164         * lib/unistr/u32-mbsnlen.c: Likewise.
59165         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
59166         * lib/unistr/u32-mbtouc.c: Likewise.
59167         * lib/unistr/u32-mbtoucr.c: Likewise.
59168         * lib/unistr/u32-move.c: Likewise.
59169         * lib/unistr/u32-next.c: Likewise.
59170         * lib/unistr/u32-prev.c: Likewise.
59171         * lib/unistr/u32-set.c: Likewise.
59172         * lib/unistr/u32-startswith.c: Likewise.
59173         * lib/unistr/u32-stpcpy.c: Likewise.
59174         * lib/unistr/u32-stpncpy.c: Likewise.
59175         * lib/unistr/u32-strcat.c: Likewise.
59176         * lib/unistr/u32-strchr.c: Likewise.
59177         * lib/unistr/u32-strcmp.c: Likewise.
59178         * lib/unistr/u32-strcpy.c: Likewise.
59179         * lib/unistr/u32-strcspn.c: Likewise.
59180         * lib/unistr/u32-strdup.c: Likewise.
59181         * lib/unistr/u32-strlen.c: Likewise.
59182         * lib/unistr/u32-strmblen.c: Likewise.
59183         * lib/unistr/u32-strmbtouc.c: Likewise.
59184         * lib/unistr/u32-strncat.c: Likewise.
59185         * lib/unistr/u32-strncmp.c: Likewise.
59186         * lib/unistr/u32-strncpy.c: Likewise.
59187         * lib/unistr/u32-strnlen.c: Likewise.
59188         * lib/unistr/u32-strpbrk.c: Likewise.
59189         * lib/unistr/u32-strrchr.c: Likewise.
59190         * lib/unistr/u32-strspn.c: Likewise.
59191         * lib/unistr/u32-strstr.c: Likewise.
59192         * lib/unistr/u32-strtok.c: Likewise.
59193         * lib/unistr/u32-to-u16.c: Likewise.
59194         * lib/unistr/u32-to-u8.c: Likewise.
59195         * lib/unistr/u32-uctomb.c: Likewise.
59196         * lib/unistr/u8-check.c: Likewise.
59197         * lib/unistr/u8-chr.c: Likewise.
59198         * lib/unistr/u8-cmp.c: Likewise.
59199         * lib/unistr/u8-cpy-alloc.c: Likewise.
59200         * lib/unistr/u8-cpy.c: Likewise.
59201         * lib/unistr/u8-endswith.c: Likewise.
59202         * lib/unistr/u8-mblen.c: Likewise.
59203         * lib/unistr/u8-mbsnlen.c: Likewise.
59204         * lib/unistr/u8-mbtouc-aux.c: Likewise.
59205         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
59206         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
59207         * lib/unistr/u8-mbtouc.c: Likewise.
59208         * lib/unistr/u8-mbtoucr.c: Likewise.
59209         * lib/unistr/u8-move.c: Likewise.
59210         * lib/unistr/u8-next.c: Likewise.
59211         * lib/unistr/u8-prev.c: Likewise.
59212         * lib/unistr/u8-set.c: Likewise.
59213         * lib/unistr/u8-startswith.c: Likewise.
59214         * lib/unistr/u8-stpcpy.c: Likewise.
59215         * lib/unistr/u8-stpncpy.c: Likewise.
59216         * lib/unistr/u8-strcat.c: Likewise.
59217         * lib/unistr/u8-strchr.c: Likewise.
59218         * lib/unistr/u8-strcmp.c: Likewise.
59219         * lib/unistr/u8-strcpy.c: Likewise.
59220         * lib/unistr/u8-strcspn.c: Likewise.
59221         * lib/unistr/u8-strdup.c: Likewise.
59222         * lib/unistr/u8-strlen.c: Likewise.
59223         * lib/unistr/u8-strmblen.c: Likewise.
59224         * lib/unistr/u8-strmbtouc.c: Likewise.
59225         * lib/unistr/u8-strncat.c: Likewise.
59226         * lib/unistr/u8-strncmp.c: Likewise.
59227         * lib/unistr/u8-strncpy.c: Likewise.
59228         * lib/unistr/u8-strnlen.c: Likewise.
59229         * lib/unistr/u8-strpbrk.c: Likewise.
59230         * lib/unistr/u8-strrchr.c: Likewise.
59231         * lib/unistr/u8-strspn.c: Likewise.
59232         * lib/unistr/u8-strstr.c: Likewise.
59233         * lib/unistr/u8-strtok.c: Likewise.
59234         * lib/unistr/u8-to-u16.c: Likewise.
59235         * lib/unistr/u8-to-u32.c: Likewise.
59236         * lib/unistr/u8-uctomb-aux.c: Likewise.
59237         * lib/unistr/u8-uctomb.c: Likewise.
59238         * lib/unitypes.h: Likewise.
59239         * lib/uniwidth.h: Likewise.
59240         * lib/uniwidth/cjk.h: Likewise.
59241         * lib/uniwidth/u16-strwidth.c: Likewise.
59242         * lib/uniwidth/u16-width.c: Likewise.
59243         * lib/uniwidth/u32-strwidth.c: Likewise.
59244         * lib/uniwidth/u32-width.c: Likewise.
59245         * lib/uniwidth/u8-strwidth.c: Likewise.
59246         * lib/uniwidth/u8-width.c: Likewise.
59247         * lib/uniwidth/width.c: Likewise.
59248
59249 2007-10-07  Bruno Haible  <bruno@clisp.org>
59250
59251         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
59252         The file is still under LGPL (see modules/inttypes).
59253
59254 2007-10-06  Bruno Haible  <bruno@clisp.org>
59255
59256         * modules/trunc (Dependencies): Add 'extensions'.
59257         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
59258         Reported by Ben Pfaff <blp@gnu.org>.
59259
59260 2007-10-06  Bruno Haible  <bruno@clisp.org>
59261
59262         * modules/freopen-tests: New file.
59263         * tests/test-freopen.c: New file.
59264
59265         * modules/fopen-tests: New file.
59266         * tests/test-fopen.c: New file.
59267
59268         * modules/fopen: New file.
59269         * lib/fopen.c: New file.
59270         * m4/fopen.m4: New file.
59271         * modules/freopen: New file.
59272         * lib/freopen.c: New file.
59273         * m4/freopen.m4: New file.
59274         * lib/stdio.in.h (fopen, freopen): New declarations.
59275         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
59276         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
59277         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
59278         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
59279         * doc/functions/fopen.texi: Mention the 'fopen' module.
59280         * doc/functions/freopen.texi: Mention the 'freopen' module.
59281
59282 2007-10-06  Bruno Haible  <bruno@clisp.org>
59283
59284         * modules/open-tests: New file.
59285         * tests/test-open.c: New file.
59286
59287         * modules/open: New file.
59288         * lib/open.c: New file.
59289         * m4/open.m4: New file.
59290         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
59291         lib/open.c does.
59292         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
59293         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
59294         macros.
59295         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
59296         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
59297         REPLACE_OPEN.
59298         * doc/functions/open.texi: Mention the 'open' module.
59299
59300 2007-10-04  Bruno Haible  <bruno@clisp.org>
59301
59302         * modules/ceill-tests: New file.
59303         * tests/test-ceill.c: New file.
59304
59305         * modules/ceill: New file.
59306         * lib/ceill.c: Replace entire file.
59307         * m4/ceill.m4: New file.
59308         * lib/math.in.h (ceill): Replace declaration.
59309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
59310         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
59311         * doc/functions/ceill.texi: Mention the 'ceill' module.
59312         * modules/mathl (Files): Remove lib/ceill.c.
59313         (Depends-on): Add ceill.
59314
59315 2007-10-04  Bruno Haible  <bruno@clisp.org>
59316
59317         * modules/ceilf-tests: New file.
59318         * tests/test-ceilf.c: New file.
59319
59320         * modules/ceilf: New file.
59321         * lib/ceil.c: New file.
59322         * lib/ceilf.c: New file.
59323         * m4/ceilf.m4: New file.
59324         * lib/math.in.h (ceilf): New declaration.
59325         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
59326         HAVE_DECL_CEILF.
59327         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
59328         HAVE_DECL_CEILF.
59329         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
59330
59331 2007-10-04  Bruno Haible  <bruno@clisp.org>
59332
59333         * modules/floorl-tests: New file.
59334         * tests/test-floorl.c: New file.
59335
59336         * modules/floorl: New file.
59337         * lib/floorl.c: Replace entire file.
59338         * m4/floorl.m4: New file.
59339         * lib/math.in.h (floorl): Replace declaration.
59340         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
59341         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
59342         * doc/functions/floorl.texi: Mention the 'floorl' module.
59343         * modules/mathl (Files): Remove lib/floorl.c.
59344         (Depends-on): Add floorl.
59345
59346 2007-10-04  Bruno Haible  <bruno@clisp.org>
59347
59348         * modules/floorf-tests: New file.
59349         * tests/test-floorf.c: New file.
59350
59351         * modules/floorf: New file.
59352         * lib/floor.c: New file.
59353         * lib/floorf.c: New file.
59354         * m4/floorf.m4: New file.
59355         * lib/math.in.h (floorf): New declaration.
59356         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
59357         HAVE_DECL_FLOORF.
59358         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
59359         HAVE_DECL_FLOORF.
59360         * doc/functions/floorf.texi: Mention the 'floorf' module.
59361
59362 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
59363             Bruno Haible  <bruno@clisp.org>
59364
59365         Advertise for the Git server instead of the CVS server.
59366         * doc/gnulib-intro.texi (Steady Development): Mention the Git
59367         repository instead of the CVS one.
59368         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
59369         about all VCS systems generically.
59370         * doc/gnulib.texi (Introduction): Capitalize `Git'.
59371
59372 2007-10-04  Bruno Haible  <bruno@clisp.org>
59373
59374         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
59375         means.
59376         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
59377
59378 2007-10-04  Bruno Haible  <bruno@clisp.org>
59379
59380         * modules/truncl-tests: New file.
59381         * tests/test-truncl.c: New file.
59382
59383         * modules/truncl: New file.
59384         * lib/truncl.c: New file.
59385         * m4/truncl.m4: New file.
59386         * lib/math.in.h (truncl): New declaration.
59387         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
59388         HAVE_DECL_TRUNCL.
59389         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
59390         HAVE_DECL_TRUNCL.
59391         * doc/functions/truncl.texi: Mention the 'truncl' module.
59392
59393 2007-10-04  Bruno Haible  <bruno@clisp.org>
59394
59395         * modules/truncf-tests: New file.
59396         * tests/test-truncf.c: New file.
59397
59398         * modules/truncf: New file.
59399         * lib/trunc.c: Make paramerizable through USE_* macros.
59400         * lib/truncf.c: New file.
59401         * m4/truncf.m4: New file.
59402         * lib/math.in.h (truncf): New declaration.
59403         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
59404         HAVE_DECL_TRUNCF.
59405         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
59406         HAVE_DECL_TRUNCF.
59407         * doc/functions/truncf.texi: Mention the 'truncf' module.
59408
59409 2007-10-03  Bruno Haible  <bruno@clisp.org>
59410
59411         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
59412         augmentation also for tests modules.
59413         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
59414         * modules/atexit-tests (Makefile.am): Likewise.
59415         * modules/binary-io-tests (Makefile.am): Likewise.
59416         * modules/c-strcase-tests (Makefile.am): Likewise.
59417         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
59418         * modules/canonicalize-tests (Makefile.am): Likewise.
59419         * modules/closein-tests (Makefile.am): Likewise.
59420         * modules/fprintf-posix-tests (Makefile.am): Likewise.
59421         * modules/freadahead-tests (Makefile.am): Likewise.
59422         * modules/fseek-tests (Makefile.am): Likewise.
59423         * modules/fseeko-tests (Makefile.am): Likewise.
59424         * modules/ftell-tests (Makefile.am): Likewise.
59425         * modules/ftello-tests (Makefile.am): Likewise.
59426         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
59427         * modules/isnanl-tests (Makefile.am): Likewise.
59428         * modules/lseek-tests (Makefile.am): Likewise.
59429         * modules/mbscasecmp-tests (Makefile.am): Likewise.
59430         * modules/mbscasestr-tests (Makefile.am): Likewise.
59431         * modules/mbschr-tests (Makefile.am): Likewise.
59432         * modules/mbscspn-tests (Makefile.am): Likewise.
59433         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
59434         * modules/mbspbrk-tests (Makefile.am): Likewise.
59435         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
59436         * modules/mbsrchr-tests (Makefile.am): Likewise.
59437         * modules/mbsspn-tests (Makefile.am): Likewise.
59438         * modules/mbsstr-tests (Makefile.am): Likewise.
59439         * modules/printf-posix-tests (Makefile.am): Likewise.
59440         * modules/snprintf-posix-tests (Makefile.am): Likewise.
59441         * modules/sprintf-posix-tests (Makefile.am): Likewise.
59442         * modules/tsearch-tests (Makefile.am): Likewise.
59443         * modules/uniname/uniname-tests (Makefile.am): Likewise.
59444         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
59445         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
59446         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
59447         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
59448         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
59449         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
59450         * modules/vprintf-posix-tests (Makefile.am): Likewise.
59451         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
59452         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
59453         * modules/xstrtoimax-tests (Makefile.am): Likewise.
59454         * modules/xstrtol-tests (Makefile.am): Likewise.
59455         * modules/xstrtoumax-tests (Makefile.am): Likewise.
59456         * modules/yesno-tests (Makefile.am): Likewise.
59457
59458 2007-10-03  Bruno Haible  <bruno@clisp.org>
59459
59460         * modules/trunc-tests: New file.
59461         * tests/test-trunc.c: New file.
59462
59463         * modules/trunc: New file.
59464         * lib/trunc.c: New file.
59465         * m4/trunc.m4: New file.
59466         * lib/math.in.h (trunc): New declaration.
59467         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
59468         HAVE_DECL_TRUNC.
59469         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
59470         HAVE_DECL_TRUNC.
59471         * doc/functions/trunc.texi: Mention the 'trunc' module.
59472
59473 2007-10-03  Bruno Haible  <bruno@clisp.org>
59474
59475         * tests/test-fpending.c: New file, mostly copied
59476         from coreutils/lib/t-fpending.c.
59477         * modules/fpending-tests: New file.
59478
59479 2007-10-03  Bruno Haible  <bruno@clisp.org>
59480
59481         Port the stdio extensions to QNX (untested).
59482         * lib/fseterr.c (fseterr): Add support for QNX.
59483         * lib/fbufmode.c (fbufmode): Likewise.
59484         * lib/freadable.c (freadable): Likewise.
59485         * lib/fwritable.c (fwritable): Likewise.
59486         * lib/freading.c (freading): Likewise.
59487         * lib/fwriting.c (fwriting): Likewise.
59488         * lib/freadahead.c (freadahed): Likewise.
59489         * lib/fpurge.c (fpurge): Likewise.
59490         * lib/fseeko.c (rpl_fseeko): Likewise.
59491
59492 2007-10-03  Bruno Haible  <bruno@clisp.org>
59493             Jim Meyering  <jim@meyering.net>
59494             Eric Blake  <ebb9@byu.net>
59495
59496         * doc/relocatable.texi: Use @command instead of @program.
59497
59498 2007-10-02  Jim Meyering  <jim@meyering.net>
59499
59500         Perform one more "_.h" -> ".in.h" substitution.
59501         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
59502         instead of unistd_.h here, too.
59503
59504 2007-10-01  Bruno Haible  <bruno@clisp.org>
59505
59506         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
59507         Needed for the alloca-opt module.
59508
59509 2007-09-30  Bruno Haible  <bruno@clisp.org>
59510
59511         * lib/alloca.in.h: Renamed from lib/alloca_.h.
59512         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
59513         alloca_.h.
59514         * lib/argz.in.h: Renamed from lib/argz_.h.
59515         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
59516         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
59517         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
59518         byteswap_.h.
59519         * lib/dirent.in.h: Renamed from lib/dirent_.h.
59520         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
59521         dirent_.h.
59522         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
59523         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
59524         fcntl_.h.
59525         * lib/float.in.h: Renamed from lib/float_.h.
59526         * modules/float (Files, Makefile.am): Use float.in.h instead of
59527         float_.h.
59528         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
59529         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
59530         fnmatch_.h.
59531         * lib/getopt.in.h: Renamed from lib/getopt_.h.
59532         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
59533         getopt_.h.
59534         * lib/glob.in.h: Renamed from lib/glob_.h.
59535         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
59536         * lib/iconv.in.h: Renamed from lib/iconv_.h.
59537         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
59538         iconv_.h.
59539         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
59540         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
59541         inttypes_.h.
59542         * lib/locale.in.h: Renamed from lib/locale_.h.
59543         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
59544         locale_.h.
59545         * lib/math.in.h: Renamed from lib/math_.h.
59546         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
59547         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
59548         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
59549         of netinet_in_.h. Add dependency.
59550         * lib/poll.in.h: Renamed from lib/poll_.h.
59551         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
59552         * lib/search.in.h: Renamed from lib/search_.h.
59553         * modules/search (Files, Makefile.am): Use search.in.h instead of
59554         search_.h.
59555         * lib/signal.in.h: Renamed from lib/signal_.h.
59556         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
59557         _signal.h.
59558         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
59559         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
59560         stdbool_.h.
59561         * lib/stdint.in.h: Renamed from lib/stdint_.h.
59562         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
59563         stdint_.h.
59564         * lib/stdio.in.h: Renamed from lib/stdio_.h.
59565         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
59566         stdio_.h.
59567         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
59568         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
59569         stdlib_.h.
59570         * lib/string.in.h: Renamed from lib/string_.h.
59571         * modules/string (Files, Makefile.am): Use string.in.h instead of
59572         string_.h.
59573         * doc/gnulib-tool.texi (Initial import): Update.
59574         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
59575         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
59576         of sys_select_.h. Add dependency.
59577         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
59578         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
59579         of sys_socket_.h.
59580         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
59581         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
59582         sys_stat_.h.
59583         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
59584         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
59585         sys_time_.h.
59586         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
59587         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
59588         sysexits_.h.
59589         * lib/time.in.h: Renamed from lib/time_.h.
59590         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
59591         * lib/unistd.in.h: Renamed from lib/unistd_.h.
59592         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
59593         unistd_.h.
59594         * lib/wchar.in.h: Renamed from lib/wchar_.h.
59595         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
59596         wchar_.h.
59597         * lib/wctype.in.h: Renamed from lib/wctype_.h.
59598         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
59599         wctype_.h.
59600         * build-aux/bootstrap (slurp): Update.
59601         * lib/.cppi-disable: Update.
59602
59603 2007-09-30  Bruno Haible  <bruno@clisp.org>
59604
59605         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
59606         Needed on BeOS.
59607
59608 2007-09-30  Bruno Haible  <bruno@clisp.org>
59609
59610         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
59611
59612 2007-09-29  Bruno Haible  <bruno@clisp.org>
59613
59614         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
59615
59616 2007-09-29  Bruno Haible  <bruno@clisp.org>
59617
59618         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
59619         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
59620         * build-aux/install-reloc: Compile also areadlink.c.
59621         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
59622
59623 2007-09-29  Bruno Haible  <bruno@clisp.org>
59624
59625         * gnulib-tool (func_emit_initmacro_done): Indentation.
59626
59627 2007-09-29  Bruno Haible  <bruno@clisp.org>
59628
59629         * README: Add CVS checkout update instructions.
59630         Info from Bob Proulx <bob@proulx.com>.
59631
59632 2007-09-28  Eric Blake  <ebb9@byu.net>
59633
59634         Provide move-if-change.
59635         * build-aux/move-if-change: New file, based on best practice
59636         rather than any canonical upstream location.
59637
59638 2007-09-28  Jim Meyering  <jim@meyering.net>
59639
59640         Fix canonicalize loop-detection corner case.
59641         Do not attempt to stat the symlink values stored via seen_triple.
59642         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
59643         on linux-2.6.18, (but not 2.6.22).
59644         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
59645         triple_compare.  The former compares dev,ino,filename, while the latter
59646         would actually stat dirname(filename) when dev and ino were equal.
59647         * lib/hash-triple.c: Install <string.h>.
59648         (STREQ): Define.
59649         (triple_compare_ino_str): New function.
59650         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
59651
59652 2007-09-28  Eric Blake  <ebb9@byu.net>
59653
59654         Enforce that AC_REPLACE_FUNCS files exist.
59655         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
59656         override check for typos.
59657
59658         Fix test-closein on Solaris 10.
59659         * tests/test-closein.c (main): Don't assume stdin can be inherited
59660         closed on all systems.
59661         * tests/test-closein.sh: Likewise.
59662         Reported by Piotr Tarnowski.
59663
59664 2007-09-28  Jim Meyering  <jim@meyering.net>
59665
59666         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
59667
59668 2007-09-27  Jim Meyering  <jim@meyering.net>
59669
59670         canonicalize: Avoid a false-positive cycle failure.
59671         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
59672         Sort.  Remove cycle-check.
59673         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
59674         not cycle-check.h.
59675         (seen_triple): New function.
59676         (canonicalize_filename_mode): Use it instead of cycle-check.
59677         * tests/test-canonicalize.c: Add a test for this bug.
59678         * tests/test-canonicalize.sh: Set up and run the test.
59679
59680         New module, file-set, from coreutils.
59681         * modules/file-set: Define it.
59682         * lib/file-set.c, lib/file-set.h: Implement.
59683
59684         New module, hash-triple, from coreutils.
59685         * modules/hash-triple: Define it.
59686         * lib/hash-triple.c, lib/hash-triple.h: Implement.
59687
59688 2007-09-25  Eric Blake  <ebb9@byu.net>
59689
59690         Fix strerror on Interix.
59691         * lib/string_.h (strerror): Declare replacement.
59692         * doc/functions/strerror.texi (strerror): Document the Interix
59693         shortcoming.
59694         * modules/string (Makefile.am): Support new hooks.
59695         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
59696         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
59697         gl_FUNC_STRERROR_SEPARATE.
59698         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
59699         * lib/strerror.c (rpl_strerror): Provide replacement.
59700         * modules/strerror (Depends-on): Add string.
59701         (configure.ac): Detect use of module.
59702         * tests/test-strerror.c: New file.
59703         * modules/strerror-tests: New test module.
59704         * modules/argp (Depends-on): Add strerror.
59705         * modules/error (Depends-on): Likewise.
59706         Reported by Martin Koeppe.
59707
59708 2007-09-24  Bruno Haible  <bruno@clisp.org>
59709
59710         * README: Update git instructions.
59711
59712 2007-09-24  Eric Blake  <ebb9@byu.net>
59713
59714         Revert fpending breakage from 2007-09-08.
59715         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
59716         __fpending.c.
59717
59718 2007-09-24  Jim Meyering  <jim@meyering.net>
59719
59720         filenamecat.c: Add a test.
59721         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
59722         showing how the function works when DIR is the empty string.
59723
59724 2007-09-21  Simon Josefsson  <simon@josefsson.org>
59725
59726         * tests/test-canonicalize.sh: Turn on executable bit.
59727
59728 2007-09-19  Eric Blake  <ebb9@byu.net>
59729
59730         * README: Update CVS instructions.
59731
59732 2007-09-18  Bruno Haible  <bruno@clisp.org>
59733
59734         * modules/areadlink: New file.
59735         * lib/areadlink.h (areadlink): New declaration.
59736         * lib/areadlink.c: New file, based on lib/xreadlink.c.
59737
59738 2007-09-17  Jim Meyering  <jim@meyering.net>
59739
59740         * lib/savewd.c (ESTALE) [!defined]: Define.
59741         Reported to be required on Interix by Martin Koeppe.
59742
59743 2007-09-17  Bruno Haible  <bruno@clisp.org>
59744
59745         * gnulib-tool (func_version): Use $version.
59746
59747 2007-09-16  Bruno Haible  <bruno@clisp.org>
59748
59749         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
59750         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
59751         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
59752         Reported by Greg Schafer <gschafer@zip.com.au>.
59753
59754 2007-09-15  Bruno Haible  <bruno@clisp.org>
59755
59756         * gnulib-tool (sed): Try a little harder to make bash understand the
59757         alias.
59758         Reported by Bruce Korb <bruce.korb@gmail.com>.
59759
59760 2007-09-13  Eric Blake  <ebb9@byu.net>
59761
59762         * ChangeLog: Remove conflict markers.
59763
59764 2007-09-13  Simon Josefsson  <simon@josefsson.org>
59765
59766         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
59767         Reported by Bruno Haible <bruno@clisp.org>.
59768
59769 2007-09-12  Bruno Haible  <bruno@clisp.org>
59770
59771         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
59772         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
59773         is not defined.
59774
59775 2007-09-12  Eric Blake  <ebb9@byu.net>
59776
59777         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
59778         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
59779         Autoconf definition.
59780         * modules/euidaccess (Depends-on): Add extensions, for
59781         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
59782         * modules/fnmatch (Depends-on): Likewise.
59783         * modules/getaddrinfo (Depends-on): Likewise.
59784         * modules/getdelim (Depends-on): Likewise.
59785         * modules/getline (Depends-on): Likewise.
59786         * modules/getsubopt (Depends-on): Likewise.
59787         * modules/gettext (Depends-on): Likewise.
59788         * modules/group-member (Depends-on): Likewise.
59789         * modules/mbchar (Depends-on): Likewise.
59790         * modules/memmem (Depends-on): Likewise.
59791         * modules/mempcpy (Depends-on): Likewise.
59792         * modules/memrchr (Depends-on): Likewise.
59793         * modules/pagealign_alloc (Depends-on): Likewise.
59794         * modules/readutmp (Depends-on): Likewise.
59795         * modules/stpcpy (Depends-on): Likewise.
59796         * modules/stpncpy (Depends-on): Likewise.
59797         * modules/strchrnul (Depends-on): Likewise.
59798         * modules/strndup (Depends-on): Likewise.
59799         * modules/strsep (Depends-on): Likewise.
59800         * modules/strverscmp (Depends-on): Likewise.
59801         * modules/vasprintf (Depends-on): Likewise.
59802         * modules/wcwidth (Depends-on): Likewise.
59803         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
59804         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
59805         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
59806         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
59807         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59808         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59809         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
59810         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59811         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
59812         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
59813         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59814         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
59815         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
59816         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
59817         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
59818         * m4/readutmp.m4 (gl_READUTMP): Likewise.
59819         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
59820         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
59821         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59822         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
59823         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59824         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
59825         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
59826         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
59827         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
59828         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
59829         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
59830         so that lock.m4 can be used in gettext without extensions module.
59831
59832 2007-09-11  Bruno Haible  <bruno@clisp.org>
59833
59834         * m4/isc-posix.m4: Remove file.
59835         Suggested by Eric Blake.
59836
59837 2007-09-11  Eric Blake  <ebb9@byu.net>
59838
59839         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
59840
59841 2007-09-10  Bruno Haible  <bruno@clisp.org>
59842
59843         * posix-modules: Fix typo in error message.
59844         Reported by Matt <mkraai@beckman.com>.
59845
59846 2007-09-09  Bruno Haible  <bruno@clisp.org>
59847
59848         * doc/functions/getdelim.texi: Update list of platforms lacking the
59849         function.
59850         * doc/functions/getline.texi: Likewise.
59851
59852 2007-09-09  Jim Meyering  <jim@meyering.net>
59853
59854         * lib/hash.c (hash_initialize): Detect calloc failure.
59855         Reported by Bruno Haible.
59856
59857 2007-09-09  Bruno Haible  <bruno@clisp.org>
59858
59859         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
59860         malloc or realloc fails.
59861
59862 2007-09-09  Bruno Haible  <bruno@clisp.org>
59863
59864         * modules/getcwd (Depends-on): Add malloc-posix.
59865         * modules/glob (Depends-on): Likewise.
59866         * modules/putenv (Depends-on): Likewise.
59867         * modules/strdup (Depends-on): Likewise.
59868         * modules/getdelim (Depends-on): Add realloc-posix.
59869         * modules/read-file (Depends-on): Likewise.
59870
59871 2007-09-09  Bruno Haible  <bruno@clisp.org>
59872
59873         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
59874         (gl_FUNC_MALLOC_POSIX): Require it.
59875         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
59876         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
59877         * modules/realloc (Files): Add m4/malloc.m4.
59878         * modules/calloc (Files): Likewise.
59879
59880 2007-09-09  Bruno Haible  <bruno@clisp.org>
59881
59882         * modules/malloc-posix: New file.
59883         * modules/malloc (Depends-on): Add malloc-posix.
59884         * lib/malloc.c: Include errno.h.
59885         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
59886         and a POSIX-compatible malloc into a single function. Set ENOMEM
59887         when returning NULL.
59888         * m4/malloc.m4: New file.
59889         * doc/functions/malloc.texi: Mention the malloc-posix module.
59890         * lib/stdlib_.h (malloc): New declaration.
59891         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59892         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
59893         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
59894         and HAVE_MALLOC_POSIX.
59895
59896 2007-09-09  Bruno Haible  <bruno@clisp.org>
59897
59898         * modules/realloc-posix: New file.
59899         * modules/realloc (Depends-on): Add realloc-posix.
59900         * lib/realloc.c: Include errno.h.
59901         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
59902         and a POSIX-compatible realloc into a single function. Set ENOMEM
59903         when returning NULL.
59904         * m4/realloc.m4: New file.
59905         * doc/functions/realloc.texi: Mention the realloc-posix module.
59906         * lib/stdlib_.h (realloc): New declaration.
59907         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59908         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
59909         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
59910         and HAVE_REALLOC_POSIX.
59911
59912 2007-09-09  Bruno Haible  <bruno@clisp.org>
59913
59914         * modules/calloc-posix: New file.
59915         * modules/calloc (Depends-on): Add calloc-posix.
59916         * lib/calloc.c: Include errno.h.
59917         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
59918         and a POSIX-compatible calloc into a single function. Set ENOMEM
59919         when returning NULL.
59920         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
59921         * doc/functions/calloc.texi: Mention the calloc-posix module.
59922         * lib/stdlib_.h (calloc): New declaration.
59923         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59924         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
59925         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
59926         and HAVE_CALLOC_POSIX.
59927
59928 2007-09-09  Bruno Haible  <bruno@clisp.org>
59929
59930         Allow for modules to show an arbitrary notice.
59931         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
59932         * gnulib-tool: New option --extract-notice.
59933         (func_usage): Document it.
59934         (sed_extract_prog): Update.
59935         (func_get_notice): New function.
59936         (func_modules_notice): New function.
59937         (func_import, func_create_testdir): Invoke it.
59938         Suggested by Jim Meyering.
59939
59940 2007-09-09  Bruno Haible  <bruno@clisp.org>
59941
59942         * gnulib-tool: New options --verbose, --quiet.
59943         (func_usage): Document them.
59944         (verbose): New variable.
59945         (func_execute_command): New function.
59946         (func_import): Don't show the module list and the file list if
59947         $verbose < 0.
59948         (func_create_testdir): Likewise. Use func_execute_command.
59949         (func_create_megatestdir): Use func_execute_command.
59950
59951 2007-09-08  Bruno Haible  <bruno@clisp.org>
59952
59953         * gnulib-tool (func_import): Prefer rsync over wget when available,
59954         for fetching the PO files.
59955
59956 2007-09-08  Bruno Haible  <bruno@clisp.org>
59957
59958         * posix-modules: New file. Portions copied from gnulib-tool.
59959         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
59960
59961 2007-09-08  Jim Meyering  <jim@meyering.net>
59962
59963         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
59964         * lib/fpending.h: Rename from __fpending.h.
59965         * lib/fpending.c: Rename from __fpending.c.
59966         Include "fpending.h", not "__fpending.h".
59967         * lib/__fpending.h, lib/__fpending.c: Remove files.
59968         * modules/fpending (Files): Reflect new file names.
59969         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
59970
59971 2007-09-08  Bruno Haible  <bruno@clisp.org>
59972
59973         * m4/inttypes-h.m4: Remove stub file.
59974
59975 2007-09-07  Simon Josefsson  <simon@josefsson.org>
59976
59977         * doc/headers/stdint.texi: Discuss #include_next issue.
59978
59979 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
59980
59981         * build-aux/bootstrap: Remove obsolete comment about wget --help.
59982
59983 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59984
59985         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
59986         in variable name.
59987
59988 2007-09-03  Jim Meyering  <jim@meyering.net>
59989
59990         New module: git-version-gen.
59991         * modules/git-version-gen: New file.
59992
59993         Import changes from coreutils for bootstrap script.
59994
59995         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
59996
59997         bootstrap: uses rsync to download the .po files
59998         * build-aux/bootstrap (po_download_command_format): New global.
59999         (download_po_files): Use rsync.
60000         (update_po_files): Don't remove .po files after download,
60001         so future rsync runs can take advantage of the copies.
60002
60003         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
60004
60005         Solve the unnecessary-.po-file-regeneration problem once and for all.
60006         * build-aux/bootstrap (download_po_files): New function, renamed from
60007         get_translations.  Now, downloads, but doesn't update LINGUAS.
60008         (update_po_files): New function.
60009
60010         bootstrap: Ignore more.
60011         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
60012         uniwidth to e.g., lib/.gitignore.
60013         (slurp): Handle the sys_stat_.h -> sys mapping, too.
60014
60015         * build-aux/bootstrap: New setting: vc_ignore.
60016         (insert_sorted_if_absent): Create $file if absent.
60017         Adapt to new, possibly empty, list: $vc_ignore.
60018
60019         bootstrap: generate more ignorable names
60020         * build-aux/bootstrap (slurp): When generating ignorable names,
60021         also map .sin to .sed, .gperf to .c, and .y to .c.
60022
60023 2007-09-03  Jim Meyering  <jim@meyering.net>
60024
60025         * build-aux/git-version-gen: New file, from coreutils.  For details, see
60026         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
60027
60028 2007-09-02  Bruno Haible  <bruno@clisp.org>
60029
60030         Fix mis-recognition of 'mcs' on QNX 6.
60031         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
60032         output contains the string "Mono".
60033         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
60034         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
60035
60036 2007-09-01  Bruno Haible  <bruno@clisp.org>
60037
60038         Fix collision between uniwidth/* and linebreak modules.
60039         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
60040         u32_width): Remove declarations.
60041         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
60042         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
60043         streq3, streq2, streq1, streq0): Remove functions.
60044         (STREQ): Remove macro.
60045         (is_cjk_encoding): Remove function.
60046         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
60047         (uc_width, u8_width, u16_width, u32_width): Remove functions.
60048         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
60049         * NEWS: Document the change.
60050
60051 2007-09-01  Bruno Haible  <bruno@clisp.org>
60052
60053         * lib/streq.h: Add double-inclusion guard.
60054
60055 2007-09-01  Karl Berry  <karl@gnu.org>
60056
60057         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
60058
60059 2007-08-28  Jim Meyering  <jim@meyering.net>
60060
60061         Rename mreadlink_with_size to areadlink_with_size.
60062         * NEWS: Document the change.
60063         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
60064         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
60065         * lib/mreadlink.h: Rename this to...
60066         * lib/areadlink.h: ...this.
60067         * modules/mreadlink-with-size: Rename this to...
60068         * modules/areadlink-with-size: ...this.
60069         * lib/canonicalize.c: Reflect the renaming.
60070         * modules/canonicalize: Likewise.
60071
60072 2007-08-26  Bruno Haible  <bruno@clisp.org>
60073
60074         * gnulib-tool (func_import): When deciding which files to remove,
60075         consider also dangling symbolic links.
60076         Reported by Eric Blake.
60077
60078 2007-08-26  Bruno Haible  <bruno@clisp.org>
60079
60080         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
60081
60082 2007-08-23  Simon Josefsson  <simon@josefsson.org>
60083
60084         * lib/readline.c: Don't include getline.h, the prototype is now
60085         found in stdio.h.
60086
60087 2007-08-23  Jim Meyering  <jim@meyering.net>
60088
60089         Getdelim touchup.
60090         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
60091         around the funlockfile call, since funlockfile never sets errno.
60092         Don't set errno upon failed realloc.
60093
60094 2007-08-22  Eric Blake  <ebb9@byu.net>
60095
60096         Getline touchups.
60097         * lib/getdelim.c (getdelim): Revert regression that required *n to
60098         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
60099         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
60100         getdelim, rather than whether implementation is missing.
60101         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
60102         * lib/stdio_.h (getline): Also declare if replacement is
60103         required.
60104         * doc/functions/getdelim.texi: New file.
60105         * doc/functions/getline.texi: Likewise.
60106         * doc/gnulib.texi (Function Substitutes): Add new files.
60107         Reported by Bruno Haible.
60108
60109 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
60110
60111         * users.txt: Add Guile.
60112
60113 2007-08-22  Eric Blake  <ebb9@byu.net>
60114
60115         * tests/test-getdelim.c (main): Use remove, not unlink.
60116         * tests/test-getline.c (main): Likewise.
60117
60118         Move getline and getdelim into stdio.h, per POSIX 200x.
60119         * modules/getline (Files): Remove getline.h.
60120         (Depends-on): Add stdio.
60121         (configure.ac): Add module indicator.
60122         * modules/getdelim (Files): Remove getdelim.h.
60123         (Depends-on): Add stdio.
60124         (configure.ac): Add module indicator.
60125         * modules/stdio (Makefile.am): Work with new indicators.
60126         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
60127         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
60128         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60129         * lib/getdelim.h: Delete.
60130         * lib/getline.h: Delete.
60131         * lib/stdio_.h (getdelim, getline): Declare.
60132         * modules/getdelim-tests: New module.
60133         * modules/getline-tests: Likewise.
60134         * tests/test-getdelim.c: New file.
60135         * tests/test-getline.c: Likewise.
60136         * NEWS: Document the change.
60137         * lib/getline.c: Update choice of header.
60138         * lib/csharpcomp.c: Likewise.
60139         * lib/getpass.c: Likewise.
60140         * lib/javacomp.c: Likewise.
60141         * lib/javaversion.c: Likewise.
60142         * lib/yesno.c: Likewise.
60143         * lib/getdelim.c: Likewise.
60144         (getdelim): Set errno on failure, and avoid memory leak.
60145
60146 2007-08-19  Bruno Haible  <bruno@clisp.org>
60147
60148         * modules/closein (Depends-on): Add freadahead.
60149         * lib/closein.c: Include freadahead.h.
60150         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
60151         is zero.
60152
60153 2007-08-19  Bruno Haible  <bruno@clisp.org>
60154
60155         * modules/freadahead-tests: New file.
60156         * tests/test-freadahead.sh: New file.
60157         * tests/test-freadahead.c: New file.
60158
60159         * modules/freadahead: New file.
60160         * lib/freadahead.h: New file.
60161         * lib/freadahead.c: New file.
60162         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
60163         fbufmode, fpurge, freadable, fwritable.
60164
60165 2007-08-19  Eric Blake  <ebb9@byu.net>
60166
60167         Test yesno in combination with closein.
60168         * lib/yesno.c (yesno): Document use of stdin.
60169         * modules/yesno-tests (Files): New module.
60170         * tests/test-yesno.c (main): New file.
60171         * tests/test-yesno.sh: Likewise.
60172
60173 2007-08-19  Bruno Haible  <bruno@clisp.org>
60174
60175         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
60176         * lib/fseeko.c (rpl_fseeko): Likewise.
60177         * lib/fseterr.c (fseterr): Likewise.
60178
60179 2007-08-19  Bruno Haible  <bruno@clisp.org>
60180
60181         * tests/test-lseek.c (main): Disable a test for BeOS.
60182         * doc/functions/lseek.texi: Document the BeOS bug.
60183
60184 2007-08-19  Bruno Haible  <bruno@clisp.org>
60185             Eric Blake  <ebb9@byu.net>
60186
60187         * lib/lseek.c: Include <sys/stat.h>.
60188         (rpl_lseek): Add workaround code also for Unix platforms.
60189         Needed for BeOS.
60190         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
60191         * doc/functions/lseek.texi: Document BeOS definiency.
60192
60193 2007-08-18  Bruno Haible  <bruno@clisp.org>
60194
60195         * modules/fstrcmp-tests: New file.
60196         * tests/test-fstrcmp.c: New file.
60197
60198 2007-08-18  Bruno Haible  <bruno@clisp.org>
60199
60200         * modules/fstrcmp: New file, from GNU gettext with modifications.
60201         * lib/fstrcmp.h: New file, from GNU gettext.
60202         * lib/fstrcmp.c: New file, from GNU gettext.
60203         * MODULES.html.sh (String handling): Add fstrcmp.
60204
60205 2007-08-18  Bruno Haible  <bruno@clisp.org>
60206
60207         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
60208         'bool'.
60209         (diag, compareseq): Remove const from the ctxt argument.
60210         (USE_HEURISTIC): Undefine at the end.
60211
60212 2007-08-18  Jim Meyering  <jim@meyering.net>
60213
60214         New file: lib/idcache.h
60215         * NEWS: Mention the addition.
60216         * modules/idcache (Files): Add lib/idcache.h
60217         * lib/idcache.c: Include "idcache.h".
60218         Don't include <sys/types.h>.
60219         Add a FIXME comment.
60220         Move file-scoped "static" declarations to the top.
60221         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
60222
60223 2007-08-17  Bruno Haible  <bruno@clisp.org>
60224         and Paul Eggert  <eggert@cs.ucla.edu>
60225
60226         * MODULES.html.sh: Add diffseq.
60227         * modules/diffseq: New file.
60228         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
60229         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
60230
60231 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60232
60233         Import changes from coreutils for bootstrap script.
60234
60235         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
60236
60237         * build-aux/bootstrap (slurp): Work even in environments where
60238         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
60239         current code does not slurp files whose names start with ".", and
60240         this looks like it might be a troublesome area.
60241
60242         2007-07-11  Jim Meyering  <jim@meyering.net>
60243
60244         If there's a GPL vN copyright comment, require that N == 3.
60245
60246         2007-07-08  Jim Meyering  <jim@meyering.net>
60247
60248         Run the coreutils-specific code only if tests/Makefile.am.in exists.
60249         * build-aux/bootstrap (mam_template): Move definition out of loop.
60250
60251         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
60252
60253         * build-aux/bootstrap (symlink_to_dir): Rename function from
60254         symlink_to_gnulib.  Add a directory parameter.  Update all
60255         callers.
60256         (cp_mark_as_generated): Also check for -- and link to -- files in
60257         gl/.
60258
60259         2007-07-08  Jim Meyering  <jim@meyering.net>
60260
60261         Adapt to deeper hierarchy in gnulib.
60262         * build-aux/bootstrap (symlink_to_dir): If the destination
60263         directory doesn't exist, create it. This is required at least for
60264         "lib/uniwidth/cjk.h".
60265
60266         2007-05-15  Jim Meyering  <jim@meyering.net>
60267
60268         * build-aux/bootstrap: Now that generated Makefile.am files
60269         are no longer under version control, they must be created at
60270         bootstrap time.
60271
60272 2007-08-14  Ben Pfaff  <blp@gnu.org>
60273
60274         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
60275
60276 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60277
60278         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
60279         given the changes below.
60280         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
60281         even on hosts that have padding bits beyond the supported 64.
60282
60283 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60284
60285         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
60286         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
60287         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
60288         depends on it.
60289         (xstrtol_error): Remove.
60290         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
60291         but with a different signature.
60292         (ATTRIBUTE_NORETURN, __attribute__): New macros.
60293         * lib/xstrtol-error.c: Include exitfail.h.
60294         (xstrtol_fatal): New function, with a different signature from the
60295         old xstrtol_error, so that the caller need not worry about passing
60296         in an exit status, or about storage management of the option argument.
60297         (xstrtol_error): Now a static function.  Redo signature to
60298         implement xstrtol_fatal.  Output the correct number of hyphens in
60299         front of the option so that the caller need not worry about
60300         storage management.
60301         (N_): New macro.
60302         (_): Remove; not used now.
60303         * modules/xstrtol: Depend on getopt.
60304         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
60305         of old STRTOL_FATAL_ERROR macro.
60306         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
60307         of test program.
60308         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
60309         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
60310
60311 2007-08-08  Eric Blake  <ebb9@byu.net>
60312
60313         * lib/xstrtol-error.c: Add missing include.
60314
60315         Move xstrtol messages into gnulib domain, when --pobase is used.
60316         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
60317         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
60318         * modules/xstrtol (Files): Distribute new file.
60319         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
60320         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
60321         * tests/test-xstrtol.c: ...into new file.
60322         * tests/test-xstrtoul.c: Also test xstrtoul.
60323         * tests/test-xstrtoimax.c: Also test xstrtoimax.
60324         * tests/test-xstrtoumax.c: Also test xstrtoumax.
60325         * tests/test-xstrtol.sh: Drive the tests.
60326         * tests/test-xstrtoimax.sh: Likewise.
60327         * tests/test-xstrtoumax.sh: Likewise.
60328         * modules/xstrtol-tests: New module.
60329         * modules/xstrtoimax-tests: Likewise.
60330         * modules/xstrtoumax-tests: Likewise.
60331
60332 2007-08-08  Jim Meyering  <jim@meyering.net>
60333
60334         New function: mfile_name_concat.
60335         * lib/filenamecat.c (mfile_name_concat): New function, just like
60336         file_name_concat, but return NULL upon failure rather than exiting
60337         with a diagnostic.
60338         * lib/filenamecat.h: Declare it.
60339
60340 2007-08-07  Bruno Haible  <bruno@clisp.org>
60341
60342         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
60343         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
60344         warning from gcc.
60345         Reported by Eric Blake.
60346
60347 2007-08-07  Simon Josefsson  <simon@josefsson.org>
60348
60349         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
60350         * modules/crypto/arcfour (License): Likewise.
60351         * modules/crypto/des-tests (License): Likewise.
60352         * modules/crypto/gc-arctwo-tests (License): Likewise.
60353         * modules/crypto/gc-des-tests (License): Likewise.
60354         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
60355         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
60356         * modules/crypto/gc-md2-tests (License): Likewise.
60357         * modules/crypto/gc-md4-tests (License): Likewise.
60358         * modules/crypto/gc-md5-tests (License): Likewise.
60359         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
60360         * modules/crypto/gc-rijndael-tests (License): Likewise.
60361         * modules/crypto/gc-sha1-tests (License): Likewise.
60362         * modules/crypto/gc-tests (License): Likewise.
60363         * modules/crypto/hmac-md5 (License): Likewise.
60364         * modules/crypto/hmac-sha1 (License): Likewise.
60365         * modules/crypto/md2-tests (License): Likewise.
60366         * modules/crypto/md4-tests (License): Likewise.
60367         * modules/crypto/md5 (License): Likewise.
60368         * modules/crypto/rijndael (License): Likewise.
60369         * modules/crypto/sha1 (License): Likewise.
60370         * modules/memxor (License): Likewise.
60371
60372 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60373         and Bruno Haible  <bruno@clisp.org>
60374
60375         * NEWS: Describe interface changes to human, xstrtol.
60376         * lib/human.h: Include <xstrtol.h>.
60377         (human_options): Return enum strtol_error, not int.  Remove
60378         bool arg; take int * instead.
60379         * lib/human.c: Don't include "gettext.h".
60380         (_): Remove; no longer used.
60381         Don't include <xstrtol.h>, since human.h does it.
60382         (human_options): Adjust to abovementioned interface changes.
60383         Do not report error to stderr; that's now the caller's
60384         responsibility.
60385         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
60386         interface change.
60387         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
60388         Str, Argument_type_string.  All uses changed.  Put " argument"
60389         in diagnostics to make them clearer.  Change wording of suffix
60390         message for clarity.
60391         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
60392         Argument_type_string.
60393         (STRTOL_FATAL_WARN): Remove; no longer used.
60394         * modules/human (Depends-on): Remove gettext-h.
60395
60396 2007-08-06  Simon Josefsson  <simon@josefsson.org>
60397
60398         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
60399
60400 2007-07-31  Bruno Haible  <bruno@clisp.org>
60401
60402         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
60403         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
60404         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
60405
60406 2007-07-31  Bruno Haible  <bruno@clisp.org>
60407
60408         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
60409         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
60410
60411 2007-07-30  Bruno Haible  <bruno@clisp.org>
60412
60413         * modules/base64 (License): Use the synonymous term "LGPLv2+".
60414         * modules/c-ctype (License): Likewise.
60415         * modules/c-strcase (License): Likewise.
60416         * modules/check-version (License): Likewise.
60417         * modules/iconv (License): Likewise.
60418         * modules/iconv_open (License): Likewise.
60419         * modules/read-file (License): Likewise.
60420         * modules/striconv (License): Likewise.
60421         * modules/strverscmp (License): Likewise.
60422         * modules/vasprintf (License): Likewise.
60423         * modules/crypto/des (License): Likewise.
60424         * modules/crypto/gc (License): Likewise.
60425         * modules/crypto/gc-arcfour (License): Likewise.
60426         * modules/crypto/gc-arctwo (License): Likewise.
60427         * modules/crypto/gc-des (License): Likewise.
60428         * modules/crypto/gc-hmac-md5 (License): Likewise.
60429         * modules/crypto/gc-hmac-sha1 (License): Likewise.
60430         * modules/crypto/gc-md2 (License): Likewise.
60431         * modules/crypto/gc-md4 (License): Likewise.
60432         * modules/crypto/gc-md5 (License): Likewise.
60433         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
60434         * modules/crypto/gc-random (License): Likewise.
60435         * modules/crypto/gc-rijndael (License): Likewise.
60436         * modules/crypto/gc-sha1 (License): Likewise.
60437         * modules/crypto/md2 (License): Likewise.
60438         * modules/crypto/md4 (License): Likewise.
60439
60440 2007-07-30  Jim Meyering  <jim@meyering.net>
60441
60442         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
60443         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
60444         it has valid stat data.  This bug would cause du not to count the
60445         sizes of inaccessible directories.
60446         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
60447         in <http://bugzilla.redhat.com/250077>.
60448
60449 2007-07-25  Peter O'Gorman  <peter@pogma.com>
60450             Bruno Haible  <bruno@clisp.org>
60451
60452         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
60453         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
60454         #include_next, gives a diagnostic about it, but reports no error in
60455         the exit code.
60456         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
60457
60458 2007-07-24  Ben Pfaff  <blp@gnu.org>
60459
60460         Improve name: "count-one-bits" is better than "popcount".
60461         * MODULES.html.sh: Update name.
60462         * lib/popcount.h: Renamed lib/count-one-bits.h.
60463         (popcount): Renamed count_one_bits.
60464         (popcountl): Renamed count_one_bits_l.
60465         (popcountll): Renamed count_one_bits_ll.
60466         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
60467         * modules/popcount: Renamed module/count-one-bits.
60468         * modules/popcount-tests: Renamed module/count-one-bits-tests.
60469         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
60470
60471 2007-07-23  Ben Pfaff  <blp@gnu.org>
60472
60473         * lib/popcount.h (popcount32): Reduce size of constants, to allow
60474         better code generation, and add U to large constants to avoid
60475         warnings, in non-GCC case.
60476         Suggested by Bruno Haible.
60477
60478 2007-07-23  Ben Pfaff  <blp@gnu.org>
60479
60480         * lib/popcount.h: Use verify_true instead of if...abort.
60481         * modules/popcount: Depend on verify module.
60482         Suggested by Jim Meyering.
60483
60484 2007-07-23  Bruno Haible  <bruno@clisp.org>
60485
60486         * gnulib-tool (func_import): Create a .cvsignore file also when the
60487         directory is not yet in CVS but the toplevel directory is. When
60488         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
60489         Reported by Karl Berry.
60490
60491 2007-07-22  Ben Pfaff  <blp@gnu.org>
60492
60493         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
60494         case.
60495         Suggested by Eric Blake.
60496
60497 2007-07-22  Ben Pfaff  <blp@gnu.org>
60498
60499         New module: popcount.
60500         * MODULES.html.sh: Add popcount.
60501         * modules/popcount: New file.
60502         * modules/popcount-tests: New file.
60503         * tests/test-popcount.c: New file.
60504         * lib/popcount.h: New file.
60505         * m4/popcount.m4: New file.
60506
60507 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60508
60509         * build-aux/announce-gen: Update to GPLv3.
60510
60511         * build-aux/config.guess: Update from config.
60512
60513 2007-07-21  Bruno Haible  <bruno@clisp.org>
60514
60515         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
60516         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
60517
60518 2007-07-20  Jim Meyering  <jim@meyering.net>
60519
60520         * check-module: Diagnose a self-dependency.
60521
60522 2007-07-19  Bruno Haible  <bruno@clisp.org>
60523
60524         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
60525         empty.
60526         Reported by Eric Blake.
60527
60528 2007-07-18  Bruno Haible  <bruno@clisp.org>
60529
60530         * gnulib-tool: New options --po-base, --po-domain.
60531         (func_usage): Document them.
60532         (pobase, po_domain): New variables.
60533         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
60534         DEFAULT_TEXT_DOMAIN.
60535         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
60536         (func_import): Consider pobase and po_domain. Create a po/ directory.
60537         (func_create_testdir): Set pobase and po_domain to empty.
60538         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
60539         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
60540
60541 2007-07-18  Bruno Haible  <bruno@clisp.org>
60542
60543         * gnulib-tool (func_get_automake_snippet): Synthesize also an
60544         EXTRA_DIST augmentation for files in build-aux/.
60545
60546 2007-07-16  Bruno Haible  <bruno@clisp.org>
60547
60548         * modules/lseek (License): Use the synonymous term "LGPLv2+".
60549         * modules/getdelim (License): Likewise.
60550
60551 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60552
60553         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
60554         * modules/d-type (License): Likewise.
60555         * modules/extensions (License): Likewise.
60556         * modules/fnmatch (License): Likewise.
60557         * modules/fseeko (License): Likewise.
60558         * modules/getaddrinfo (License): Likewise.
60559         * modules/getline (License): Likewise.
60560         * modules/getlogin_r (License): Likewise.
60561         * modules/getpass (License): Likewise.
60562         * modules/gettimeofday (License): Likewise.
60563         * modules/glob (License): Likewise.
60564         * modules/inet_ntop (License): Likewise.
60565         * modules/malloc (License): Likewise.
60566         * modules/malloca (License): Likewise.
60567         * modules/memmem (License): Likewise.
60568         * modules/mempcpy (License): Likewise.
60569         * modules/memset (License): Likewise.
60570         * modules/minmax (License): Likewise.
60571         * modules/mktime (License): Likewise.
60572         * modules/netinet_in (License): Likewise.
60573         * modules/pathmax (License): Likewise.
60574         * modules/poll (License): Likewise.
60575         * modules/regex (License): Likewise.
60576         * modules/snprintf (License): Likewise.
60577         * modules/stdbool (License): Likewise.
60578         * modules/stdint (License): Likewise.
60579         * modules/stdio (License): Likewise.
60580         * modules/strcase (License): Likewise.
60581         * modules/strcasestr (License): Likewise.
60582         * modules/strdup (License): Likewise.
60583         * modules/string (License): Likewise.
60584         * modules/strndup (License): Likewise.
60585         * modules/strnlen (License): Likewise.
60586         * modules/strpbrk (License): Likewise.
60587         * modules/strptime (License): Likewise.
60588         * modules/strsep (License): Likewise.
60589         * modules/sys_select (License): Likewise.
60590         * modules/sys_socket (License): Likewise.
60591         * modules/sys_stat (License): Likewise.
60592         * modules/sys_time (License): Likewise.
60593         * modules/time (License): Likewise.
60594         * modules/time_r (License): Likewise.
60595         * modules/timegm (License): Likewise.
60596         * modules/unistd (License): Likewise.
60597         * modules/vsnprintf (License): Likewise.
60598         * modules/wctype (License): Likewise.
60599
60600 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60601
60602         * modules/argz (License): LGPLv2+.
60603
60604 2007-07-15  Karl Berry  <karl@gnu.org>
60605
60606         * doc/gnulib.texi: revise node structure per new fdl.texi.
60607
60608 2007-07-14  Bruno Haible  <bruno@clisp.org>
60609
60610         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
60611         the output file.
60612         * lib/uniname/uninames.h: Regenerated.
60613
60614 2007-07-14  Karl Berry  <karl@gnu.org>
60615
60616         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
60617         omitting sectioning and index commands.
60618
60619 2007-07-13  Bruno Haible  <bruno@clisp.org>
60620
60621         New gnulib-tool option --more-symlinks.
60622         * gnulib-tool (func_usage): Document --more-symlinks.
60623         (do_copyrights): New variable.
60624         Recognize option --more-symlinks.
60625         (func_import): Don't add a copyright notice transform to
60626         sed_transform_lib_file if do_copyrights is empty.
60627
60628 2007-07-13  Bruno Haible  <bruno@clisp.org>
60629
60630         * lib/vasnprintf.c (decimal_point_char): Define also if
60631         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
60632         && !NEED_PRINTF_DIRECTIVE_A.
60633         Reported by Clemens Koller <clemens.koller@anagramm.de> via
60634         Gary V. Vaughan <gary@gnu.org>.
60635
60636 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
60637
60638         * lib/inttypes_.h: Undo previous change, since it was fixed
60639         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
60640
60641 2007-07-13  Bruno Haible  <bruno@clisp.org>
60642
60643         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
60644         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
60645
60646 2007-07-13  Jim Meyering  <jim@meyering.net>
60647
60648         df: Don't fail for Tru64's "file-on-file mount".
60649         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
60650         so we fall through and use statfs instead.  Details here:
60651         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
60652         Reported by Albert Chin.
60653
60654 2007-07-13  Bruno Haible  <bruno@clisp.org>
60655
60656         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
60657         * modules/configmake (License): Likewise.
60658         * modules/gettext (License): Likewise.
60659         * modules/gettext-h (License): Likewise.
60660         * modules/include_next (License): Likewise.
60661         * modules/link-warning (License): Likewise.
60662         * modules/localcharset (License): Likewise.
60663         * modules/localename (License): Likewise.
60664         * modules/lock (License): Likewise.
60665         * modules/relocatable-lib-lgpl (License): Likewise.
60666         * modules/size_max (License): Likewise.
60667         * modules/vasnprintf (License): Likewise.
60668         * modules/wchar (License): Likewise.
60669         * modules/xsize (License): Likewise.
60670
60671 2007-07-13  Bruno Haible  <bruno@clisp.org>
60672
60673         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
60674         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
60675
60676 2007-07-12  Bruno Haible  <bruno@clisp.org>
60677
60678         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
60679         in the modules files.
60680
60681 2007-07-11  Karl Berry  <karl@gnu.org>
60682
60683         * MODULES.html.sh (func_module): use
60684          sed -e '\|^'"${includefile}"'$|d'
60685          instead of /.../d, to avoid errors on $includefile's containing /.
60686
60687 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
60688
60689         * gnulib-tool (func_import): Avoid duplication of --avoid
60690         statements
60691         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
60692         names to `_' in variable names.
60693
60694 2007-07-10  Eric Blake  <ebb9@byu.net>
60695
60696         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
60697         * NEWS: Document this change.
60698
60699 2007-07-08  Bruno Haible  <bruno@clisp.org>
60700
60701         Update to Unicode 5.0.
60702         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
60703         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
60704         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
60705         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
60706         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
60707         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
60708         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
60709         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
60710         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
60711         U+10A3F, U+1D242..U+1D244.
60712         (nonspacing_table_ind): Update.
60713         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
60714         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
60715
60716 2007-07-08  Bruno Haible  <bruno@clisp.org>
60717
60718         Update to Unicode 5.0.
60719         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
60720         code transform. Extend the name index field of unicode_name_to_code and
60721         unicode_code_to_name from 16 to 24 bits.
60722         * lib/uniname/uniname.c (unicode_character_name,
60723         unicode_name_character): Add the range 0x12xxx to the code transform.
60724         * lib/uniname/uninames.h: Regenerated.
60725         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
60726
60727 2007-07-07  Bruno Haible  <bruno@clisp.org>
60728
60729         * modules/wcwidth-tests: New file.
60730         * tests/test-wcwidth.c: New file.
60731
60732         Work around MacOS X wcwidth() bug.
60733         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
60734         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
60735         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
60736         original wcwidth in non-UTF-8 locales.
60737         * modules/wcwidth (Depends-on): Add localcharset, streq,
60738         uniwidth/width.
60739         * doc/functions/wcwidth.texi: Update.
60740
60741 2007-07-07  Bruno Haible  <bruno@clisp.org>
60742
60743         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
60744         (wcwidth): New declaration.
60745         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
60746         macros.
60747         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
60748         here. Prepare for creating <wchar.h> unconditionally.
60749         * modules/wchar (Depends-on): Add link-warning.
60750         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
60751         REPLACE_WCWIDTH, and GL_LINK_WARNING.
60752         * lib/wcwidth.h: Remove file.
60753         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
60754         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
60755         * modules/wcwidth (Files): Remove lib/wcwidth.h.
60756         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
60757         (Include): Replace wcwidth.h with <wchar.h>.
60758         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
60759         * lib/mbchar.h: Don't include wcwidth.h.
60760         * lib/mbswidth.c: Likewise.
60761         * NEWS: Mention the change.
60762
60763 2007-07-07  Bruno Haible  <bruno@clisp.org>
60764
60765         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
60766         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
60767         definition with an external declaration.
60768         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
60769         defined as a function. Remove AC_C_INLINE requirement.
60770         * modules/wcwidth (Files): Add lib/wcwidth.c.
60771         (Makefile.am): Remove redundant statement.
60772
60773 2007-07-07  Bruno Haible  <bruno@clisp.org>
60774
60775         * MODULES.html.sh (Unicode string functions): Add the new modules.
60776
60777         * tests/uniwidth/test-u32-strwidth.c: New file.
60778         * modules/uniwidth/u32-strwidth-tests: New file.
60779
60780         * lib/uniwidth/u32-strwidth.c: New file.
60781         * modules/uniwidth/u32-strwidth: New file.
60782
60783         * tests/uniwidth/test-u16-strwidth.c: New file.
60784         * modules/uniwidth/u16-strwidth-tests: New file.
60785
60786         * lib/uniwidth/u16-strwidth.c: New file.
60787         * modules/uniwidth/u16-strwidth: New file.
60788
60789         * tests/uniwidth/test-u8-strwidth.c: New file.
60790         * modules/uniwidth/u8-strwidth-tests: New file.
60791
60792         * lib/uniwidth/u8-strwidth.c: New file.
60793         * modules/uniwidth/u8-strwidth: New file.
60794
60795         * tests/uniwidth/test-u32-width.c: New file.
60796         * modules/uniwidth/u32-width-tests: New file.
60797
60798         * lib/uniwidth/u32-width.c: New file.
60799         * modules/uniwidth/u32-width: New file.
60800
60801         * tests/uniwidth/test-u16-width.c: New file.
60802         * modules/uniwidth/u16-width-tests: New file.
60803
60804         * lib/uniwidth/u16-width.c: New file.
60805         * modules/uniwidth/u16-width: New file.
60806
60807         * tests/uniwidth/test-u8-width.c: New file.
60808         * modules/uniwidth/u8-width-tests: New file.
60809
60810         * lib/uniwidth/u8-width.c: New file.
60811         * modules/uniwidth/u8-width: New file.
60812
60813         * tests/uniwidth/test-uc_width.c: New file.
60814         * modules/uniwidth/width-tests: New file.
60815
60816         * lib/uniwidth/width.c: New file, from GNU libiconv.
60817         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
60818         * modules/uniwidth/width: New file.
60819
60820         * lib/uniwidth.h: New file, from GNU libiconv.
60821         * modules/uniwidth/base: New file.
60822
60823 2007-07-07  Bruno Haible  <bruno@clisp.org>
60824
60825         * lib/uniname.h: New file, from GNU gettext.
60826         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
60827         * lib/uniname/uninames.h: New file, from GNU gettext.
60828         * lib/uniname/uniname.c: New file, from GNU gettext.
60829         * tests/uniname/test-uninames.sh: New file.
60830         * tests/uniname/test-uninames.c: New file, from GNU gettext.
60831         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
60832         * modules/uniname/base: New file.
60833         * modules/uniname/uniname: New file.
60834         * modules/uniname/uniname-tests: New file.
60835         * MODULES.html.sh (Unicode string functions): Add the new modules.
60836
60837 2007-07-06  Bruno Haible  <bruno@clisp.org>
60838
60839         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
60840
60841 2007-07-06  Bruno Haible  <bruno@clisp.org>
60842
60843         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
60844         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
60845         includes <cygwin/sys_time.h> which includes <sys/select.h> which
60846         include <sys/time.h>.
60847         Reported by Eric Blake.
60848
60849 2007-07-06  Eric Blake  <ebb9@byu.net>
60850
60851         Fix testing canonicalize on cygwin.
60852         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
60853         Revert patch from 2007-06-19.
60854         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
60855         canonicalize module is also in use.
60856         * tests/test-canonicalize.c: New file.
60857         * tests/test-canonicalize.sh: Likewise.
60858         * modules/canonicalize-tests: Likewise.
60859
60860 2007-07-06  Jim Meyering  <jim@meyering.net>
60861
60862         * lib/getugroups.c (getugroups): Detect getgrent failure.
60863         Adjust comment to reflect reality: this function may return -1.
60864
60865 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
60866
60867         * build-aux/bootstrap (TP_URL,get_translations): Update to use
60868         the new TP address.
60869         (usage): Fix typo
60870         (gnulib_mk): New variable.
60871
60872 2007-07-05  Jim Meyering  <jim@meyering.net>
60873
60874         Don't let endgrent clobber errno, no matter how improbable.
60875         * lib/getugroups.c (getugroups): Save and restore errno around
60876         endgrent call.
60877
60878         Close the group DB even when failing with 2^31 or more members.
60879         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
60880
60881 2007-07-04  Jim Meyering  <jim@meyering.net>
60882
60883         * lib/getugroups.h: New file.
60884         * lib/getugroups.c: Include "getugroups.h".
60885         Remove uses of "register" keyword.
60886         Move local variable, "cp", down into scope where used.
60887         Give "username" parameter the "const" attribute.
60888         * modules/getugroups (Files): Add lib/getugroups.h
60889
60890 2007-07-04  Karl Berry  <karl@gnu.org>
60891
60892         * MODULES.html.sh (func_all_modules): Complete rename of
60893         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
60894
60895 2007-07-02  Bruno Haible  <bruno@clisp.org>
60896
60897         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
60898         mode, when inttypes.h comes from gnulib.
60899         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
60900
60901 2007-07-02  Simon Josefsson  <simon@josefsson.org>
60902
60903         * NEWS: Mention lgpl module name change.
60904
60905         * modules/lgpl-2.1: Renamed from lgpl.
60906
60907         * NEWS: Mention gpl module name change.
60908
60909         * modules/gpl-3.0: New file, based on gpl-2.0.
60910
60911         * modules/gpl-2.0: Renamed from gpl.
60912
60913         * modules/gpl: Fix filename, doc/gpl.texi is now found at
60914         doc/gpl-2.0.texi.
60915
60916 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60917
60918         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
60919         #define __STDC_LIMIT_MACROS temporarily while including
60920         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
60921         Problem reported by Joel E. Denny in
60922         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
60923
60924 2007-07-01  Bruno Haible  <bruno@clisp.org>
60925
60926         * lib/unistdio.h: New file.
60927         * lib/unistdio/u-asnprintf.h: New file.
60928         * lib/unistdio/u-asprintf.h: New file.
60929         * lib/unistdio/u-printf-args.c: New file.
60930         * lib/unistdio/u-printf-args.h: New file.
60931         * lib/unistdio/u-printf-parse.h: New file.
60932         * lib/unistdio/u-snprintf.h: New file.
60933         * lib/unistdio/u-sprintf.h: New file.
60934         * lib/unistdio/u-vasprintf.h: New file.
60935         * lib/unistdio/u-vsnprintf.h: New file.
60936         * lib/unistdio/u-vsprintf.h: New file.
60937         * lib/unistdio/ulc-asnprintf.c: New file.
60938         * lib/unistdio/ulc-asprintf.c: New file.
60939         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
60940         * lib/unistdio/ulc-printf-parse.c: New file.
60941         * lib/unistdio/ulc-snprintf.c: New file.
60942         * lib/unistdio/ulc-sprintf.c: New file.
60943         * lib/unistdio/ulc-vasnprintf.c: New file.
60944         * lib/unistdio/ulc-vasprintf.c: New file.
60945         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
60946         * lib/unistdio/ulc-vsnprintf.c: New file.
60947         * lib/unistdio/ulc-vsprintf.c: New file.
60948         * lib/unistdio/u8-asnprintf.c: New file.
60949         * lib/unistdio/u8-asprintf.c: New file.
60950         * lib/unistdio/u8-printf-parse.c: New file.
60951         * lib/unistdio/u8-snprintf.c: New file.
60952         * lib/unistdio/u8-sprintf.c: New file.
60953         * lib/unistdio/u8-vasnprintf.c: New file.
60954         * lib/unistdio/u8-vasprintf.c: New file.
60955         * lib/unistdio/u8-vsnprintf.c: New file.
60956         * lib/unistdio/u8-vsprintf.c: New file.
60957         * lib/unistdio/u8-u8-asnprintf.c: New file.
60958         * lib/unistdio/u8-u8-asprintf.c: New file.
60959         * lib/unistdio/u8-u8-snprintf.c: New file.
60960         * lib/unistdio/u8-u8-sprintf.c: New file.
60961         * lib/unistdio/u8-u8-vasnprintf.c: New file.
60962         * lib/unistdio/u8-u8-vasprintf.c: New file.
60963         * lib/unistdio/u8-u8-vsnprintf.c: New file.
60964         * lib/unistdio/u8-u8-vsprintf.c: New file.
60965         * lib/unistdio/u16-asnprintf.c: New file.
60966         * lib/unistdio/u16-asprintf.c: New file.
60967         * lib/unistdio/u16-printf-parse.c: New file.
60968         * lib/unistdio/u16-snprintf.c: New file.
60969         * lib/unistdio/u16-sprintf.c: New file.
60970         * lib/unistdio/u16-vasnprintf.c: New file.
60971         * lib/unistdio/u16-vasprintf.c: New file.
60972         * lib/unistdio/u16-vsnprintf.c: New file.
60973         * lib/unistdio/u16-vsprintf.c: New file.
60974         * lib/unistdio/u16-u16-asnprintf.c: New file.
60975         * lib/unistdio/u16-u16-asprintf.c: New file.
60976         * lib/unistdio/u16-u16-snprintf.c: New file.
60977         * lib/unistdio/u16-u16-sprintf.c: New file.
60978         * lib/unistdio/u16-u16-vasnprintf.c: New file.
60979         * lib/unistdio/u16-u16-vasprintf.c: New file.
60980         * lib/unistdio/u16-u16-vsnprintf.c: New file.
60981         * lib/unistdio/u16-u16-vsprintf.c: New file.
60982         * lib/unistdio/u32-asnprintf.c: New file.
60983         * lib/unistdio/u32-asprintf.c: New file.
60984         * lib/unistdio/u32-printf-parse.c: New file.
60985         * lib/unistdio/u32-snprintf.c: New file.
60986         * lib/unistdio/u32-sprintf.c: New file.
60987         * lib/unistdio/u32-vasnprintf.c: New file.
60988         * lib/unistdio/u32-vasprintf.c: New file.
60989         * lib/unistdio/u32-vsnprintf.c: New file.
60990         * lib/unistdio/u32-vsprintf.c: New file.
60991         * lib/unistdio/u32-u32-asnprintf.c: New file.
60992         * lib/unistdio/u32-u32-asprintf.c: New file.
60993         * lib/unistdio/u32-u32-snprintf.c: New file.
60994         * lib/unistdio/u32-u32-sprintf.c: New file.
60995         * lib/unistdio/u32-u32-vasnprintf.c: New file.
60996         * lib/unistdio/u32-u32-vasprintf.c: New file.
60997         * lib/unistdio/u32-u32-vsnprintf.c: New file.
60998         * lib/unistdio/u32-u32-vsprintf.c: New file.
60999         * tests/unistdio/test-ulc-asnprintf1.c: New file.
61000         * tests/unistdio/test-ulc-asnprintf1.h: New file.
61001         * tests/unistdio/test-ulc-printf1.h: New file.
61002         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
61003         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
61004         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
61005         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
61006         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
61007         * tests/unistdio/test-ulc-vasprintf1.c: New file.
61008         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
61009         * tests/unistdio/test-ulc-vsprintf1.c: New file.
61010         * tests/unistdio/test-u8-asnprintf1.c: New file.
61011         * tests/unistdio/test-u8-asnprintf1.h: New file.
61012         * tests/unistdio/test-u8-printf1.h: New file.
61013         * tests/unistdio/test-u8-vasnprintf1.c: New file.
61014         * tests/unistdio/test-u8-vasnprintf2.c: New file.
61015         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
61016         * tests/unistdio/test-u8-vasnprintf3.c: New file.
61017         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
61018         * tests/unistdio/test-u8-vasprintf1.c: New file.
61019         * tests/unistdio/test-u8-vsnprintf1.c: New file.
61020         * tests/unistdio/test-u8-vsprintf1.c: New file.
61021         * tests/unistdio/test-u16-asnprintf1.c: New file.
61022         * tests/unistdio/test-u16-asnprintf1.h: New file.
61023         * tests/unistdio/test-u16-printf1.h: New file.
61024         * tests/unistdio/test-u16-vasnprintf1.c: New file.
61025         * tests/unistdio/test-u16-vasnprintf2.c: New file.
61026         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
61027         * tests/unistdio/test-u16-vasnprintf3.c: New file.
61028         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
61029         * tests/unistdio/test-u16-vasprintf1.c: New file.
61030         * tests/unistdio/test-u16-vsnprintf1.c: New file.
61031         * tests/unistdio/test-u16-vsprintf1.c: New file.
61032         * tests/unistdio/test-u32-asnprintf1.c: New file.
61033         * tests/unistdio/test-u32-asnprintf1.h: New file.
61034         * tests/unistdio/test-u32-printf1.h: New file.
61035         * tests/unistdio/test-u32-vasnprintf1.c: New file.
61036         * tests/unistdio/test-u32-vasnprintf2.c: New file.
61037         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
61038         * tests/unistdio/test-u32-vasnprintf3.c: New file.
61039         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
61040         * tests/unistdio/test-u32-vasprintf1.c: New file.
61041         * tests/unistdio/test-u32-vsnprintf1.c: New file.
61042         * tests/unistdio/test-u32-vsprintf1.c: New file.
61043         * modules/unistdio/base: New file.
61044         * modules/unistdio/u-printf-args: New file.
61045         * modules/unistdio/ulc-asnprintf: New file.
61046         * modules/unistdio/ulc-asprintf: New file.
61047         * modules/unistdio/ulc-fprintf: New file.
61048         * modules/unistdio/ulc-printf-parse: New file.
61049         * modules/unistdio/ulc-snprintf: New file.
61050         * modules/unistdio/ulc-sprintf: New file.
61051         * modules/unistdio/ulc-vasnprintf: New file.
61052         * modules/unistdio/ulc-vasprintf: New file.
61053         * modules/unistdio/ulc-vfprintf: New file.
61054         * modules/unistdio/ulc-vsnprintf: New file.
61055         * modules/unistdio/ulc-vsprintf: New file.
61056         * modules/unistdio/u8-asnprintf: New file.
61057         * modules/unistdio/u8-asprintf: New file.
61058         * modules/unistdio/u8-printf-parse: New file.
61059         * modules/unistdio/u8-snprintf: New file.
61060         * modules/unistdio/u8-sprintf: New file.
61061         * modules/unistdio/u8-vasnprintf: New file.
61062         * modules/unistdio/u8-vasprintf: New file.
61063         * modules/unistdio/u8-vsnprintf: New file.
61064         * modules/unistdio/u8-vsprintf: New file.
61065         * modules/unistdio/u8-u8-asnprintf: New file.
61066         * modules/unistdio/u8-u8-asprintf: New file.
61067         * modules/unistdio/u8-u8-snprintf: New file.
61068         * modules/unistdio/u8-u8-sprintf: New file.
61069         * modules/unistdio/u8-u8-vasnprintf: New file.
61070         * modules/unistdio/u8-u8-vasprintf: New file.
61071         * modules/unistdio/u8-u8-vsnprintf: New file.
61072         * modules/unistdio/u8-u8-vsprintf: New file.
61073         * modules/unistdio/u16-asnprintf: New file.
61074         * modules/unistdio/u16-asprintf: New file.
61075         * modules/unistdio/u16-printf-parse: New file.
61076         * modules/unistdio/u16-snprintf: New file.
61077         * modules/unistdio/u16-sprintf: New file.
61078         * modules/unistdio/u16-vasnprintf: New file.
61079         * modules/unistdio/u16-vasprintf: New file.
61080         * modules/unistdio/u16-vsnprintf: New file.
61081         * modules/unistdio/u16-vsprintf: New file.
61082         * modules/unistdio/u16-u16-asnprintf: New file.
61083         * modules/unistdio/u16-u16-asprintf: New file.
61084         * modules/unistdio/u16-u16-snprintf: New file.
61085         * modules/unistdio/u16-u16-sprintf: New file.
61086         * modules/unistdio/u16-u16-vasnprintf: New file.
61087         * modules/unistdio/u16-u16-vasprintf: New file.
61088         * modules/unistdio/u16-u16-vsnprintf: New file.
61089         * modules/unistdio/u16-u16-vsprintf: New file.
61090         * modules/unistdio/u32-asnprintf: New file.
61091         * modules/unistdio/u32-asprintf: New file.
61092         * modules/unistdio/u32-printf-parse: New file.
61093         * modules/unistdio/u32-snprintf: New file.
61094         * modules/unistdio/u32-sprintf: New file.
61095         * modules/unistdio/u32-vasnprintf: New file.
61096         * modules/unistdio/u32-vasprintf: New file.
61097         * modules/unistdio/u32-vsnprintf: New file.
61098         * modules/unistdio/u32-vsprintf: New file.
61099         * modules/unistdio/u32-u32-asnprintf: New file.
61100         * modules/unistdio/u32-u32-asprintf: New file.
61101         * modules/unistdio/u32-u32-snprintf: New file.
61102         * modules/unistdio/u32-u32-sprintf: New file.
61103         * modules/unistdio/u32-u32-vasnprintf: New file.
61104         * modules/unistdio/u32-u32-vasprintf: New file.
61105         * modules/unistdio/u32-u32-vsnprintf: New file.
61106         * modules/unistdio/u32-u32-vsprintf: New file.
61107         * modules/unistdio/ulc-asnprintf-tests: New file.
61108         * modules/unistdio/ulc-vasnprintf-tests: New file.
61109         * modules/unistdio/ulc-vasprintf-tests: New file.
61110         * modules/unistdio/ulc-vsnprintf-tests: New file.
61111         * modules/unistdio/ulc-vsprintf-tests: New file.
61112         * modules/unistdio/u8-asnprintf-tests: New file.
61113         * modules/unistdio/u8-vasnprintf-tests: New file.
61114         * modules/unistdio/u8-vasprintf-tests: New file.
61115         * modules/unistdio/u8-vsnprintf-tests: New file.
61116         * modules/unistdio/u8-vsprintf-tests: New file.
61117         * modules/unistdio/u16-asnprintf-tests: New file.
61118         * modules/unistdio/u16-vasnprintf-tests: New file.
61119         * modules/unistdio/u16-vasprintf-tests: New file.
61120         * modules/unistdio/u16-vsnprintf-tests: New file.
61121         * modules/unistdio/u16-vsprintf-tests: New file.
61122         * modules/unistdio/u32-asnprintf-tests: New file.
61123         * modules/unistdio/u32-vasnprintf-tests: New file.
61124         * modules/unistdio/u32-vasprintf-tests: New file.
61125         * modules/unistdio/u32-vsnprintf-tests: New file.
61126         * modules/unistdio/u32-vsprintf-tests: New file.
61127         * MODULES.html.sh (Unicode string functions): Add the new modules.
61128
61129 2007-07-01  Bruno Haible  <bruno@clisp.org>
61130
61131         * lib/sprintf.c (sprintf): Limit the available length estimation,
61132         to avoid address wraparound.
61133         * lib/vsprintf.c (vsprintf): Likewise.
61134         * modules/sprintf-posix (Dependencies): Add stdint.
61135         * modules/vsprintf-posix (Dependencies): Likewise.
61136
61137 2007-07-01  Bruno Haible  <bruno@clisp.org>
61138
61139         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
61140         Windows PATH as well. Conservative double-quoting. Comments.
61141
61142 2007-07-01  Bruno Haible  <bruno@clisp.org>
61143             Eric Blake  <ebb9@byu.net>
61144             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61145
61146         * gnulib-tool (self_abspathname): Fix algorithm to cope with
61147         empty components in $PATH, denoting '.'.
61148
61149 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61150
61151         * gnulib-tool: Fix indentation.
61152         (func_create_megatestdir): Likewise.
61153         Report by Bruno Haible.
61154
61155 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61156
61157         Sync from Automake.
61158         * build-aux/gnupload: Fix shell portability issues with for loops.
61159         Report by Karl Berry.
61160
61161 2007-06-29  Simon Josefsson  <simon@josefsson.org>
61162
61163         * build-aux/maint.mk (POURL): Use translationproject.org.
61164
61165 2007-06-27  Simon Josefsson  <simon@josefsson.org>
61166             Bruno Haible  <bruno@clisp.org>
61167
61168         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
61169         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
61170         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
61171         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
61172         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
61173
61174 2007-06-27  Bruno Haible  <bruno@clisp.org>
61175
61176         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
61177         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
61178
61179 2007-06-26  Karl Berry  <karl@gnu.org>
61180
61181         * MODULES.html.sh: remove xreadlink-with-size.
61182
61183 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61184
61185         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
61186         method that I hope also handles the double-include problem noted
61187         by Bruno Haible in
61188         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
61189
61190 2007-06-23  Bruno Haible  <bruno@clisp.org>
61191
61192         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61193         Don't let the 'mostlyclean' target fail if the last subdirectory could
61194         not be removed.
61195         Reported by Karl Berry.
61196
61197 2007-06-23  Bruno Haible  <bruno@clisp.org>
61198
61199         * gnulib-tool (echo): Add a speedier workaround for ksh.
61200         * tests/test-echo.sh: Likewise.
61201
61202 2007-06-23  Bruno Haible  <bruno@clisp.org>
61203
61204         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
61205         * tests/test-echo.sh: Likewise.
61206
61207 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61208
61209         * gnulib-tool (IFS): Initialize early, so we don't set it to
61210         empty later.
61211         (self_abspathname): Rewrite algorithm to set it, reindent.
61212         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
61213         (func_create_megatestdir): Merge some sed scripts.
61214
61215 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61216
61217         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
61218         exposed by Sun Studio 11 cc on Solaris 8.
61219
61220 2007-06-22  Bruno Haible  <bruno@clisp.org>
61221
61222         * gnulib-tool (echo): Ensure the echo primitive does not interpret
61223         backslashes.
61224         * tests/test-echo.sh: New file.
61225
61226 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61227
61228         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
61229         simplify `sed_replace_build_aux' scripts, they are portable but
61230         echoing them with `echo' is not.
61231         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
61232
61233 2007-06-21  Karl Berry  <karl@gnu.org>
61234
61235         * config/srclist.txt: guess we can't handle the licenses via
61236         srclist at the moment.
61237
61238 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
61239
61240         * MODULES.html.sh: Add include_next.
61241         * modules/include_next: New file.
61242
61243 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
61244
61245         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
61246         INCLUDE_NEXT.
61247         (gl_CHECK_NEXT_HEADERS): New macro.
61248         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
61249         the obsolescent gl_ABSOLUTE_HEADER.
61250         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
61251         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
61252         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
61253         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
61254         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
61255         * m4/math_h.m4 (gl_MATH_H): Likewise.
61256         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
61257         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
61258         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
61259         * m4/stdint.m4 (gl_STDINT_H): Likewise.
61260         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
61261         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
61262         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
61263         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
61264         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
61265         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
61266         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
61267         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
61268         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
61269         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
61270         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
61271         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
61272         * m4/inttypes.m4 (gl_INTTYPES_H): Define
61273         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
61274         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
61275         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
61276         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
61277         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
61278         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
61279         * lib/float_.h: Likewise.
61280         * lib/inttypes_.h: Likewise.
61281         * lib/math_.h: Likewise.
61282         * lib/search_.h: Likewise.
61283         * lib/signal_.h: Likewise.
61284         * lib/stdint_.h: Likewise.
61285         * lib/stdio_.h: Likewise.
61286         * lib/stdlib_.h: Likewise.
61287         * lib/string_.h: Likewise.
61288         * lib/sys_stat_.h: Likewise.
61289         * lib/sys_time_.h: Likewise.
61290         * lib/time_.h: Likewise.
61291         * lib/unistd_.h: Likewise.
61292         * lib/wchar_.h: Likewise.
61293         * lib/wctype_.h: Likewise.
61294         * lib/dirent_.h: Likewise.
61295         * lib/iconv_.h: Likewise.
61296         * lib/locale_.h: Likewise.
61297         * lib/netinet_in_.h: Likewise.
61298         * lib/sys_select_.h: Likewise.
61299         * lib/sys_socket_.h: Likewise.
61300         * lib/sysexits_.h: Likewise.
61301         * modules/fcntl (Depends-on): Depend on include_next, not
61302         absolute_header.
61303         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
61304         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
61305         * modules/fchdir: Likewise.
61306         * modules/float: Likewise.
61307         * modules/iconv_open: Likewise.
61308         * modules/inttypes: Likewise.
61309         * modules/locale: Likewise.
61310         * modules/math: Likewise.
61311         * modules/netinet_in: Likewise.
61312         * modules/search: Likewise.
61313         * modules/signal: Likewise.
61314         * modules/stdint: Likewise.
61315         * modules/stdio: Likewise.
61316         * modules/stdlib: Likewise.
61317         * modules/string: Likewise.
61318         * modules/sys_select: Likewise.
61319         * modules/sys_socket: Likewise.
61320         * modules/sys_stat: Likewise.
61321         * modules/sys_time: Likewise.
61322         * modules/sysexits: Likewise.
61323         * modules/time: Likewise.
61324         * modules/unistd: Likewise.
61325         * modules/wchar: Likewise.
61326         * modules/wctype: Likewise.
61327         * modules/sys_stat: Change maintainer to "all".
61328         * modules/unistd: Likewise.
61329
61330 2007-06-20  Karl Berry  <karl@gnu.org>
61331
61332         * config/srclist.txt: track www changes in license files.
61333
61334 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
61335
61336         * build-aux/bootstrap: Remove stray dot.
61337         Make sure build_aux settings are honored when linking
61338         gnulib_extra_files.
61339
61340 2007-06-19  Eric Blake  <ebb9@byu.net>
61341
61342         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
61343         Allow compilation on cygwin.
61344
61345 2007-06-19  Jim Meyering  <jim@meyering.net>
61346
61347         xreadlink-with-size: Remove module.  No longer used.
61348         Ex-callers now use xreadlink or mreadlink-with-size.
61349         * modules/xreadlink-with-size: Remove module.
61350         * lib/xreadlink-with-size.c: Remove file.
61351         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
61352         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
61353         just before the function definition *is* accurate.
61354
61355         Eliminate one way canonicalize_filename_mode could exit.
61356         * lib/canonicalize.c (canonicalize_filename_mode):
61357         Use mreadlink_with_size, not xreadlink_with_size.
61358
61359 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
61360
61361         Detect porting problems to FreeBSD/arm, which has time_t wider than
61362         long int.  Original problem reported for GNU diff by Xin Li in
61363         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
61364         * modules/getdate (Depends-on): Add intprops, verify.
61365         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
61366         is an integer type no wider than long int.
61367
61368 2007-06-18  Jim Meyering  <jim@meyering.net>
61369
61370         New module: mreadlink-with-size.
61371         * MODULES.html.sh: Add mreadlink-with-size.
61372         * modules/mreadlink-with-size: New module
61373         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
61374         not xreadlink-with-size.
61375         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
61376
61377 2007-06-16  Bruno Haible  <bruno@clisp.org>
61378
61379         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
61380         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
61381         Reported by Gary V. Vaughan <gary@gnu.org>.
61382
61383 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
61384
61385         Revamp lchown so that it lives in unistd.h where it belongs.
61386         * lib/lchown.h: Remove.
61387         * lib/dirchownmod.c: Don't include lib/lchown.h.
61388         * lib/fchownat.c: Likewise.
61389         * lib/openat.c: Likewise.
61390         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
61391         does not follow symlinks.
61392         (EOPNOTSUPP): Define if not defined.
61393         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
61394         is defined to 0.
61395         (lchown): New decl.
61396         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
61397         Do not check for lchown decl.
61398         Set REPLACE_LCHOWN.
61399         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
61400         REPLACE_LCHOWN.
61401         * modules/chown: Make it clear it follows symlinks.
61402         * modules/lchown: Make it clear it doesn't follow symlinks.
61403         (Files): Remove lib/lchown.h
61404         (Depends-on): Add unistd.
61405         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
61406         (Include): Include <unistd.h>, not "lchown.h".
61407         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
61408         REPLACE_LCHOWN.
61409
61410 2007-06-15  Jim Meyering  <jim@meyering.net>
61411
61412         Change license (GPL to LGPL) of fsusage and dependents.
61413         * modules/fsusage (License): Change to LGPL.
61414         * modules/full-read (License): Likewise.
61415         * modules/full-write (License): Likewise.
61416         * modules/safe-read (License): Likewise.
61417         * modules/safe-write (License): Likewise.
61418
61419 2007-06-14  Ben Pfaff  <blp@gnu.org>
61420
61421         Missing part of allocsa -> malloca transition.
61422         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
61423         gl_MALLOCA.
61424
61425 2007-06-12  Bruno Haible  <bruno@clisp.org>
61426
61427         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
61428         to ia64, x86_64, i386.
61429         Reported by Eric Blake.
61430
61431 2007-06-12  Bruno Haible  <bruno@clisp.org>
61432
61433         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
61434         cross-compiling to x86_64.
61435
61436 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
61437
61438         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
61439         glitch reported by Ralf Wildenhues in
61440         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
61441
61442         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
61443         Vin Shelton.
61444
61445 2007-06-11  Bruno Haible  <bruno@clisp.org>
61446
61447         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
61448         replacement string.
61449         Reported by Eric Blake.
61450
61451 2007-06-10  Bruno Haible  <bruno@clisp.org>
61452
61453         Prepare vasnprintf code for use with Unicode strings.
61454         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
61455         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
61456         TYPE_U32_STRING.
61457         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
61458         a_u32_string variants.
61459         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
61460         * lib/printf-args.c: Don't include config.h and the specification
61461         header if PRINTF_FETCHARGS is already defined.
61462         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
61463         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
61464         TYPE_U16_STRING, TYPE_U32_STRING.
61465         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
61466         u16_directive, u16_directives, u32_directive, u32_directives): New
61467         types.
61468         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
61469         New declarations.
61470         * lib/printf-parse.c: Don't include config.h and the specification
61471         header if PRINTF_PARSE is already defined. Eliminate the set of
61472         parameters for WIDE_CHAR_VERSION; the user of this file must provide
61473         them now. Include c-ctype.h.
61474         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
61475         directive and CHAR_T_ONLY_ASCII.
61476         * lib/vasnprintf.c: Don't include config.h and the specification header
61477         if VASNPRINTF is already defined.
61478         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
61479         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
61480         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
61481         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
61482         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
61483         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
61484         code accordingly.
61485         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
61486         pad_ourselves also in this case, with the 'c' and 's' directives, and
61487         with a different notion of "width".
61488         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
61489
61490 2007-06-10  Bruno Haible  <bruno@clisp.org>
61491
61492         * modules/unistr/u32-mbsnlen: New file.
61493         * lib/unistr/u32-mbsnlen.c: New file.
61494
61495         * modules/unistr/u16-mbsnlen: New file.
61496         * lib/unistr/u16-mbsnlen.c: New file.
61497
61498         * modules/unistr/u8-mbsnlen: New file.
61499         * lib/unistr/u8-mbsnlen.c: New file.
61500
61501         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
61502         declarations.
61503
61504 2007-06-10  Bruno Haible  <bruno@clisp.org>
61505
61506         * lib/string_.h (mbsnlen): New declaration.
61507         * lib/mbsnlen.c: New file.
61508         * m4/mbsnlen.m4: New file.
61509         * modules/mbsnlen: New file.
61510         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
61511         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
61512         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
61513
61514 2007-06-10  Bruno Haible  <bruno@clisp.org>
61515
61516         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
61517
61518 2007-06-10  Bruno Haible  <bruno@clisp.org>
61519
61520         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
61521         * lib/mbuiter.h: Likewise.
61522
61523 2007-06-10  Bruno Haible  <bruno@clisp.org>
61524
61525         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
61526         declaration.
61527
61528 2007-06-10  Karl Berry  <karl@gnu.org>
61529
61530         * config/srclist.txt: remove gettext entries, Bruno prefers
61531         to update individually.
61532
61533 2007-06-10  Bruno Haible  <bruno@clisp.org>
61534
61535         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
61536         'maxlen'. Ensure only length + width bytes are allocated, not
61537         length + 1 + width.
61538
61539 2007-06-09  Bruno Haible  <bruno@clisp.org>
61540
61541         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
61542         (CHAR_T): Remove macro.
61543         (VASNPRINTF): Update.
61544
61545 2007-06-09  Bruno Haible  <bruno@clisp.org>
61546
61547         * MODULES.html.sh (Unicode string functions): Add the new modules.
61548
61549         * modules/uniconv/u32-conv-to-enc: New file.
61550         * lib/uniconv/u32-conv-to-enc.c: New file.
61551         * modules/uniconv/u32-conv-to-enc-tests: New file.
61552         * tests/uniconv/test-u32-conv-to-enc.c: New file.
61553
61554         * modules/uniconv/u16-conv-to-enc: New file.
61555         * lib/uniconv/u16-conv-to-enc.c: New file.
61556         * lib/uniconv/u-conv-to-enc.h: New file.
61557         * modules/uniconv/u16-conv-to-enc-tests: New file.
61558         * tests/uniconv/test-u16-conv-to-enc.c: New file.
61559
61560         * modules/uniconv/u8-conv-to-enc: New file.
61561         * lib/uniconv/u8-conv-to-enc.c: New file.
61562         * modules/uniconv/u8-conv-to-enc-tests: New file.
61563         * tests/uniconv/test-u8-conv-to-enc.c: New file.
61564
61565         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
61566         u32_conv_to_encoding): New declarations.
61567
61568 2007-06-09  Bruno Haible  <bruno@clisp.org>
61569
61570         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
61571
61572 2007-06-09  Bruno Haible  <bruno@clisp.org>
61573
61574         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
61575         * modules/malloca: Renamed from modules/allocsa, updated.
61576         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
61577         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
61578         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
61579         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
61580         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
61581         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
61582         * modules/xmalloca: Renamed from modules/xallocsa, updated.
61583         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
61584         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
61585         * modules/c-strcasestr (Depends-on): Update.
61586         * lib/c-strcasestr.c: Update.
61587         * modules/c-strstr (Depends-on): Update.
61588         * lib/c-strstr.c: Update.
61589         * modules/canonicalize-lgpl (Depends-on): Update.
61590         * lib/canonicalize-lgpl.c: Update.
61591         * modules/clean-temp (Depends-on): Update.
61592         * lib/clean-temp.c: Update.
61593         * modules/csharpcomp (Depends-on): Update.
61594         * lib/csharpcomp.c: Update.
61595         * modules/csharpexec (Depends-on): Update.
61596         * lib/csharpexec.c: Update.
61597         * modules/javacomp (Depends-on): Update.
61598         * lib/javacomp.c: Update.
61599         * modules/javaexec (Depends-on): Update.
61600         * lib/javaexec.c: Update.
61601         * modules/mbscasestr (Depends-on): Update.
61602         * lib/mbscasestr.c: Update.
61603         * modules/mbsstr (Depends-on): Update.
61604         * lib/mbsstr.c: Update.
61605         * modules/setenv (Depends-on): Update.
61606         * lib/setenv.c: Update.
61607         * modules/strcasestr (Depends-on): Update.
61608         * lib/strcasestr.c: Update.
61609         * modules/striconveha (Depends-on): Update.
61610         * lib/striconveha.c: Update.
61611         * modules/relocatable-prog-wrapper (Files): Update.
61612         * lib/relocwrapper.c: Update.
61613         * build-aux/install-reloc: Update.
61614         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
61615
61616 2007-06-08  Bruno Haible  <bruno@clisp.org>
61617
61618         Port to uClibc.
61619         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
61620         * lib/fpurge.c (fpurge): Likewise.
61621         * lib/freading.c (freading): Likewise.
61622         * lib/fseeko.c (rpl_fseeko): Likewise.
61623         * lib/fseterr.c (fseterr): Likewise.
61624         * lib/fwriting.c (fwriting): Likewise.
61625         * tests/test-fflush.c (main): Avoid a failure on uClibc.
61626
61627 2007-06-08  Bruno Haible  <bruno@clisp.org>
61628
61629         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
61630         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
61631         * modules/gettext (Files): Add m4/intlmacosx.m4.
61632
61633 2007-06-07  Bruno Haible  <bruno@clisp.org>
61634
61635         * modules/localename-tests: New file.
61636         * tests/test-localename.c: New file.
61637
61638         New module 'localename'.
61639         * lib/localename.h: New file.
61640         * lib/localename.c: New file, from GNU gettext.
61641         * m4/localename.m4: New file.
61642         * modules/localename: New file.
61643
61644 2007-06-07  Bruno Haible  <bruno@clisp.org>
61645
61646         Work around the lack of <wchar.h> on some builds of uClibc.
61647         * doc/headers/wchar.texi: Update.
61648         * lib/wchar_.h: Include <wchar.h> only if it exists.
61649         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
61650         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
61651         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
61652         doesn't exist.
61653         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
61654         * modules/mbfile (Depends-on): Add wchar.
61655         * modules/mbiter (Depends-on): Likewise.
61656         * modules/mbuiter (Depends-on): Likewise.
61657         Reported by Simon Josefsson.
61658
61659 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
61660
61661         Work around problem reported by Steven M. Schweda in
61662         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
61663         Tru64 5.1B with the Compaq compiler environment installed declares
61664         an 'isblank' function but does not define it in the C library.
61665         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
61666         * lib/regex_internal.h (isblank): Likewise.
61667         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
61668         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61669
61670 2007-06-05  Bruno Haible  <bruno@clisp.org>
61671
61672         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
61673         ia64.
61674         * modules/printf-safe: New file.
61675         * modules/fprintf-posix (Depends-on): Add printf-safe.
61676         * modules/printf-posix (Depends-on): Likewise.
61677         * modules/snprintf-posix (Depends-on): Likewise.
61678         * modules/sprintf-posix (Depends-on): Likewise.
61679         * modules/vasnprintf-posix (Depends-on): Likewise.
61680         * modules/vasprintf-posix (Depends-on): Likewise.
61681         * modules/vfprintf-posix (Depends-on): Likewise.
61682         * modules/vprintf-posix (Depends-on): Likewise.
61683         * modules/vsnprintf-posix (Depends-on): Likewise.
61684         * modules/vsprintf-posix (Depends-on): Likewise.
61685         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
61686         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
61687         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
61688         "no" on i386, x86_64, ia64.
61689         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
61690         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61691         on i386, x86_64, ia64.
61692         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
61693         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61694         on i386, x86_64, ia64.
61695         * tests/test-vasnprintf-posix.c: Include float.h.
61696         (LDBL80_WORDS): New macro.
61697         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61698         on i386, x86_64, ia64.
61699         * tests/test-vasprintf-posix.c: Include float.h.
61700         (LDBL80_WORDS): New macro.
61701         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61702         on i386, x86_64, ia64.
61703         * tests/test-snprintf-posix.c: Include float.h.
61704         * tests/test-sprintf-posix.c: Likewise.
61705         * tests/test-vsnprintf-posix.c: Likewise.
61706         * tests/test-vsprintf-posix.c: Likewise.
61707
61708 2007-06-05  Bruno Haible  <bruno@clisp.org>
61709
61710         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
61711         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
61712         non-IEEE numbers on i386, x86_64, ia64.
61713         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
61714         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
61715         * tests/test-isnanl.h: Include float.h.
61716         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
61717
61718 2007-06-05  Bruno Haible  <bruno@clisp.org>
61719
61720         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
61721         also the %a / %A. Handle the %a / %A code before this extra handling.
61722
61723 2007-06-05  Bruno Haible  <bruno@clisp.org>
61724
61725         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
61726         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
61727
61728 2007-06-05  Bruno Haible  <bruno@clisp.org>
61729
61730         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
61731         typo in variable name.
61732
61733 2007-06-05  Eric Blake  <ebb9@byu.net>
61734
61735         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
61736         Reported by Simon Josefsson.
61737
61738 2007-06-04  Bruno Haible  <bruno@clisp.org>
61739
61740         Avoid test failures on some PowerPC platforms.
61741         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
61742         Define differently for PowerPC.
61743         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
61744         Reported by Gary V. Vaughan <gary@gnu.org>.
61745
61746 2007-06-02  Bruno Haible  <bruno@clisp.org>
61747
61748         Fix test-stdint failure on FreeBSD/ia64.
61749         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
61750         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
61751         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
61752         * doc/headers/stdint.texi: Update.
61753
61754 2007-06-01  Bruno Haible  <bruno@clisp.org>
61755
61756         * tests/test-binary-io.c (main): Pass a third argument to open().
61757         Reported by Gary V. Vaughan <gary@gnu.org>.
61758
61759 2007-06-01  Bruno Haible  <bruno@clisp.org>
61760
61761         * doc/functions/frexpl.texi: Update for mingw.
61762
61763 2007-06-01  Bruno Haible  <bruno@clisp.org>
61764
61765         * tests/test-lseek.c (main): Disable test of errno for invalid third
61766         argument.
61767         * doc/functions/lseek.texi: Update.
61768         Reported by Gary V. Vaughan <gary@gnu.org>.
61769
61770 2007-05-28  Bruno Haible  <bruno@clisp.org>
61771
61772         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
61773
61774 2007-05-31  Eric Blake  <ebb9@byu.net>
61775
61776         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
61777         cross compiling.
61778
61779 2007-05-30  Eric Blake  <ebb9@byu.net>
61780         and Bruno Haible  <bruno@clisp.org>
61781
61782         Work around mingw test failures exposed by m4-1.4.9b.
61783         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
61784         * tests/test-unistd.c: Disable uid_t and git_t tests for the
61785         moment.
61786
61787 2007-05-30  Bruno Haible  <bruno@clisp.org>
61788
61789         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
61790         assuming that they are closed. Needed on HP-UX 11.
61791
61792 2007-05-29  Bruno Haible  <bruno@clisp.org>
61793
61794         Fix a problem with #include_next.
61795         * lib/dirent_.h: Split the double-inclusion guard.
61796         * lib/fcntl_.h: Likewise.
61797         * lib/float_.h: Likewise.
61798         * lib/iconv_.h: Likewise.
61799         * lib/inttypes_.h: Likewise.
61800         * lib/locale_.h: Likewise.
61801         * lib/math_.h: Likewise.
61802         * lib/netinet_in_.h: Likewise.
61803         * lib/search_.h: Likewise.
61804         * lib/signal_.h: Likewise.
61805         * lib/stdint_.h: Likewise.
61806         * lib/stdio_.h: Likewise.
61807         * lib/stdlib_.h: Likewise.
61808         * lib/string_.h: Likewise.
61809         * lib/sys_select_.h: Likewise.
61810         * lib/sys_socket_.h: Likewise.
61811         * lib/sys_stat_.h: Likewise.
61812         * lib/sys_time_.h: Likewise.
61813         * lib/sysexits_.h: Likewise.
61814         * lib/time_.h: Likewise.
61815         * lib/unistd_.h: Likewise.
61816         * lib/wchar_.h: Likewise.
61817         * lib/wctype_.h: Likewise.
61818
61819 2007-05-29  Bruno Haible  <bruno@clisp.org>
61820
61821         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
61822         for the moment.
61823
61824 2007-05-29  Bruno Haible  <bruno@clisp.org>
61825
61826         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
61827         invocation.
61828         Reported by Eric Blake.
61829
61830 2007-05-29  Bruno Haible  <bruno@clisp.org>
61831
61832         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
61833         compiling case.
61834
61835 2007-05-29  Eric Blake  <ebb9@byu.net>
61836             Bruno Haible  <bruno@clisp.org>
61837
61838         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
61839         cross compiles.
61840
61841 2007-05-28  Eric Blake  <ebb9@byu.net>
61842
61843         * modules/closein-tests (test_closein_LDADD): Support test on
61844         cygwin with libtool.
61845
61846 2007-05-28  Bruno Haible  <bruno@clisp.org>
61847
61848         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
61849         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61850         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61851         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61852         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61853         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61854         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61855         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61856         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61857
61858 2007-05-28  Eric Blake  <ebb9@byu.net>
61859
61860         Unconditionally include <config.h> in unit tests.
61861         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
61862         * tests/test-allocsa.c, tests/test-arcfour.c,
61863         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
61864         tests/test-array_list.c, tests/test-array_oset.c,
61865         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
61866         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
61867         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
61868         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
61869         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
61870         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
61871         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
61872         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
61873         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
61874         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
61875         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
61876         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
61877         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
61878         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
61879         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
61880         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
61881         test-md5.c, test-memmem.c, test-printf-posix.c,
61882         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
61883         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
61884         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
61885         test-strcasestr.c, test-striconv.c, test-striconveh.c,
61886         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
61887         test-vasnprintf-posix2.c, test-vasnprintf.c,
61888         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
61889         test-vfprintf-posix.c, test-vprintf-posix.c,
61890         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
61891         test-xvasprintf.c: Likewise.
61892
61893 2007-05-28  Bruno Haible  <bruno@clisp.org>
61894
61895         * gnulib-tool (func_import): Remember the --with-tests command-line
61896         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
61897         Reported by Eric Blake.
61898
61899 2007-05-28  Bruno Haible  <bruno@clisp.org>
61900
61901         * modules/ftell-tests: New file.
61902         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
61903         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
61904
61905         * lib/ftell.c: New file.
61906         * modules/ftell: New file.
61907         * m4/ftell.m4: New file.
61908         * doc/functions/ftell.texi: Update.
61909         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
61910         REPLACE_FTELL.
61911         * lib/stdio_.h (rpl_ftell): New declaration.
61912         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
61913         REPLACE_FTELL.
61914
61915 2007-05-28  Eric Blake  <ebb9@byu.net>
61916
61917         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
61918
61919 2007-05-28  Bruno Haible  <bruno@clisp.org>
61920
61921         * modules/fseek-tests: New file.
61922         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
61923         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
61924
61925         * lib/fseek.c: New file.
61926         * modules/fseek: New file.
61927         * m4/fseek.m4: New file.
61928         * doc/functions/fseek.texi: Update.
61929         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
61930         REPLACE_FSEEK.
61931         * lib/stdio_.h (rpl_fseek): New declaration.
61932         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
61933         REPLACE_FSEEK.
61934
61935 2007-05-28  Bruno Haible  <bruno@clisp.org>
61936
61937         * lib/stdio_.h (fflush): More comments.
61938
61939 2007-05-28  Bruno Haible  <bruno@clisp.org>
61940
61941         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
61942         runtime test.
61943
61944 2007-05-28  Eric Blake  <ebb9@byu.net>
61945
61946         Improve lseek module.
61947         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
61948         * lib/unistd_.h (lseek): Scale back link warning message.
61949         * tests/test-lseek.c: Beef up test.
61950         * tests/test-lseek.sh: Exercise more facets of lseek.
61951         Reported by Bruno Haible.
61952
61953 2007-05-28  Bruno Haible  <bruno@clisp.org>
61954
61955         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
61956         to define.
61957
61958 2007-05-27  Bruno Haible  <bruno@clisp.org>
61959
61960         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
61961
61962 2007-05-27  Bruno Haible  <bruno@clisp.org>
61963
61964         * modules/openmp: New file.
61965         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
61966         Noah Misch.
61967
61968 2007-05-26  Bruno Haible  <bruno@clisp.org>
61969
61970         * modules/chdir-long (Depends-on): Add fchdir.
61971         * modules/chdir-safer (Depends-on): Likewise.
61972         * modules/fts (Depends-on): Likewise.
61973         * modules/fts-lgpl (Depends-on): Likewise.
61974         * modules/openat (Depends-on): Likewise.
61975         * modules/savewd (Depends-on): Likewise.
61976
61977 2007-05-24  Eric Blake  <ebb9@byu.net>
61978
61979         Fix lseek on mingw.
61980         * modules/lseek: New module.
61981         * m4/lseek.m4: New file.
61982         * lib/lseek.c: New file.
61983         * modules/lseek-tests: New file.
61984         * tests/test-lseek.c: New file.
61985         * tests/test-lseek.sh: New file.
61986         * MODULES.html.sh: Document lseek module.
61987         * modules/fflush (Depends-on): Add lseek, fseeko.
61988         * modules/fseeko (Depends-on): Likewise.
61989         * modules/ftello (Depends-on): Likewise.
61990         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
61991         broken.
61992         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
61993         broken.
61994         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
61995         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
61996         * lib/ftello.c (rpl_ftello): Likewise.
61997         * tests/test-fseeko.c (main): Test this.
61998         * tests/test-fseeko.sh: Likewise.
61999         * tests/test-ftello.c (main): Likewise.
62000         * tests/test-ftello.sh: Likewise.
62001         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
62002         implies replacing fseek.
62003         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
62004         HAVE_FTELLO.
62005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
62006         * modules/unistd (Makefile.am): Likewise.
62007         * lib/unistd_.h (lseek): Declare a replacement.
62008         * doc/functions/lseek.texi (lseek): Document this fix.
62009         * doc/functions/fseek.texi (fseek): Likewise.
62010         * doc/functions/ftell.texi (ftell): Likewise.
62011
62012 2007-05-24  Bruno Haible  <bruno@clisp.org>
62013
62014         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
62015         in the printed representation of a NaN.
62016         * tests/test-vasprintf-posix.c (test_function): Likewise.
62017         * tests/test-snprintf-posix.h (test_function): Likewise.
62018         * tests/test-sprintf-posix.h (test_function): Likewise.
62019         Reported by Eric Blake.
62020
62021 2007-05-23  Eric Blake  <ebb9@byu.net>
62022
62023         Fix fseeko/ftello on cygwin 1.5.24.
62024         * doc/functions/fseeko.texi (fseeko): Document the fix.
62025         * doc/functions/ftello.texi (ftello): Document the fix.
62026         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
62027         * doc/functions/stdout.text (stdout): New file.
62028         * doc/functions/stderr.text (stderr): New file.
62029         * doc/gnulib.texi (Function Substitutes): Use new files.
62030         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
62031         prior to 1.7.0.
62032         * tests/test-ftello.c (main): Likewise for ftello.
62033         * tests/test-fseeko.sh: New file.
62034         * tests/test-ftello.sh: New file.
62035         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
62036         with seekable stdin.
62037         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
62038         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
62039         (gl_REPLACE_FSEEKO): New macro.
62040         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
62041         * modules/fseeko (Files): Distribute fseeko.c.
62042         * modules/ftello (Files): Distribute ftello.c.
62043         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
62044         mode.
62045         * lib/ftello.c (rpl_ftello): New file.
62046         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
62047         fseeko, ftello.
62048         (gl_STDIN_LARGE_OFFSET): New macro.
62049         * modules/stdio (Makefile.am): Perform the replacement.
62050         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
62051
62052 2007-05-23  Bruno Haible  <bruno@clisp.org>
62053
62054         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
62055         GNULIB_POSIXCHECK is defined.
62056
62057 2007-05-21  Bruno Haible  <bruno@clisp.org>
62058
62059         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
62060         Check also the output for NaN arguments. When cross-compiling, guess
62061         no on IRIX.
62062         * lib/vasnprintf.c: Update comments.
62063         * tests/test-vasnprintf-posix.c (strisnan): New function.
62064         (test_function): Use it.
62065         * tests/test-vasprintf-posix.c (strisnan): New function.
62066         (test_function): Use it.
62067         * tests/test-snprintf-posix.h (strisnan): New function.
62068         (test_function): Use it.
62069         * tests/test-sprintf-posix.h (strisnan): New function.
62070         (test_function): Use it.
62071         Reported by Eric Blake.
62072
62073 2007-05-20  Bruno Haible  <bruno@clisp.org>
62074
62075         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
62076         numbers that fails on BeOS.
62077         * doc/functions/frexpl.texi: Update.
62078
62079 2007-05-20  Jim Meyering  <jim@meyering.net>
62080
62081         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
62082         forced upon us by glibc-2.6.
62083
62084 2007-05-20  Bruno Haible  <bruno@clisp.org>
62085
62086         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
62087         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
62088         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
62089         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
62090         NEED_PRINTF_INFINITE.
62091         (is_infinitel): New function.
62092         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
62093         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
62094         gl_PREREQ_VASNPRINTF_INFINITE.
62095         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
62096         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62097         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
62098         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
62099         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
62100         gl_PREREQ_VASNPRINTF_INFINITE.
62101         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62102         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62103         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62104         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62105         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62106         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62107         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62108         * doc/functions/fprintf.texi: Update.
62109         * doc/functions/printf.texi: Update.
62110         * doc/functions/snprintf.texi: Update.
62111         * doc/functions/sprintf.texi: Update.
62112         * doc/functions/vfprintf.texi: Update.
62113         * doc/functions/vprintf.texi: Update.
62114         * doc/functions/vsnprintf.texi: Update.
62115         * doc/functions/vsprintf.texi: Update.
62116
62117 2007-05-20  Bruno Haible  <bruno@clisp.org>
62118
62119         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
62120         was not found in libc.
62121         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
62122
62123 2007-05-20  Bruno Haible  <bruno@clisp.org>
62124
62125         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62126         printed as "-nan" instead of "nan".
62127         * tests/test-vasprintf-posix.c (test_function): Likewise.
62128         * tests/test-snprintf-posix.h (test_function): Likewise.
62129         * tests/test-sprintf-posix.h (test_function): Likewise.
62130         Needed for HP-UX 11.
62131
62132 2007-05-20  Jim Meyering  <jim@meyering.net>
62133
62134         Fix buggy test for the fchownat-deref bug.
62135         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
62136         symlink required for the run-test.  Without it, this test would
62137         always declare that fchownat doesn't work, and client code would
62138         unnecessarily use the replacement function with fixed libc.
62139         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
62140         Reported by Greg Schafer.
62141
62142 2007-05-19  Bruno Haible  <bruno@clisp.org>
62143
62144         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
62145         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
62146         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
62147         Needed for IRIX 6.5 and Solaris 2.5.1.
62148
62149 2007-05-19  Bruno Haible  <bruno@clisp.org>
62150
62151         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
62152         (test_function): Skip tests involving -0.0 on platforms where
62153         -0.0 = 0.0.
62154         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
62155         (test_function): Skip tests involving -0.0 on platforms where
62156         -0.0 = 0.0.
62157         * tests/test-snprintf-posix.h (have_minus_zero): New function.
62158         (test_function): Skip tests involving -0.0 on platforms where
62159         -0.0 = 0.0.
62160         * tests/test-sprintf-posix.h (have_minus_zero): New function.
62161         (test_function): Skip tests involving -0.0 on platforms where
62162         -0.0 = 0.0.
62163         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
62164         tests.
62165         * tests/test-printf-posix.h (test_function): Likewise.
62166         * tests/test-printf-posix.output: Remove all -0.0 related results.
62167         Needed for IRIX 6.5.
62168
62169 2007-05-19  Bruno Haible  <bruno@clisp.org>
62170
62171         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62172         printed as "nan0x7fffffff" instead of "nan".
62173         * tests/test-vasprintf-posix.c (test_function): Likewise.
62174         * tests/test-snprintf-posix.h (test_function): Likewise.
62175         * tests/test-sprintf-posix.h (test_function): Likewise.
62176         * tests/test-fprintf-posix.h (NaN): Remove macro.
62177         (test_function): Remove all NaN related tests.
62178         * tests/test-printf-posix.h (NaN): Remove macro.
62179         (test_function): Remove all NaN related tests.
62180         * tests/test-printf-posix.output: Remove all NaN related results.
62181         Needed for IRIX 6.5.
62182
62183 2007-05-19  Bruno Haible  <bruno@clisp.org>
62184
62185         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
62186         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
62187
62188 2007-05-19  Bruno Haible  <bruno@clisp.org>
62189
62190         * lib/float_.h: New file.
62191         * m4/float_h.m4: New file.
62192         * modules/float: New file.
62193         * modules/isnanl (Dependencies): Add float.
62194         * modules/isnanl-nolibm (Dependencies): Likewise.
62195         * modules/mathl (Dependencies): Likewise.
62196         * modules/printf-frexpl (Dependencies): Likewise.
62197         * modules/signbit (Dependencies): Likewise.
62198         * modules/vasnprintf (Dependencies): Likewise.
62199         * doc/headers/float.texi: Update.
62200
62201 2007-05-19  Jim Meyering  <jim@meyering.net>
62202
62203         * lib/utimens.c (gl_futimens): Rename from futimens,
62204         now that glibc-2.6 declares futimens.
62205         * lib/utimens.h: Likewise.
62206
62207 2007-05-19  Bruno Haible  <bruno@clisp.org>
62208
62209         Avoid test failures on mingw.
62210         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
62211         * tests/test-printf-posix.sh: Likewise.
62212         * tests/test-vfprintf-posix.sh: Likewise.
62213         * tests/test-vprintf-posix.sh: Likewise.
62214
62215 2007-05-19  Bruno Haible  <bruno@clisp.org>
62216
62217         Fix *printf result for NaN, Inf, -0.0 on mingw.
62218         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
62219         * lib/vasnprintf.c: Include math.h and isnan.h.
62220         (is_infinite_or_zero): New function.
62221         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
62222         values in the %f, %F, %e, %E, %g, %G directives.
62223         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
62224         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62225         gl_PRINTF_INFINITE and test its result. Invoke
62226         gl_PREREQ_VASNPRINTF_INFINITE.
62227         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62228         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62229         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62230         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62231         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62232         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62233         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62234         * doc/functions/fprintf.texi: Update.
62235         * doc/functions/printf.texi: Update.
62236         * doc/functions/snprintf.texi: Update.
62237         * doc/functions/sprintf.texi: Update.
62238         * doc/functions/vfprintf.texi: Update.
62239         * doc/functions/vprintf.texi: Update.
62240         * doc/functions/vsnprintf.texi: Update.
62241         * doc/functions/vsprintf.texi: Update.
62242
62243 2007-05-19  Bruno Haible  <bruno@clisp.org>
62244
62245         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
62246         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
62247         Instead of multiplying with 10^k, set extra_zeroes to k.
62248         (scale10_round_long_double): Remove function.
62249
62250 2007-05-18  Bruno Haible  <bruno@clisp.org>
62251
62252         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
62253         introduced on 2007-05-06.
62254
62255 2007-05-18  Bruno Haible  <bruno@clisp.org>
62256
62257         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
62258         %g directives.
62259         * tests/test-vasprintf-posix.c (test_function): Likewise.
62260         * tests/test-snprintf-posix.h (test_function): Likewise.
62261         * tests/test-sprintf-posix.h (test_function): Likewise.
62262
62263 2007-05-18  Bruno Haible  <bruno@clisp.org>
62264
62265         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
62266         (strmatch): New function.
62267         (test_function): Test the %f directive on numbers of various exponents.
62268         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
62269         (strmatch): New function.
62270         (test_function): Test the %f directive on numbers of various exponents.
62271         * tests/test-snprintf-posix.h (strmatch): New function.
62272         (test_function): Test the %f directive on numbers of various exponents.
62273         * tests/test-sprintf-posix.h (strmatch): New function.
62274         (test_function): Test the %f directive on numbers of various exponents.
62275         * tests/test-snprintf-posix.c (SIZEOF): New macro.
62276         * tests/test-sprintf-posix.c (SIZEOF): New macro.
62277         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
62278         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
62279
62280 2007-05-18  Bruno Haible  <bruno@clisp.org>
62281
62282         Add support for 'long double' number output.
62283         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
62284         * lib/vasnprintf.c: Include math.h and float+.h.
62285         (mp_limb_t): New type.
62286         (GMP_LIMB_BITS): New macro.
62287         (mp_twolimb_t): New type.
62288         (GMP_TWOLIMB_BITS): New macro.
62289         (mpn_t): New type.
62290         (multiply, divide, convert_to_decimal, decode_long_double,
62291         scale10_round_long_double, scale10_round_decimal_long_double,
62292         floorlog10l): New functions.
62293         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
62294         for the %f, %F, %e, %E, %g, %G directives.
62295         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
62296         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62297         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
62298         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
62299         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62300         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62301         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62302         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62303         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62304         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62305         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62306         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
62307         * modules/snprintf-posix (Depends-on): Likewise.
62308         * modules/sprintf-posix (Depends-on): Likewise.
62309         * modules/vasnprintf-posix (Depends-on): Likewise.
62310         * modules/vasprintf-posix (Depends-on): Likewise.
62311         * modules/vfprintf-posix (Depends-on): Likewise.
62312         * modules/vsnprintf-posix (Depends-on): Likewise.
62313         * modules/vsprintf-posix (Depends-on): Likewise.
62314         * modules/vasnprintf (Files): Add lib/float+.h.
62315         * doc/functions/fprintf.texi: Update.
62316         * doc/functions/printf.texi: Update.
62317         * doc/functions/snprintf.texi: Update.
62318         * doc/functions/sprintf.texi: Update.
62319         * doc/functions/vfprintf.texi: Update.
62320         * doc/functions/vprintf.texi: Update.
62321         * doc/functions/vsnprintf.texi: Update.
62322         * doc/functions/vsprintf.texi: Update.
62323
62324 2007-05-18  Bruno Haible  <bruno@clisp.org>
62325
62326         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
62327
62328 2007-05-18  Bruno Haible  <bruno@clisp.org>
62329
62330         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
62331         for printing 64-bit integers. Needed for mingw.
62332
62333 2007-05-18  Bruno Haible  <bruno@clisp.org>
62334
62335         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
62336         gl_FUNC_FREXPL_WORKS.
62337         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
62338
62339 2007-05-18  Bruno Haible  <bruno@clisp.org>
62340
62341         * modules/frexpl-nolibm-tests: New file.
62342
62343         * modules/frexpl-nolibm: New file.
62344         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
62345
62346 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
62347
62348         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
62349         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
62350         GCC 4.2, which otherwise issues a lot of warnings.
62351         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
62352         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
62353         Likewise.
62354         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
62355         * modules/iconv_open (iconv.h): Likewise.
62356         * modules/locale (locale.h): Likewise.
62357         * modules/netinet_in (netinet/in.h): Likewise.
62358         * modules/sys_select (sys_select.h): Likewise.
62359         * modules/sys_socket (sys/socket.h): Likewise.
62360         * modules/sys_stat (sys/stat.h): Likewise.
62361         * modules/sysexits (sysexits.h): Likewise.
62362         * modules/unistd (unistd.h): Likewise.
62363
62364 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62365
62366         * modules/closein-tests (Makefile.am): Distribute
62367         `test-closein.sh'.
62368
62369 2007-05-17  Bruno Haible  <bruno@clisp.org>
62370
62371         * tests/test-printf-posix.output: Renamed from
62372         tests/test-fprintf-posix.out.
62373         * modules/fprintf-posix-tests: Update.
62374         * modules/printf-posix-tests: Update.
62375         * modules/vfprintf-posix-tests: Update.
62376         * modules/vprintf-posix-tests: Update.
62377         * tests/test-fprintf-posix.sh: Update.
62378         * tests/test-printf-posix.sh: Update.
62379         * tests/test-vfprintf-posix.sh: Update.
62380         * tests/test-vprintf-posix.sh: Update.
62381         Reported by Ralf Wildenhues.
62382
62383 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
62384
62385         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
62386         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
62387         GCC 4.2, which otherwise issues a lot of warnings.
62388         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
62389         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
62390         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
62391         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
62392         it should no longer be needed.
62393         * lib/string_.h: Likewise.
62394         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
62395         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
62396         * modules/inttypes (inttypes.h): Likewise.
62397         * modules/math (math.h): Likewise.
62398         * modules/search (search.h): Likewise.
62399         * modules/signal (signal.h): Likewise.
62400         * modules/stdint (stdint.h): Likewise.
62401         * modules/stdio (stdio.h): Likewise.
62402         * modules/stdlib (stdlib.h): Likewise.
62403         * modules/string (string.h): Likewise.
62404         * modules/sys_time (sys/time.h): Likewise.
62405         * modules/time (time.h): Likewise.
62406         * modules/wchar (wchar.h): Likewise.
62407         * modules/wctype (wtype.h): Likewise.
62408
62409 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
62410
62411         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
62412
62413 2007-05-13  Bruno Haible  <bruno@clisp.org>
62414
62415         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
62416         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62417         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
62418         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
62419         (gl_PREREQ_STRTOK_R): Don't require it here.
62420
62421 2007-05-13  Bruno Haible  <bruno@clisp.org>
62422
62423         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
62424         when used in C++ mode.
62425
62426 2007-05-12  Bruno Haible  <bruno@clisp.org>
62427
62428         * lib/linebuffer.h: Tweak doc.
62429         * lib/linebuffer.c: Likewise.
62430
62431 2007-05-12  James Youngman  <jay@gnu.org>
62432
62433         * lib/linebuffer.c (readlinebuffer_delim): New function,
62434         like readlinebuffer, but use a caller-specified delimiter.
62435         (readlinebuffer): Just call readlinebuffer_delim with '\n'
62436         as the delimiter.
62437         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
62438
62439 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
62440
62441         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
62442         * modules/openat (Files): Remove openat-die.c.
62443         (Depends-on): Add openat-die.
62444         * modules/openat-die: New module.
62445
62446 2007-05-06  Bruno Haible  <bruno@clisp.org>
62447
62448         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
62449         Update with info about Cygwin.
62450         * doc/functions/fprintf.texi: Update.
62451         * doc/functions/printf.texi: Update.
62452         * doc/functions/snprintf.texi: Update.
62453         * doc/functions/sprintf.texi: Update.
62454         * doc/functions/vfprintf.texi: Update.
62455         * doc/functions/vprintf.texi: Update.
62456         * doc/functions/vsnprintf.texi: Update.
62457         * doc/functions/vsprintf.texi: Update.
62458         Reported by Eric Blake.
62459
62460 2007-05-06  Bruno Haible  <bruno@clisp.org>
62461
62462         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
62463         padding ourselves for the floating-point directives.
62464         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
62465         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
62466         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62467         gl_PRINTF_FLAG_ZERO and test its result. Invoke
62468         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
62469         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62470         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
62471         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62472         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62473         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62474         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62475         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62476         * tests/test-snprintf-posix.h (test_function): Also check the width
62477         and some flags in the %f directive.
62478         * tests/test-sprintf-posix.h (test_function): Likewise.
62479         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62480         * tests/test-vasprintf-posix.c (test_function): Likewise.
62481         * doc/functions/fprintf.texi: Update.
62482         * doc/functions/printf.texi: Update.
62483         * doc/functions/snprintf.texi: Update.
62484         * doc/functions/sprintf.texi: Update.
62485         * doc/functions/vfprintf.texi: Update.
62486         * doc/functions/vprintf.texi: Update.
62487         * doc/functions/vsnprintf.texi: Update.
62488         * doc/functions/vsprintf.texi: Update.
62489
62490 2007-05-06  Bruno Haible  <bruno@clisp.org>
62491
62492         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
62493         pass the ' flag character to sprintf or snprintf.
62494         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
62495         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
62496         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62497         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
62498         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
62499         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62500         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
62501         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62502         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62503         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62504         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62505         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62506         * tests/test-snprintf-posix.h (test_function): Also check the grouping
62507         flag.
62508         * tests/test-sprintf-posix.h (test_function): Likewise.
62509         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62510         * tests/test-vasprintf-posix.c (test_function): Likewise.
62511         * doc/functions/fprintf.texi: Update.
62512         * doc/functions/printf.texi: Update.
62513         * doc/functions/snprintf.texi: Update.
62514         * doc/functions/sprintf.texi: Update.
62515         * doc/functions/vfprintf.texi: Update.
62516         * doc/functions/vprintf.texi: Update.
62517         * doc/functions/vsnprintf.texi: Update.
62518         * doc/functions/vsprintf.texi: Update.
62519
62520 2007-05-01  Bruno Haible  <bruno@clisp.org>
62521
62522         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
62523
62524 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
62525
62526         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
62527         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
62528
62529 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62530
62531         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
62532         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
62533         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
62534
62535 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
62536
62537         * lib/argp-help.c (struct hol_entry): New member `ord'.
62538         (HOL_ENTRY_PTRCMP): Use ord for comparison
62539         (hol_sort): Initialize ord.
62540
62541 2007-05-01  Bruno Haible  <bruno@clisp.org>
62542
62543         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
62544         Reported by Eric Blake.
62545         * doc/gnulib.texi (Function Substitutes): Update.
62546
62547 2007-05-01  Bruno Haible  <bruno@clisp.org>
62548
62549         * doc/functions.texi: Remove file, now redundant through
62550         doc/functions/*.texi.
62551
62552 2007-05-01  Bruno Haible  <bruno@clisp.org>
62553
62554         * modules/argp (Depends-on): Add sleep.
62555
62556 2007-05-01  Bruno Haible  <bruno@clisp.org>
62557
62558         * modules/sleep-tests: New file.
62559         * tests/test-sleep.c: New file.
62560
62561         * modules/sleep: New file.
62562         * lib/sleep.c: New file.
62563         * m4/sleep.m4: New file.
62564         * lib/unistd_.h (sleep): New declaration.
62565         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
62566         HAVE_SLEEP.
62567         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
62568         * doc/functions/sleep.texi: Document the sleep module.
62569
62570 2007-05-01  Bruno Haible  <bruno@clisp.org>
62571
62572         * lib/sigprocmask.h: Remove file.
62573         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
62574         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
62575         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
62576         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
62577         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
62578         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
62579         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
62580         HAVE_SIGSET_T as a shell variable.
62581         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
62582         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
62583         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
62584         (Depends-on): Add signal. Remove verify.
62585         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
62586         (Include): Mention <signal.h> instead of sigprocmask.h.
62587         * NEWS: Mention the change.
62588         * lib/fatal-signal.c: Don't include sigprocmask.h.
62589
62590 2007-05-01  Bruno Haible  <bruno@clisp.org>
62591
62592         * modules/signal: New file.
62593         * lib/signal_.h: New file.
62594         * m4/signal_h.m4: New file.
62595
62596 2007-05-01  Bruno Haible  <bruno@clisp.org>
62597
62598         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
62599         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
62600         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
62601         HAVE_WCTYPE_CTMP_BUG into wctype.h.
62602
62603 2007-05-01  Bruno Haible  <bruno@clisp.org>
62604
62605         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
62606         configure time.
62607         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
62608         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
62609         * modules/sys_stat (Makefile.am): Substitute their values into
62610         sys/stat.h.
62611
62612 2007-05-01  Bruno Haible  <bruno@clisp.org>
62613
62614         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
62615         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
62616         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
62617
62618 2007-05-01  Bruno Haible  <bruno@clisp.org>
62619
62620         * doc/header/assert.texi: Undo last change: don't mention the gnulib
62621         'assert' module here.
62622
62623 2007-05-01  Bruno Haible  <bruno@clisp.org>
62624
62625         * doc/functions/*.texi: New files.
62626         * doc/functions/google-ranking.txt: New file.
62627         * doc/gnulib.texi (Function Substitutes): New chapter.
62628         (ctime, inet_ntoa): Remove sections.
62629         * doc/ctime.texi: Remove file.
62630         * doc/inet_ntoa.texi: Remove file.
62631         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
62632         dependencies.
62633         (%.info): New rule, specifying a --reference-limit.
62634
62635 2007-05-01  Bruno Haible  <bruno@clisp.org>
62636
62637         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
62638
62639 2007-05-01  Bruno Haible  <bruno@clisp.org>
62640
62641         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
62642         the portability of 'mkdir' to mingw systems.
62643
62644 2007-05-01  Bruno Haible  <bruno@clisp.org>
62645
62646         * doc/headers/google-ranking.txt: New file.
62647
62648 2007-04-30  Eric Blake  <ebb9@byu.net>
62649
62650         Prefer fseeko to fseek.
62651         * modules/getpass (Depends-on): Add fseeko.
62652         * lib/getpass.c (getpass): Use fseeko, not fseek.
62653
62654 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
62655
62656         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
62657         assumes the sorting is stable, while most qsort implementations
62658         are not.  Use argument addresses to ensure they never compare as
62659         equal.
62660
62661         * tests/test-argp-2.sh (usage-indent test): Fix output
62662         (func_compare): Restore diff options
62663         * tests/test-argp.c: Restore #include "progname.h"
62664
62665 2007-04-29  Bruno Haible  <bruno@clisp.org>
62666
62667         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
62668         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62669         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
62670         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62671         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
62672         (configure.ac): Define CHECK_SNPRINTF_POSIX.
62673         (TESTS, check_PROGRAMS): Add test-snprintf.
62674         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
62675         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
62676         (TESTS, check_PROGRAMS): Add test-vsnprintf.
62677         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
62678         assertions that fail on HP-UX, OSF/1, or IRIX.
62679         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
62680
62681 2007-04-29  Bruno Haible  <bruno@clisp.org>
62682
62683         * MODULES.html.sh (posix_functions): Remove 'contents'.
62684
62685 2007-04-29  Karl Berry  <karl@gnu.org>
62686
62687         * config/srclist.txt (gendocs_template_min): new entry.
62688
62689 2007-04-29  Bruno Haible  <bruno@clisp.org>
62690
62691         Work around fpurge bug on BSD systems.
62692         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
62693         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
62694         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
62695         fpurge to rpl_fpurge if the system already has this function.
62696         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
62697         the case where the system already has this function. Correct invariants
62698         on BSD systems.
62699         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
62700         BSD systems.
62701
62702 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
62703
62704         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
62705         proposed by Sven Verdoolaege.
62706
62707         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
62708         options.
62709         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
62710         (usage and help tests): Update
62711
62712 2007-04-29  Bruno Haible  <bruno@clisp.org>
62713
62714         * tests/test-fflush.c (main): Use a file of size 17, not 10.
62715         Print more information in case of failure. Disable a test on BeOS.
62716
62717 2007-04-29  Bruno Haible  <bruno@clisp.org>
62718
62719         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
62720         This helps debugging on systems on which no gdb is available.
62721
62722 2007-04-29  Bruno Haible  <bruno@clisp.org>
62723
62724         * lib/freading.h: Improve comments.
62725         * lib/fwriting.h: Likewise.
62726         * tests/test-freading.c (main): Don't check freading immediately after
62727         repositioning. Needed for glibc.
62728
62729 2007-04-29  Bruno Haible  <bruno@clisp.org>
62730
62731         * lib/freading.c (freading): Trivial simplification.
62732
62733 2007-04-28  Bruno Haible  <bruno@clisp.org>
62734
62735         * tests/test-fwriting.c (main): Also test the interaction between
62736         fflush and fwriting.
62737         * modules/fwriting-tests (Depends-on): Add fflush.
62738
62739         * tests/test-freading.c (main): Also test the interaction between
62740         fflush and freading.
62741         * modules/freading-tests (Depends-on): Add fflush.
62742
62743 2007-04-28  Bruno Haible  <bruno@clisp.org>
62744
62745         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
62746         fseeko and ftello.
62747         Suggested by Eric Blake.
62748
62749 2007-04-28  Jim Meyering  <jim@meyering.net>
62750
62751         Avoid false-negative in gl_STDINT_H's C99 conformance test.
62752         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
62753         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
62754
62755 2007-04-27  Eric Blake  <ebb9@byu.net>
62756
62757         * doc/headers/assert.texi (assert.h): Document assert module use.
62758
62759 2007-04-27  Bruno Haible  <bruno@clisp.org>
62760
62761         * doc/headers/*.texi: New files.
62762         * doc/gnulib.texi (Header File Substitutes): New chapter.
62763         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
62764         dependencies.
62765         (standards.info ,standards.html, standards.dvi): Update dependencies.
62766         (mostlyclean, clean): New targets.
62767
62768 2007-04-27  Bruno Haible  <bruno@clisp.org>
62769
62770         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
62771         * modules/sysexits (Files, Makefile.am): Update.
62772
62773         * lib/sys_socket_.h: Renamed from lib/socket_.h.
62774         * modules/sys_socket (Files, Makefile.am): Update.
62775
62776         * lib/sys_stat_.h: Renamed from lib/stat_.h.
62777         * modules/sys_stat (Files, Makefile.am): Update.
62778
62779 2007-04-27  Eric Blake  <ebb9@byu.net>
62780
62781         * lib/freading.h: Improve comments.
62782         * lib/fwriting.h: Likewise.
62783         * lib/fflush.c: Likewise.
62784
62785         Fix closein for mingw.
62786         * modules/closein-tests: Add tests for closein.
62787         * tests/test-closein.c: New file.
62788         * tests/test-closein.sh: Likewise.
62789         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
62790         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
62791
62792 2007-04-27  Bruno Haible  <bruno@clisp.org>
62793
62794         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
62795         version is < 6.
62796         * lib/math_.h [__DECC]: Likewise.
62797         * lib/stdio_.h [__DECC]: Likewise.
62798         * lib/stdlib_.h [__DECC]: Likewise.
62799         * lib/string_.h [__DECC]: Likewise.
62800         * lib/time_.h [__DECC]: Likewise.
62801         * lib/wchar_.h [__DECC]: Likewise.
62802         * lib/wctype_.h [__DECC]: Likewise.
62803
62804 2007-04-27  Bruno Haible  <bruno@clisp.org>
62805
62806         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
62807
62808 2007-04-27  Bruno Haible  <bruno@clisp.org>
62809
62810         * lib/fflush.c: Add comments.
62811         * modules/fpurge-tests (Depends-on): Add fflush.
62812         * modules/freadable-tests (Depends-on): Likewise.
62813         * modules/fwritable-tests (Depends-on): Likewise.
62814
62815 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
62816
62817         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
62818         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
62819         Report by Bruno Haible <bruno@clisp.org>.
62820
62821 2007-04-26  Eric Blake  <ebb9@byu.net>
62822
62823         Fix fflush on mingw.
62824         * modules/fflush (Depends-on): Add freading.
62825         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
62826         but unread data.
62827
62828 2007-04-26  Eric Blake  <ebb9@byu.net>
62829         and Bruno Haible  <bruno@clisp.org>
62830
62831         Implement freading and fwriting.
62832         * lib/freading.c: New file.
62833         * lib/freading.h: Likewise.
62834         * m4/freading.m4: Likewise.
62835         * modules/freading: Likewise.
62836         * modules/freading-tests: Likewise.
62837         * tests/test-freading.c: Likewise.
62838         * lib/fwriting.c: New file.
62839         * lib/fwriting.h: Likewise.
62840         * m4/fwriting.m4: Likewise.
62841         * modules/fwriting: Likewise.
62842         * modules/fwriting-tests: Likewise.
62843         * tests/test-fwriting.c: Likewise.
62844         * MODULES.html.sh (File stream based Input/Output): Mention them.
62845
62846 2007-04-26  Bruno Haible  <bruno@clisp.org>
62847
62848         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
62849         'long' when we assume it.
62850         Suggested by Eric Blake.
62851
62852 2007-04-26  Bruno Haible  <bruno@clisp.org>
62853
62854         Ensure fseeko, ftello are declared on glibc systems.
62855         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
62856         * modules/fseeko (configure.ac-early): Likewise.
62857         * modules/ftello (configure.ac-early): Likewise.
62858         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
62859         AC_FUNC_FSEEKO for this.
62860         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
62861         (gl_CHECK_FSEEKO): Remove macro.
62862
62863 2007-04-26  Bruno Haible  <bruno@clisp.org>
62864
62865         * tests/test-fflush.c (main): Also check the ftell result after
62866         fflush and fseek/fseeko.
62867         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
62868         file descriptor position cache in the stream.
62869         * lib/fseeko.c (rpl_fseeko): Likewise.
62870
62871 2007-04-26  Bruno Haible  <bruno@clisp.org>
62872
62873         * modules/fflush-tests (Depends-on): Add fseeko.
62874
62875 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
62876             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62877
62878         * lib/argz_.h: ensure error_t definition is obtained in same
62879         mechanism system argz.h would have.
62880         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
62881         argz facilities are known bad.  Err on the side of caution if
62882         cross-compiling.
62883
62884 2007-04-25  Eric Blake  <ebb9@byu.net>
62885
62886         * lib/fpurge.c (includes): Use stdlib.h for free.
62887         * tests/test-fflush.c (main): Also test fflush-fseeko.
62888
62889 2007-04-25  Bruno Haible  <bruno@clisp.org>
62890
62891         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
62892         * lib/fseeko.c: New file.
62893         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
62894         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
62895         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
62896         gl_FUNC_FSEEKO.
62897         (gl_FUNC_FSEEKO): Invoke it.
62898         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
62899         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
62900         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
62901
62902 2007-04-25  Bruno Haible  <bruno@clisp.org>
62903
62904         * modules/fflush (Depends-on): Add ftello.
62905
62906 2007-04-25  Bruno Haible  <bruno@clisp.org>
62907
62908         * modules/ftello-tests: New file.
62909         * tests/test-ftello.c: New file.
62910
62911         * modules/ftello: New file.
62912         * m4/ftello.m4: New file.
62913         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
62914         HAVE_FTELLO.
62915         * lib/stdio_.h (ftello): New declaration.
62916         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
62917         HAVE_FTELLO.
62918
62919 2007-04-25  Bruno Haible  <bruno@clisp.org>
62920
62921         * modules/fseeko-tests: New file.
62922         * tests/test-fseeko.c: New file.
62923
62924         * modules/fseeko: New file.
62925         * m4/fseeko.m4: New file.
62926         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
62927         HAVE_FSEEKO.
62928         * lib/stdio_.h (fseeko): New declaration.
62929         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
62930         HAVE_FSEEKO.
62931
62932 2007-04-25  Bruno Haible  <bruno@clisp.org>
62933
62934         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
62935
62936 2007-04-25  Bruno Haible  <bruno@clisp.org>
62937
62938         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
62939         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
62940         * tests/test-unistd.c: Likewise.
62941         * tests/test-fcntl.c: Likewise.
62942
62943 2007-04-23  Eric Blake  <ebb9@byu.net>
62944
62945         * lib/fflush.c: Fix missing include.
62946         Reported by Bruno Haible.
62947
62948 2007-04-23  Bruno Haible  <bruno@clisp.org>
62949
62950         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
62951         Reported by Eric Blake.
62952
62953 2007-04-23  Bruno Haible  <bruno@clisp.org>
62954
62955         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
62956
62957 2007-04-23  Bruno Haible  <bruno@clisp.org>
62958
62959         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
62960
62961 2007-04-23  Bruno Haible  <bruno@clisp.org>
62962
62963         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
62964         Needed on HP-UX 11.
62965
62966 2007-04-16  Eric Blake  <ebb9@byu.net>
62967
62968         Make fflush rely on fpurge.
62969         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
62970         open coding all variants.
62971         * modules/fflush (Depends-on): Add fpurge and unistd.
62972         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
62973         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
62974
62975         Fix --with-tests compilation on cygwin.
62976         * modules/argmatch-tests (Makefile.am): List gnulib library first
62977         in LDADD.
62978         * modules/argp-tests (Makefile.am): Likewise.
62979         * modules/array-list-tests (Makefile.am): Likewise.
62980         * modules/array-oset-tests (Makefile.am): Likewise.
62981         * modules/avltree-list-tests (Makefile.am): Likewise.
62982         * modules/avltree-oset-tests (Makefile.am): Likewise.
62983         * modules/avltreehash-list-tests (Makefile.am): Likewise.
62984         * modules/carray-list-tests (Makefile.am): Likewise.
62985         * modules/dirname-tests (Makefile.am): Likewise.
62986         * modules/frexp-tests (Makefile.am): Likewise.
62987         * modules/isnanl-tests (Makefile.am): Likewise.
62988         * modules/linked-list-tests (Makefile.am): Likewise.
62989         * modules/linkedhash-list-tests (Makefile.am): Likewise.
62990         * modules/lock-tests (Makefile.am): Likewise.
62991         * modules/rbtree-list-tests (Makefile.am): Likewise.
62992         * modules/rbtree-oset-tests (Makefile.am): Likewise.
62993         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
62994         * modules/tls-tests (Makefile.am): Likewise.
62995         * modules/tsearch-tests (Makefile.am): Likewise.
62996         * modules/xvasprintf-tests (Makefile.am): Likewise.
62997
62998         Fix fpurge for cygwin.
62999         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
63000         value.
63001         * modules/fpurge-tests (Depends-on): Clean up trash.
63002
63003 2007-04-16  Simon Josefsson  <simon@josefsson.org>
63004
63005         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
63006
63007         * m4/autobuild.m4: Re-indent.
63008
63009 2007-04-13  Bruno Haible  <bruno@clisp.org>
63010
63011         * modules/fpurge-tests: New file.
63012         * tests/test-fpurge.c: New file.
63013
63014         * modules/fpurge: New file.
63015         * lib/fpurge.h: New file.
63016         * lib/fpurge.c: New file.
63017         * m4/fpurge.m4: New file.
63018
63019 2007-04-13  Bruno Haible  <bruno@clisp.org>
63020
63021         * modules/fbufmode-tests: New file.
63022         * tests/test-fbufmode.c: New file.
63023
63024         * modules/fbufmode: New file.
63025         * lib/fbufmode.h: New file.
63026         * lib/fbufmode.c: New file.
63027         * m4/fbufmode.m4: New file.
63028
63029 2007-04-13  Bruno Haible  <bruno@clisp.org>
63030
63031         * modules/fwritable-tests: New file.
63032         * tests/test-fwritable.c: New file.
63033
63034         * modules/fwritable: New file.
63035         * lib/fwritable.h: New file.
63036         * lib/fwritable.c: New file.
63037         * m4/fwritable.m4: New file.
63038
63039 2007-04-13  Bruno Haible  <bruno@clisp.org>
63040
63041         * modules/freadable-tests: New file.
63042         * tests/test-freadable.c: New file.
63043
63044         * modules/freadable: New file.
63045         * lib/freadable.h: New file.
63046         * lib/freadable.c: New file.
63047         * m4/freadable.m4: New file.
63048
63049 2007-04-13  Bruno Haible  <bruno@clisp.org>
63050
63051         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
63052         MOSTLYCLEANFILES.
63053
63054 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
63055
63056         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
63057         gzip bootstrap.conf to avoid dragging in i18n machinery.
63058         (gnulib_tool_option): Use it.
63059
63060 2007-04-13  Bruno Haible  <bruno@clisp.org>
63061
63062         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
63063         %F directives.
63064         * tests/test-vasprintf-posix.c (test_function): Likewise.
63065         * tests/test-snprintf-posix.h (test_function): Likewise.
63066         * tests/test-sprintf-posix.h (test_function): Likewise.
63067         * tests/test-fprintf-posix.h (test_function): Likewise.
63068         * tests/test-printf-posix.h (test_function): Likewise.
63069         * tests/test-fprintf-posix.out: Likewise.
63070
63071 2007-04-13  Bruno Haible  <bruno@clisp.org>
63072
63073         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
63074         * modules/tls-tests (configure.ac): Likewise.
63075         Reported by Arto C. Nirkko <anirkko@insel.ch>.
63076
63077 2007-04-13  Bruno Haible  <bruno@clisp.org>
63078
63079         * lib/tls.c (glthread_tls_get): Fix return type.
63080         Patch by Arto C. Nirkko <anirkko@insel.ch>.
63081
63082 2007-04-12  Eric Blake  <ebb9@byu.net>
63083
63084         * modules/gettime (Depends-on): Remove gettime.
63085         Reported by Dmitry V. Levin.
63086
63087 2007-04-12  Bruno Haible  <bruno@clisp.org>
63088
63089         * modules/fflush (Include): Mention <stdio.h>.
63090         * modules/strtoimax (Include): Mention <inttypes.h>.
63091         * modules/strtoumax (Include): Likewise.
63092
63093 2007-04-12  Eric Blake  <ebb9@byu.net>
63094
63095         * .cvsignore: New file.
63096         * .gitignore: Likewise.
63097
63098 2007-04-12  Bruno Haible  <bruno@clisp.org>
63099
63100         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
63101         not before, since $(LDADD) often contains libgnu.a.
63102         * modules/striconv-tests (test_striconv_LDADD): Likewise.
63103         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
63104         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
63105         Needed on Cygwin.
63106
63107 2007-04-12  Eric Blake  <ebb9@byu.net>
63108
63109         Work around glibc's failure to flush stdin on fclose.
63110         * lib/closein.c (close_stdin): Flush stdin before closing.
63111
63112         Work around glibc's failure to reset seekable stdin on exit.
63113         * modules/closein: New module.
63114         * lib/closein.c: New file.
63115         * lib/closein.h: Likewise.
63116         * m4/closein.m4: Likewise.
63117         * MODULES.html.sh (File stream based Input/Output): Document it.
63118
63119 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63120
63121         * gnulib-tool: Rename generated 'autobuild' script to
63122         'do-autobuild' in --create-megatestdir output.
63123
63124         * doc/gnulib.texi (Build robot for gnulib): Fix.
63125
63126 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63127
63128         * modules/sysexits (Depends-on): Add absolute-header.
63129
63130 2007-04-12  Eric Blake  <ebb9@byu.net>
63131
63132         No need to preserve errno on success.
63133         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
63134         Reported by Bruno Haible.
63135
63136 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63137
63138         * MODULES.html.sh (Support for maintaining and releasing
63139         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
63140
63141 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63142
63143         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
63144
63145 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63146
63147         * modules/autobuild: New module.
63148
63149         * m4/autobuild.m4: New file.
63150
63151 2007-04-11  Bruno Haible  <bruno@clisp.org>
63152
63153         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
63154         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
63155         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
63156         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
63157         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63158         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63159         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63160         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63161         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63162         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63163         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
63164         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63165         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63166         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
63167         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63168         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63169         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
63170         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63171         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63172         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
63173         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63174         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63175         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
63176         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63177         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63178         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
63179         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63180         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63181         Reported by Eric Blake.
63182
63183 2007-04-11  Bruno Haible  <bruno@clisp.org>
63184
63185         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
63186
63187 2007-04-10  Bruno Haible  <bruno@clisp.org>
63188
63189         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
63190         for NaN and Infinity. Needed on FreeBSD 6.1.
63191         * tests/test-vasnprintf-posix.c (test_function): Undo last change
63192         regarding results for "%010a" of Infinity and NaN.
63193         * tests/test-vasprintf-posix.c (test_function): Likewise.
63194         * tests/test-snprintf-posix.h (test_function): Likewise.
63195         * tests/test-sprintf-posix.h (test_function): Likewise.
63196         * tests/test-fprintf-posix.h (test_function): Likewise.
63197         * tests/test-printf-posix.h (test_function): Likewise.
63198         * tests/test-fprintf-posix.out: Likewise.
63199
63200 2007-04-10  Bruno Haible  <bruno@clisp.org>
63201
63202         * modules/locale-tests: New file.
63203         * tests/test-locale.c: New file.
63204
63205         * modules/locale: New file.
63206         * lib/locale_.h: New file.
63207         * m4/locale_h.m4: New file.
63208
63209 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
63210             Bruno Haible  <bruno@clisp.org>
63211
63212         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
63213         be determined, test for availability of the copysignf, copysign,
63214         copysignl functions.
63215         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
63216         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
63217         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
63218
63219 2007-04-09  Eric Blake  <ebb9@byu.net>
63220
63221         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
63222         * modules/stdio (Makefile.am): Support fflush.
63223         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63224         * modules/fflush: New file.
63225         * lib/fflush.c: Likewise.
63226         * m4/fflush.m4: Likewise.
63227         * modules/fflush-tests: New test.
63228         * tests/test-fflush.c: Likewise.
63229         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
63230
63231 2007-04-06  Bruno Haible  <bruno@clisp.org>
63232
63233         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
63234         (VASNPRINTF): Use signbit for faster determination whether to print a
63235         minus sign.
63236         * modules/vasnprintf (Files): Remove lib/float+.h.
63237         * modules/fprintf-posix (Depends-on): Add signbit.
63238         * modules/snprintf-posix (Depends-on): Likewise.
63239         * modules/sprintf-posix (Depends-on): Likewise.
63240         * modules/vasnprintf-posix (Depends-on): Likewise.
63241         * modules/vasprintf-posix (Depends-on): Likewise.
63242         * modules/vfprintf-posix (Depends-on): Likewise.
63243         * modules/vsnprintf-posix (Depends-on): Likewise.
63244         * modules/vsprintf-posix (Depends-on): Likewise.
63245
63246 2007-04-06  Bruno Haible  <bruno@clisp.org>
63247
63248         * tests/test-frexp.c (main): Test also the sign bit of zero results.
63249         * tests/test-frexpl.c (main): Likewise.
63250         * tests/test-ldexpl.c (main): Likewise.
63251         * modules/frexp-tests (Depends-on): Add signbit.
63252         * modules/frexpl-tests (Depdends-on): Likewise.
63253         * modules/ldexpl-tests (Depdends-on): Likewise.
63254
63255 2007-04-06  Bruno Haible  <bruno@clisp.org>
63256
63257         * modules/signbit-tests: New file.
63258         * tests/test-signbit.c: New file.
63259
63260         * modules/signbit: New file.
63261         * lib/signbitf.c: New file.
63262         * lib/signbitd.c: New file.
63263         * lib/signbitl.c: New file.
63264         * m4/signbit.m4: New file.
63265         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
63266         (signbit): New macro.
63267         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
63268         REPLACE_SIGNBIT.
63269         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
63270         REPLACE_FREXPL into math.h.
63271
63272 2007-04-06  Bruno Haible  <bruno@clisp.org>
63273
63274         * modules/isnanf-nolibm-tests: New file.
63275         * tests/test-isnanf.c: New file.
63276
63277         * modules/isnanf-nolibm: New file.
63278         * lib/isnanf.h: New file.
63279         * lib/isnanf.c: New file.
63280         * lib/isnan.c: Consider the USE_FLOAT macro.
63281         * m4/isnanf.m4: New file.
63282
63283 2007-04-06  Bruno Haible  <bruno@clisp.org>
63284
63285         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
63286         (Link): New section.
63287
63288         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
63289
63290 2007-04-06  Bruno Haible  <bruno@clisp.org>
63291
63292         Assume the 'long double' type.
63293         * m4/longdouble.m4: Remove file.
63294         * config/srclist.txt: Don't mention longdouble.m4.
63295         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
63296         * lib/float+.h: Likewise.
63297         * lib/frexp.c: Likewise.
63298         * lib/printf-args.h: Likewise.
63299         * lib/printf-args.c: Likewise.
63300         * lib/printf-frexp.c: Likewise.
63301         * lib/printf-parse.c: Likewise.
63302         * lib/vasnprintf.c: Likewise.
63303         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
63304         * m4/intl.m4: Likewise.
63305         * m4/isnanl.m4: Likewise.
63306         * m4/printf.m4: Likewise.
63307         * m4/printf-frexpl.m4: Likewise.
63308         * m4/vasnprintf.m4: Likewise.
63309         * modules/allocsa (Files): Remove m4/longdouble.m4.
63310         * modules/gettext (Files): Likewise.
63311         * modules/relocatable-prog-wrapper (Files): Likewise.
63312         * modules/vasnprintf (Files): Likewise.
63313         * modules/isnanl (Files): Likewise.
63314         (Include): Simplify.
63315         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
63316         (Include): Simplify.
63317         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
63318         (Include): Simplify.
63319         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
63320         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63321         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
63322         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63323         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
63324         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63325         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
63326         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63327         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
63328         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63329         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
63330         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63331         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
63332         * tests/test-isnanl.c: Likewise.
63333         * tests/test-snprintf-posix.h: Likewise.
63334         * tests/test-sprintf-posix.h: Likewise.
63335         * tests/test-vasnprintf-posix.c: Likewise.
63336         * tests/test-vasnprintf-posix2.c: Likewise.
63337         * tests/test-vasprintf-posix.c: Likewise.
63338
63339 2007-04-06  Bruno Haible  <bruno@clisp.org>
63340
63341         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
63342         * lib/math_.h [__DECC]: Include the overridden include file through
63343         #include_next, outside the double-inclusion guard.
63344         * lib/stdio_.h [__DECC]: Likewise.
63345         * lib/stdlib_.h [__DECC]: Likewise.
63346         * lib/string_.h [__DECC]: Likewise.
63347         * lib/time_.h [__DECC]: Likewise.
63348         * lib/wchar_.h [__DECC]: Likewise.
63349         * lib/wctype_.h [__DECC]: Likewise.
63350         * lib/inttypes_.h [__DECC]: Likewise.
63351         Reported by Albert Chin <china@thewrittenword.com> in
63352         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
63353
63354 2007-04-04  Eric Blake  <ebb9@byu.net>
63355
63356         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
63357         1.5.x.
63358
63359 2007-04-04  Bruno Haible  <bruno@clisp.org>
63360
63361         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
63362         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
63363
63364 2007-04-04  Bruno Haible  <bruno@clisp.org>
63365
63366         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
63367         results for "%010a" of Infinity and NaN.
63368         * tests/test-vasprintf-posix.c (test_function): Likewise.
63369         * tests/test-snprintf-posix.h (test_function): Likewise.
63370         * tests/test-sprintf-posix.h (test_function): Likewise.
63371         * tests/test-fprintf-posix.h (test_function): Remove these tests.
63372         * tests/test-printf-posix.h (test_function): Likewise.
63373         * tests/test-fprintf-posix.out: Update.
63374         Needed for FreeBSD 6.1.
63375
63376 2007-04-04  Bruno Haible  <bruno@clisp.org>
63377
63378         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
63379         directly used by the gnulib modules nor by gnulib-tool.
63380
63381 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
63382
63383         * DEPENDENCIES: Give overall description of version dependency
63384         desirability.  Use more-typical names for apps.
63385         Add shell, coreutils, diffutils, grep, tar, gzip.
63386
63387 2007-04-04  Simon Josefsson  <simon@josefsson.org>
63388
63389         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
63390
63391 2007-04-04  Karl Berry  <karl@gnu.org>
63392
63393         * MODULES.html.sh (func_module): missing '.
63394
63395 2007-04-03  Bruno Haible  <bruno@clisp.org>
63396
63397         * modules/argmatch-tests (Makefile.am): New variable
63398         test_argmatch_LDADD.
63399         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
63400         * modules/array-list-tests (Makefile.am): New variable
63401         test_array_list_LDADD.
63402         * modules/array-oset-tests (Makefile.am): New variable
63403         test_array_oset_LDADD.
63404         * modules/avltree-list-tests (Makefile.am): New variable
63405         test_avltree_list_LDADD.
63406         * modules/avltree-oset-tests (Makefile.am): New variable
63407         test_avltree_oset_LDADD.
63408         * modules/avltreehash-list-tests (Makefile.am): New variable
63409         test_avltreehash_list_LDADD.
63410         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
63411         test_canonicalize_lgpl_LDADD.
63412         * modules/carray-list-tests (Makefile.am): New variable
63413         test_carray_list_LDADD.
63414         * modules/dirname-tests (Makefile.am): New variable
63415         test_dirname_LDADD.
63416         * modules/linked-list-tests (Makefile.am): New variable
63417         test_linked_list_LDADD.
63418         * modules/linkedhash-list-tests (Makefile.am): New variable
63419         test_linkedhash_list_LDADD.
63420         * modules/rbtree-list-tests (Makefile.am): New variable
63421         test_rbtree_list_LDADD.
63422         * modules/rbtree-oset-tests (Makefile.am): New variable
63423         test_rbtree_oset_LDADD.
63424         * modules/rbtreehash-list-tests (Makefile.am): New variable
63425         test_rbtreehash_list_LDADD.
63426         * modules/xvasprintf-tests (Makefile.am): New variable
63427         test_xvasprintf_LDADD.
63428         Reported by Eric Blake.
63429
63430 2007-04-03  Eric Blake  <ebb9@byu.net>
63431
63432         * DEPENDENCIES: Weaken m4 requirements.
63433
63434 2007-04-03  Bruno Haible  <bruno@clisp.org>
63435
63436         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
63437         * modules/isnanl-tests (configure.ac): Likewise.
63438
63439 2007-04-03  Ben Pfaff  <blp@gnu.org>
63440
63441         * modules/iconv_open: Add $(srcdir)/ to source directory
63442         references in Makefile fragments that call gperf, to fix VPATH
63443         builds.
63444
63445 2007-04-03  Bruno Haible  <bruno@clisp.org>
63446
63447         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
63448         * lib/ldexpl.c: Undo last change.
63449
63450 2007-04-03  Bruno Haible  <bruno@clisp.org>
63451
63452         * modules/printf-frexpl (Depends-on): Undo last change.
63453         (Files): Add m4/ldexpl.m4.
63454
63455 2007-04-03  Bruno Haible  <bruno@clisp.org>
63456
63457         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
63458         * modules/isnanl (Link): New section.
63459
63460         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
63461         * modules/frexp (Link): New section.
63462
63463         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
63464         * modules/frexpl (Link): New section.
63465
63466         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
63467         * modules/ldexpl (Link): New section.
63468
63469 2007-04-03  Bruno Haible  <bruno@clisp.org>
63470
63471         * modules/TEMPLATE-EXTENDED: New file.
63472         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
63473
63474 2007-04-03  Bruno Haible  <bruno@clisp.org>
63475
63476         * DEPENDENCIES: New file.
63477         Suggested by Simon Josefsson.
63478
63479 2007-04-03  Bruno Haible  <bruno@clisp.org>
63480
63481         * doc/gnulib.texi: Escape @.
63482
63483 2007-04-03  James Youngman  <jay@gnu.org>
63484         and Paul Eggert  <eggert@cs.ucla.edu>
63485
63486         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
63487         birthtime on all systems that have birthtime, not just those which
63488         use st_birthtimensec rather than st_birthtim.  Putting zero in
63489         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
63490         that the birth time is not available for files on an NFS mount.
63491
63492 2007-04-03  Simon Josefsson  <simon@josefsson.org>
63493
63494         * modules/memxor: Move back from crypto/, suggested by Bruno.
63495         * modules/crypto/hmac-sha1: Fix memxor dependency.
63496
63497         * modules/crypto/gc: Moved from ../.
63498
63499 2007-04-02  Eric Blake  <ebb9@byu.net>
63500
63501         * lib/ldexpl.c (includes): Avoid libm.
63502
63503         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
63504
63505 2007-04-02  Bruno Haible  <bruno@clisp.org>
63506
63507         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
63508         on IRIX.
63509
63510 2007-04-02  Bruno Haible  <bruno@clisp.org>
63511
63512         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
63513         x86 or x86_64 platforms running MacOS X.
63514         Reported by Ryan Schmidt <@ryandesign.com>.
63515
63516 2007-04-02  Bruno Haible  <bruno@clisp.org>
63517
63518         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
63519         i386.
63520
63521 2007-04-01  Simon Josefsson  <simon@josefsson.org>
63522
63523         * modules/crypto/arcfour: Moved from ../.
63524         * modules/crypto/arcfour-tests: Moved from ../.
63525         * modules/crypto/arctwo: Moved from ../.
63526         * modules/crypto/arctwo-tests: Moved from ../.
63527         * modules/crypto/des: Moved from ../.
63528         * modules/crypto/des-tests: Moved from ../.
63529         * modules/crypto/gc-arcfour: Moved from ../.
63530         * modules/crypto/gc-arcfour-tests: Moved from ../.
63531         * modules/crypto/gc-arctwo: Moved from ../.
63532         * modules/crypto/gc-arctwo-tests: Moved from ../.
63533         * modules/crypto/gc-des: Moved from ../.
63534         * modules/crypto/gc-des-tests: Moved from ../.
63535         * modules/crypto/gc-hmac-md5: Moved from ../.
63536         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
63537         * modules/crypto/gc-hmac-sha1: Moved from ../.
63538         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
63539         * modules/crypto/gc-md2: Moved from ../.
63540         * modules/crypto/gc-md2-tests: Moved from ../.
63541         * modules/crypto/gc-md4: Moved from ../.
63542         * modules/crypto/gc-md4-tests: Moved from ../.
63543         * modules/crypto/gc-md5: Moved from ../.
63544         * modules/crypto/gc-md5-tests: Moved from ../.
63545         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
63546         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
63547         * modules/crypto/gc-random: Moved from ../.
63548         * modules/crypto/gc-rijndael: Moved from ../.
63549         * modules/crypto/gc-rijndael-tests: Moved from ../.
63550         * modules/crypto/gc-sha1: Moved from ../.
63551         * modules/crypto/gc-sha1-tests: Moved from ../.
63552         * modules/crypto/gc-tests: Moved from ../.
63553         * modules/crypto/hmac-md5: Moved from ../.
63554         * modules/crypto/hmac-md5-tests: Moved from ../.
63555         * modules/crypto/hmac-sha1: Moved from ../.
63556         * modules/crypto/hmac-sha1-tests: Moved from ../.
63557         * modules/crypto/md2: Moved from ../.
63558         * modules/crypto/md2-tests: Moved from ../.
63559         * modules/crypto/md4: Moved from ../.
63560         * modules/crypto/md4-tests: Moved from ../.
63561         * modules/crypto/md5: Moved from ../.
63562         * modules/crypto/md5-tests: Moved from ../.
63563         * modules/crypto/memxor: Moved from ../.
63564         * modules/crypto/rijndael: Moved from ../.
63565         * modules/crypto/rijndael-tests: Moved from ../.
63566         * modules/crypto/sha1: Moved from ../.
63567
63568 2007-03-30  James Youngman  <jay@gnu.org>
63569
63570         * tests/test-stat-time.c (prepare_test): use chmod() rather than
63571         rename() to change the ctime of a file (because ctime is unaffected
63572         by rename on jfs2 on AIX 5.1).
63573         (main): Start by doing cleanup, in case a previous run failed leaving
63574         test files behind.
63575
63576 2007-03-31  Bruno Haible  <bruno@clisp.org>
63577
63578         Support old proprietary implementations of iconv.
63579         * modules/iconv_open: New file.
63580         * lib/iconv_.h: New file.
63581         * m4/iconv_h.m4: New file.
63582         * lib/iconv_open.c: New file.
63583         * lib/iconv_open-aix.gperf: New file.
63584         * lib/iconv_open-hpux.gperf: New file.
63585         * lib/iconv_open-irix.gperf: New file.
63586         * lib/iconv_open-osf.gperf: New file.
63587         * m4/iconv_open.m4: New file.
63588         * modules/linebreak (Depends-on): Add iconv_open.
63589         * modules/striconv (Depends-on): Likewise.
63590         * modules/striconveh (Depends-on): Likewise.
63591         * modules/unicodeio (Depends-on): Likewise.
63592         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
63593         (iconv_t)(-1).
63594         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
63595         conversion if cd is (iconv_t)(-1).
63596         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
63597         is not possible.
63598
63599 2007-03-31  Bruno Haible  <bruno@clisp.org>
63600
63601         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63602         work on Solaris either. Protect also second use of "autodetect_jp".
63603
63604 2007-03-31  Bruno Haible  <bruno@clisp.org>
63605
63606         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
63607         the function is not present.
63608
63609 2007-03-31  Bruno Haible  <bruno@clisp.org>
63610
63611         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
63612         the function is not present.
63613
63614 2007-03-31  Bruno Haible  <bruno@clisp.org>
63615
63616         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
63617         a bug in HP-UX iconv_open().
63618
63619 2007-03-31  Bruno Haible  <bruno@clisp.org>
63620
63621         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
63622         (Mathematics <math.h>): New section, add fpieee.
63623         (Input/output <stdio.h>): Add fseterr.
63624         (Mathematics <math.h>): New section, add printf-frexp.
63625         (Container data structures): Add sublist.
63626         (Core language properties): Add fpucw, inline.
63627         (Functions for greatest-width integer types <inttypes.h>): Add
63628         imaxabs, imaxdiv, inttypes.
63629         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
63630         isnanl-nolibm, ldexp.
63631         (Mathematics <math.h>): New section, add printf-frexpl.
63632         (Support for systems lacking POSIX:2001): Add fprintf-posix,
63633         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
63634         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
63635         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
63636         (Unicode string functions): Add unistr/u*-mbtoucr.
63637         (Java): Add javacomp-script, javaexec-script.
63638         (C#): Add csharpcomp-script, csharpexec-script.
63639         (Support for building libraries and executables): Add havelib,
63640         relocatable-*.
63641         (Support for maintaining and releasing projects): Renamed from
63642         'Support for maintaining and release projects'. Add announce-gen.
63643
63644 2007-03-31  Bruno Haible  <bruno@clisp.org>
63645
63646         * README: Talk primarily about git.
63647         (git and CVS): Renamed from CVS.
63648         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
63649         gnulib is available through git.
63650         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
63651
63652 2007-03-30  Bruno Haible  <bruno@clisp.org>
63653
63654         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
63655         * lib/poll_.h: Likewise.
63656         * lib/stat_.h: Likewise.
63657         * lib/sys_time_.h: Likewise.
63658         * lib/sysexit_.h: Likewise.
63659         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
63660         * lib/stdbool_.h: Likewise.
63661         * lib/byteswap_.h: Add double-inclusion guard.
63662
63663 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
63664
63665         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
63666
63667 2007-03-30  Karl Berry  <karl@gnu.org>
63668
63669         * config/srclist-update: double space after USA in the license
63670         substitution, since that's how it's usually (?) written.
63671
63672 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
63673
63674         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
63675         reported by Bruno Haible.
63676
63677 2007-03-29  Bruno Haible  <bruno@clisp.org>
63678
63679         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
63680         a bug in AIX iconv().
63681
63682 2007-03-29  Bruno Haible  <bruno@clisp.org>
63683
63684         * modules/ldexpl-tests: New file.
63685         * tests/test-ldexpl.c: New file.
63686
63687 2007-03-29  Bruno Haible  <bruno@clisp.org>
63688
63689         * lib/ldexpl.c: Include fpucw.h.
63690         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
63691         multiplication.
63692         * modules/ldexpl (Depends-on): Add fpucw.
63693
63694 2007-03-29  Bruno Haible  <bruno@clisp.org>
63695
63696         * modules/ldexpl: New file.
63697         * m4/ldexpl.m4: New file.
63698         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
63699         set.
63700         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
63701         REPLACE_LDEXPL.
63702         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
63703         REPLACE_LDEXPL.
63704         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63705         gl_FUNC_LDEXPL_WORKS.
63706         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
63707         * modules/mathl (Files): Remove lib/ldexpl.c.
63708         (Depends-on): Add ldexpl.
63709
63710 2007-03-29  Bruno Haible  <bruno@clisp.org>
63711
63712         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
63713
63714 2007-03-29  Bruno Haible  <bruno@clisp.org>
63715
63716         * tests/test-striconveh.c (main): Don't assume that a direct conversion
63717         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
63718         and possibly also HP-UX.
63719         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63720         work on AIX, IRIX, HP-UX, OSF/1.
63721         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
63722         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
63723         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
63724         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
63725         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
63726         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
63727
63728 2007-03-29  Bruno Haible  <bruno@clisp.org>
63729
63730         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
63731
63732 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63733
63734         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
63735         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
63736
63737 2007-03-29  Eric Blake  <ebb9@byu.net>
63738
63739         * lib/acl-internal.h: Remove redundant include.
63740         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
63741         Cygwin when a file is locked.
63742
63743 2007-03-29  Bruno Haible  <bruno@clisp.org>
63744
63745         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
63746         file.
63747         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
63748
63749 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63750
63751         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
63752         try to remove a parent directory if the child couldn't be removed
63753         (except for the first rmdir, which could fail because the child
63754         doesn't exist).  Problem reported by Jeff Blaine in
63755         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
63756
63757 2007-03-28  Bruno Haible  <bruno@clisp.org>
63758
63759         * lib/striconveh.c (utf8conv_carefully): New function.
63760         (mem_cd_iconveh_internal): Invoke it.
63761
63762 2007-03-28  Bruno Haible  <bruno@clisp.org>
63763
63764         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
63765         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
63766         input.
63767         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
63768         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
63769         unistr/u8-uctomb.
63770
63771 2007-03-28  Bruno Haible  <bruno@clisp.org>
63772
63773         * modules/unistr/u8-mbtoucr: New file.
63774         * lib/unistr/u8-mbtoucr.c: New file.
63775         * modules/unistr/u16-mbtoucr: New file.
63776         * lib/unistr/u16-mbtoucr.c: New file.
63777         * modules/unistr/u16-mbtoucr: New file.
63778         * lib/unistr/u16-mbtoucr.c: New file.
63779         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
63780
63781 2007-03-27  Simon Josefsson  <simon@josefsson.org>
63782             Bruno Haible  <bruno@clisp.org>
63783
63784         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
63785         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
63786         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
63787
63788         * m4/stdio_h.m4: Add stubs for vasprintf too.
63789
63790         * modules/stdio: Support vasprintf in sed command.
63791
63792         * modules/vasprintf: Depend on stdio for prototypes.  Remove
63793         vasprintf.h.  Add stdio module indicator.
63794
63795         * lib/stdio_.h: Declare asprintf and vasprintf, based on
63796         vasprintf.h.
63797
63798         * lib/vasprintf.h: File removed.
63799
63800         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
63801         * lib/vasprintf.c: Ditto.
63802         * lib/xvasprintf.c: Ditto.
63803         * tests/test-vasprintf-posix.c: Ditto.
63804         * tests/test-vasprintf.c: Ditto.
63805
63806 2007-03-27  Bruno Haible  <bruno@clisp.org>
63807
63808         Make vasnprintf multithread-safe.
63809         * lib/vasnprintf.c (decimal_point_char): New function.
63810         (VASNPRINTF): Use it.
63811         Suggested by Simon Josefsson.
63812
63813 2007-03-27  Eric Blake  <ebb9@byu.net>
63814
63815         Support sub-second birthtime on cygwin.
63816         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
63817         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
63818         (get_stat_birthtime): Also work with st_birthtim.
63819
63820 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
63821
63822         * lib/stat-time.h (USE_BIRTHTIME): Remove.
63823         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
63824         (get_stat_birthtime_ns): Do not try to use "spare" fields.
63825         (get_stat_birthtime_ns): Simplify compile-time tests.
63826         (get_stat_birthtime): Change the API to look like
63827         get_stat_mtime etc., except return a negative tv_nsec on error.
63828         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
63829         Don't check for "spare" fields.
63830         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
63831         or for struct stat.st_birthtime, as these tests aren't used.
63832         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
63833
63834 2007-03-27  Bruno Haible  <bruno@clisp.org>
63835
63836         * lib/stat-time.h: Include <sys/stat.h>.
63837
63838 2007-03-27  James Youngman  <jay@gnu.org>
63839
63840         * lib/stat-time.h (get_stat_birthtime): New function for
63841           retrieving st_birthtime as provided by UFS2 (hence *BSD).
63842         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
63843           and its variants.
63844         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
63845         * modules/stat-time-test: New file.
63846         * tests/test-stat-time.c: New test, devised by Bruno Haible.
63847
63848 2007-03-26  Bruno Haible  <bruno@clisp.org>
63849
63850         Better support of signalling NaNs.
63851         * lib/atanl.c: Include isnanl.h.
63852         (atanl): Perform test for NaN at the beginning of the function and
63853         through a call to isnanl.
63854         * lib/cosl.c: Include isnanl.h.
63855         (cosl): Perform test for NaN at the beginning of the function and
63856         through a call to isnanl.
63857         * lib/ldexpl.c: Include isnanl.h.
63858         (ldexpl): Perform test for NaN through a call to isnanl.
63859         * lib/logl.c: Include isnanl.h.
63860         (logl): Perform test for NaN at the beginning of the function and
63861         through a call to isnanl.
63862         * lib/sinl.c: Include isnanl.h.
63863         (sinl): Perform test for NaN at the beginning of the function and
63864         through a call to isnanl.
63865         * lib/sqrtl.c: Include isnanl.h.
63866         (sqrtl): Perform test for NaN at the beginning of the function and
63867         through a call to isnanl.
63868         * lib/tanl.c: Include isnanl.h.
63869         (tanl): Perform test for NaN at the beginning of the function and
63870         through a call to isnanl.
63871         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
63872         * modules/mathl (Depends-on): Add isnanl.
63873
63874 2007-03-26  Eric Blake  <ebb9@byu.net>
63875
63876         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
63877         regression in logic sense of previous patch.
63878
63879 2007-03-26  Bruno Haible  <bruno@clisp.org>
63880
63881         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
63882         unportable shell command "if ! ...".
63883         Reported by Ralf Wildenhues.
63884
63885 2007-03-25  Bruno Haible  <bruno@clisp.org>
63886
63887         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
63888         <sysexits.h> file, and only add EX_CONFIG.
63889         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
63890         absolute file name and whether it is sufficient. Substitute also
63891         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
63892         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
63893         ABSOLUTE_SYSEXITS_H into sysexits.h.
63894
63895 2007-03-25  Bruno Haible  <bruno@clisp.org>
63896
63897         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
63898         hints is NULL.
63899
63900 2007-03-25  Bruno Haible  <bruno@clisp.org>
63901
63902         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
63903         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
63904
63905 2007-03-25  Bruno Haible  <bruno@clisp.org>
63906
63907         * lib/vasnprintf.c: Include langinfo.h.
63908         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
63909         multithread-safe.
63910         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
63911         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
63912         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63913         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63914         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63915         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63916         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63917         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
63918         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63919         Reported by Simon Josefsson.
63920
63921 2007-03-25  Bruno Haible  <bruno@clisp.org>
63922
63923         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
63924         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
63925         * modules/vasnprintf (Depends-on): Add stdint.
63926
63927 2007-03-25  Bruno Haible  <bruno@clisp.org>
63928
63929         * modules/fpieee: New file.
63930         * m4/fpieee.m4: New file.
63931         * modules/isnan-nolibm (Depends-on): Add fpieee.
63932         * modules/isnanl-nolibm (Depends-on): Add fpieee.
63933         * modules/isnanl (Depends-on): Add fpieee.
63934
63935 2007-03-25  Bruno Haible  <bruno@clisp.org>
63936
63937         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
63938
63939 2007-03-25  Bruno Haible  <bruno@clisp.org>
63940
63941         Avoid test failures on IRIX 6.5.
63942         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
63943         (main): Use it.
63944         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
63945         macros.
63946         (main): Use them.
63947
63948 2007-03-25  Bruno Haible  <bruno@clisp.org>
63949
63950         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
63951         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
63952         exists but doesn't work.
63953         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
63954         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
63955         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
63956         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
63957         math.h.
63958
63959 2007-03-25  Bruno Haible  <bruno@clisp.org>
63960
63961         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
63962         returns inf. Needed on IRIX 6.5.
63963
63964 2007-03-25  Bruno Haible  <bruno@clisp.org>
63965
63966         * tests/test-frexpl.c: Include isnanl-nolibm.h.
63967         (main): Use isnanl instead of x != x idiom.
63968         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
63969
63970         * tests/test-frexp.c: Include isnan.h.
63971         (main): Use isnan instead of x != x idiom.
63972         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
63973
63974 2007-03-25  Bruno Haible  <bruno@clisp.org>
63975
63976         * tests/test-frexp.c (NaN): New function/macro.
63977         (main): Use it instead of 0.0 / 0.0.
63978         * tests/test-isnan.c (NaN): New function/macro.
63979         (main): Use it instead of 0.0 / 0.0.
63980         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
63981         (test_function): Use it instead of 0.0 / 0.0.
63982         * tests/test-vasprintf-posix.c (NaN): New function/macro.
63983         (test_function): Use it instead of 0.0 / 0.0.
63984         * tests/test-snprintf-posix.h (NaN): New function/macro.
63985         (test_function): Use it instead of 0.0 / 0.0.
63986         * tests/test-sprintf-posix.h (NaN): New function/macro.
63987         (test_function): Use it instead of 0.0 / 0.0.
63988         * tests/test-fprintf-posix.h (NaN): New function/macro.
63989         (test_function): Use it instead of 0.0 / 0.0.
63990         * tests/test-printf-posix.h (NaN): New function/macro.
63991         (test_function): Use it instead of 0.0 / 0.0.
63992
63993         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
63994
63995 2007-03-25  Bruno Haible  <bruno@clisp.org>
63996
63997         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
63998
63999 2007-03-25  Bruno Haible  <bruno@clisp.org>
64000
64001         * lib/regexec.c (merge_state_with_log): Make static.
64002
64003 2007-03-25  Bruno Haible  <bruno@clisp.org>
64004
64005         * lib/trigl.c (kernel_rem_pio2): Make static.
64006
64007 2007-03-25  Bruno Haible  <bruno@clisp.org>
64008
64009         * lib/sincosl.c (sincosl_table): Make static.
64010
64011 2007-03-25  Bruno Haible  <bruno@clisp.org>
64012
64013         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
64014         if the compiler does not support C99.
64015
64016 2007-03-25  Bruno Haible  <bruno@clisp.org>
64017
64018         * modules/time (Makefile.am): Ensure all rule action lines start with a
64019         tab.
64020
64021 2007-03-24  Bruno Haible  <bruno@clisp.org>
64022
64023         * modules/tsearch-tests: New file.
64024         * tests/test-tsearch.sh: New file.
64025         * tests/test-tsearch.c: New file, mostly copied from glibc.
64026
64027         * modules/search-tests: New file.
64028         * tests/test-search.c: New file.
64029
64030         * modules/search: New file.
64031         * lib/search_.h: New file, incorporating lib/tsearch.h.
64032         * m4/search_h.m4: New file.
64033         * lib/tsearch.h: Remove file.
64034         * lib/tsearch.c: Include search.h instead of tsearch.h.
64035         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
64036         HAVE_TSEARCH.
64037         * modules/tsearch (Files): Remove lib/tsearch.h.
64038         (Depends-on): Add search.
64039         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
64040         (Include): Change tsearch.h into search.h.
64041
64042 2007-03-24  Bruno Haible  <bruno@clisp.org>
64043
64044         * modules/fpucw: New file.
64045         * lib/fpucw.h: New file.
64046         * lib/frexp.c: Include fpucw.h.
64047         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
64048         (FUNC): Use them.
64049         * lib/printf-frexp.c: Include fpucw.h.
64050         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
64051         (FUNC): Use them.
64052         * lib/vasnprintf.c: Include fpucw.h.
64053         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
64054         'long double' calculations.
64055         * tests/test-frexpl.c: Include fpucw.h.
64056         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
64057         * tests/test-printf-frexpl.c: Include fpucw.h.
64058         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
64059         * modules/frexpl (Depends-on): Add fpucw.
64060         * modules/printf-frexpl (Depends-on): Likewise.
64061         * modules/fprintf-posix (Depends-on): Likewise.
64062         * modules/snprintf-posix (Depends-on): Likewise.
64063         * modules/sprintf-posix (Depends-on): Likewise.
64064         * modules/vasnprintf-posix (Depends-on): Likewise.
64065         * modules/vasprintf-posix (Depends-on): Likewise.
64066         * modules/vfprintf-posix (Depends-on): Likewise.
64067         * modules/vsnprintf-posix (Depends-on): Likewise.
64068         * modules/vsprintf-posix (Depends-on): Likewise.
64069         * modules/frexpl-tests (Depends-on): Likewise.
64070         * modules/printf-frexpl-tests (Depends-on): Likewise.
64071
64072 2007-03-24  Bruno Haible  <bruno@clisp.org>
64073
64074         * lib/float+.h: New file.
64075         * lib/isnan.c: Include float+.h.
64076         (SIZE): New macro.
64077         (FUNC): Compare only SIZE bytes of the value.
64078         * lib/vasnprintf.c: Include float+.h.
64079         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
64080         SIZEOF_LDBL or SIZEOF_DBL bytes.
64081         * modules/isnan-nolibm (Files): Add lib/float+.h.
64082         * modules/isnanl-nolibm (Files): Add lib/float+.h.
64083         * modules/isnanl (Files): Add lib/float+.h.
64084         * modules/vasnprintf (Files): Add lib/float+.h.
64085
64086 2007-03-24  Bruno Haible  <bruno@clisp.org>
64087
64088         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
64089         include isnanl-nolibm.h.
64090
64091 2007-03-24  Bruno Haible  <bruno@clisp.org>
64092
64093         * tests/test-read-file.c (main): Don't produce spurious output for
64094         expected situations. Make the test fail if it encountered unexpected
64095         results.
64096
64097 2007-03-24  Bruno Haible  <bruno@clisp.org>
64098
64099         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
64100         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
64101
64102 2007-03-24  Bruno Haible  <bruno@clisp.org>
64103
64104         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
64105
64106 2007-03-24  Bruno Haible  <bruno@clisp.org>
64107
64108         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
64109         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
64110
64111         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
64112         * modules/utf8-ucs4: Turn into a symbolic link to module
64113         unistr/u8-mbtouc.
64114
64115         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
64116         utf8-ucs4-unsafe.
64117         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
64118         unistr/u8-mbtouc-unsafe.
64119
64120         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
64121         * modules/utf16-ucs4: Turn into a symbolic link to module
64122         unistr/u16-mbtouc.
64123
64124         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
64125         utf16-ucs4-unsafe.
64126         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
64127         unistr/u16-mbtouc-unsafe.
64128
64129         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
64130         * modules/ucs4-utf8: Turn into a symbolic link to module
64131         unistr/u8-ubtomb.
64132
64133         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
64134         * modules/ucs4-utf16: Turn into a symbolic link to module
64135         unistr/u16-ubtomb.
64136
64137 2007-03-24  Bruno Haible  <bruno@clisp.org>
64138
64139         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
64140         Enable the function only if HAVE_INLINE.
64141         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
64142         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
64143         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
64144         Enable the function only if HAVE_INLINE.
64145         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
64146         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
64147         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
64148         Enable the function only if HAVE_INLINE.
64149         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
64150         Enable the function only if HAVE_INLINE.
64151         * modules/utf8-ucs4: Update.
64152         * modules/utf8-ucs4-unsafe: Update.
64153         * modules/utf16-ucs4: Update.
64154         * modules/utf16-ucs4-unsafe: Update.
64155         * modules/ucs4-utf8: Update.
64156         * modules/ucs4-utf16: Update.
64157
64158 2007-03-24  Bruno Haible  <bruno@clisp.org>
64159
64160         * lib/utf8-ucs4.h: Remove file.
64161         * lib/utf8-ucs4-unsafe.h: Remove file.
64162         * lib/utf16-ucs4.h: Remove file.
64163         * lib/utf16-ucs4-unsafe.h: Remove file.
64164         * lib/ucs4-utf8.h: Remove file.
64165         * lib/ucs4-utf16.h: Remove file.
64166         * lib/unistr.h: Include their previous contents.
64167         * m4/utf-ucs4.m4: Remove file.
64168         * m4/ucs4-utf.m4: Remove file.
64169         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
64170         (Depends-on): Add unistr/base.
64171         (configure.ac): Remove gl_UTF_UCS4.
64172         (Makefile.am): Update.
64173         (Include): Change to unistr.h.
64174         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
64175         (Depends-on): Add unistr/base.
64176         (configure.ac): Remove gl_UTF_UCS4.
64177         (Makefile.am): Update.
64178         (Include): Change to unistr.h.
64179         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
64180         (Depends-on): Add unistr/base.
64181         (configure.ac): Remove gl_UTF_UCS4.
64182         (Makefile.am): Update.
64183         (Include): Change to unistr.h.
64184         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
64185         (Depends-on): Add unistr/base.
64186         (configure.ac): Remove gl_UTF_UCS4.
64187         (Makefile.am): Update.
64188         (Include): Change to unistr.h.
64189         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
64190         (Depends-on): Add unistr/base.
64191         (configure.ac): Remove gl_UCS4_UTF.
64192         (Makefile.am): Update.
64193         (Include): Change to unistr.h.
64194         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
64195         (Depends-on): Add unistr/base.
64196         (configure.ac): Remove gl_UCS4_UTF.
64197         (Makefile.am): Update.
64198         (Include): Change to unistr.h.
64199         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
64200         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
64201         utf8-ucs4-unsafe.h.
64202         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
64203         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
64204         utf16-ucs4-unsafe.h.
64205         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
64206         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
64207         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
64208         * lib/unistr/u8-strchr.c: Likewise.
64209         * lib/unistr/u8-strrchr.c: Likewise.
64210         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
64211         * lib/unistr/u16-strchr.c: Likewise.
64212         * lib/unistr/u16-strrchr.c: Likewise.
64213         * lib/striconveh.c: Update.
64214         * lib/linebreak.c: Update.
64215
64216 2007-03-24  Bruno Haible  <bruno@clisp.org>
64217
64218         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
64219         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
64220
64221 2007-03-22  Bruno Haible  <bruno@clisp.org>
64222
64223         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
64224
64225 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
64226
64227         * MODULES.html.sh (File system functions): New module write-any-file.
64228         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
64229         * m4/write-any-file.m4: New files.
64230
64231 2007-03-23  Eric Blake  <ebb9@byu.net>
64232
64233         * gnulib-tool: Rearrange space-tab sequences, since some editors
64234         like to eat them.
64235
64236 2007-03-23  Eric Blake  <ebb9@byu.net>
64237
64238         * lib/version-etc.c (version_etc_va): Update license wording to
64239         be more concise.  Recommended by Richard Stallman.
64240
64241 2007-03-22  Bruno Haible  <bruno@clisp.org>
64242
64243         * lib/poll.c (MSG_PEEK): New fallback definition.
64244
64245 2007-03-22  Bruno Haible  <bruno@clisp.org>
64246
64247         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
64248         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
64249         (main): Update.
64250         Fixes a compilation error on BeOS.
64251
64252 2007-03-22  Bruno Haible  <bruno@clisp.org>
64253
64254         * modules/frexpl-tests: New file.
64255         * tests/test-frexpl.c: New file.
64256
64257         * modules/frexpl: New file.
64258         * m4/frexpl.m4: New file.
64259         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
64260         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
64261         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
64262         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
64263         (Depends-on): Add frexpl. Remove isnanl-nolibm.
64264         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
64265
64266 2007-03-22  Bruno Haible  <bruno@clisp.org>
64267
64268         * lib/frexpl.c: Share code with lib/frexp.c.
64269         * modules/mathl (Files): Add lib/frexp.c.
64270         (Depends-on): Add isnanl-nolibm.
64271
64272 2007-03-22  Bruno Haible  <bruno@clisp.org>
64273
64274         * modules/printf-frexp (Files): Add m4/frexp.m4.
64275         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
64276         only if the found frexp function actually works.
64277
64278 2007-03-22  Bruno Haible  <bruno@clisp.org>
64279
64280         * lib/frexp.c: Remove older implementation that uses divisions.
64281
64282 2007-03-21  Bruno Haible  <bruno@clisp.org>
64283
64284         * modules/frexp-tests: New file.
64285         * tests/test-frexp.c: New file.
64286
64287         * modules/frexp: New file.
64288         * lib/frexp.c: New file.
64289         * m4/frexp.m4: New file.
64290         * lib/math_.h (frexp): New declaration.
64291         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
64292         REPLACE_FREXP.
64293         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
64294
64295 2007-03-21  Bruno Haible  <bruno@clisp.org>
64296
64297         * modules/isnanl-tests: New file.
64298         * tests/test-isnanl.c: New file.
64299
64300         * modules/isnanl: New file.
64301         * lib/isnanl.h: New file.
64302         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
64303         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
64304         gl_FUNC_ISNANL_WORKS.
64305         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
64306         New macros.
64307
64308 2007-03-21  Bruno Haible  <bruno@clisp.org>
64309
64310         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
64311         lib/isnanl.h.
64312         (Include): Update.
64313         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
64314         * lib/vasnprintf.c: Update.
64315         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
64316         tests/test-isnanl.h, remove tests/test-isnanl.c.
64317         (Makefile.am): Update.
64318         * tests/test-isnanl-nolibm.c: New file.
64319         * tests/test-isnanl.h: New file.
64320         * tests/test-isnanl.c: Remove file.
64321
64322 2007-03-21  Jim Meyering  <jim@meyering.net>
64323
64324         When trying to open ".", treat ESTALE like EACCES.
64325         * lib/savewd.c (savewd_save): Resort to forking not just upon
64326         failure with EACCES, but also when errno is ESTALE.
64327
64328 2007-03-20  Bruno Haible  <bruno@clisp.org>
64329
64330         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
64331         Needed on AIX 5.1. Reported by Matthew Woehlke.
64332
64333 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64334
64335         Suggestions by Bruno Haible:
64336         * lib/acl-internal.h: Include "gettext.h" rather than rolling
64337         our own.
64338         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
64339         * modules/acl (Depends-on): Add gettext.
64340
64341 2007-03-19  Bruno Haible  <bruno@clisp.org>
64342
64343         * modules/iconvme: Remove file.
64344         * lib/iconvme.h: Remove file.
64345         * lib/iconvme.c: Remove file.
64346         * m4/iconvme.m4: Remove file.
64347
64348 2007-03-19  Bruno Haible  <bruno@clisp.org>
64349
64350         * doc/relocatable-maint.texi: Break long shell script line.
64351         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
64352
64353 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64354
64355         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
64356         handle file_has_acl.
64357         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
64358         * lib/acl.c: Move header inclusions and related macro defns into
64359         lib/acl-internal.h.
64360         (S_ISLNK): Remove defn, since that's now done for us.
64361         (file_has_acl): Move to lib/file-has-acl.c.
64362         Call acl_trivial if available.  This is the crucial part of the fix.
64363         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
64364         shared within the library.  Rewrite a bit, partly to make it compatible
64365         with the GNU coding style.
64366         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
64367         Remove unnecessary double-quotes.
64368         Don't test for acl_to_text; the build will catch that.
64369         Replace acl_entries if it doesn't exist and it is needed.
64370         Check for -lsec and acl_trivial (as used on Solaris 10).
64371         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
64372         lib/file-has-acl.c.
64373         (Depends-on): Add sys_stat, for S_ISLNK.
64374
64375 2007-03-19  Ben Pfaff  <blp@gnu.org>
64376
64377         * doc/gnulib.texi: Fix typos.
64378         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
64379
64380 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64381
64382         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
64383         If size is zero here, buf must be zero.
64384
64385 2007-03-19  Simon Josefsson  <simon@josefsson.org>
64386
64387         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
64388         <bruno@clisp.org>.
64389
64390 2007-03-18  Bruno Haible  <bruno@clisp.org>
64391
64392         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
64393         Suggested by Eric Blake.
64394
64395 2007-03-18  Ben Pfaff  <blp@gnu.org>
64396
64397         * doc/relocatable.texi: Recommend using as prefix a directory
64398         that does not exist and will never be created.  Based on
64399         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
64400         and others.
64401
64402 2007-03-17  Bruno Haible  <bruno@clisp.org>
64403
64404         * lib/fchownat.c: Include lchown.h.
64405
64406 2007-03-17  Bruno Haible  <bruno@clisp.org>
64407
64408         Fix endless loop when the given allocated size was > INT_MAX.
64409         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
64410         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
64411         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
64412         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
64413         * lib/sprintf.c (sprintf): Likewise.
64414
64415 2007-03-17  Bruno Haible  <bruno@clisp.org>
64416
64417         * tests/test-argp-2.sh (func_compare): Output a context diff.
64418
64419 2007-03-17  Bruno Haible  <bruno@clisp.org>
64420
64421         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
64422         locale's decimal-point character.
64423
64424 2007-03-17  Bruno Haible  <bruno@clisp.org>
64425
64426         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
64427         before comparing it. Needed because on some platforms (e.g. x86) a
64428         'long double' occupies less bytes than sizeof (long double).
64429
64430 2007-03-17  Bruno Haible  <bruno@clisp.org>
64431
64432         * tests/test-crc.c (main): Make printf statements 64-bit clean.
64433         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
64434         * tests/test-getaddrinfo.c (simple): Likewise.
64435         * tests/test-read-file.c (main): Likewise.
64436
64437 2007-03-17  Bruno Haible  <bruno@clisp.org>
64438
64439         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
64440
64441 2007-03-17  Bruno Haible  <bruno@clisp.org>
64442
64443         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
64444         unused variable.
64445
64446 2007-03-17  Bruno Haible  <bruno@clisp.org>
64447
64448         * tests/test-c-strcasecmp.c: Include c-strcase.h.
64449         * tests/test-c-strncasecmp.c: Likewise.
64450
64451 2007-03-17  Bruno Haible  <bruno@clisp.org>
64452
64453         * modules/stdlib (Depends-on): Add unistd.
64454         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
64455         Needed for MacOS X 10.3.
64456
64457 2007-03-17  Bruno Haible  <bruno@clisp.org>
64458
64459         * lib/unistr/u-strdup.h: Include <stdlib.h>.
64460
64461 2007-03-17  Bruno Haible  <bruno@clisp.org>
64462
64463         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
64464
64465 2007-03-17  Bruno Haible  <bruno@clisp.org>
64466
64467         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
64468         to reflect files copied from gnulib (with or without modifications).
64469         Suggested by Jim Meyering.
64470
64471 2007-03-17  Eric Blake  <ebb9@byu.net>
64472
64473         * NEWS: Document stdlib change from 2007-02-18.
64474
64475 2007-03-17  Jim Meyering  <jim@meyering.net>
64476
64477         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
64478         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
64479         someone uses a name containing shell meta-characters.
64480         Reported by Alfred M. Szmidt.
64481
64482         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
64483
64484 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
64485
64486         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
64487         and copy gettext configuration files only if configure.ac contains
64488         a use of AM_GNU_GETTEXT_VERSION.
64489
64490 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
64491
64492         * build-aux/bootstrap (gnulib_name): New variable.
64493         (gnulib_tool_options): Use it.
64494
64495 2007-03-13  Simon Josefsson  <simon@josefsson.org>
64496
64497         * tests/test-des.c: Use new namespace.
64498
64499 2007-03-15  Bruno Haible  <bruno@clisp.org>
64500
64501         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
64502         Reported by James Youngman <jay@gnu.org>.
64503
64504 2007-03-15  Bruno Haible  <bruno@clisp.org>
64505
64506         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
64507         declared prototype. Needed with cc on OSF/1 5.1.
64508
64509 2007-03-15  Bruno Haible  <bruno@clisp.org>
64510
64511         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
64512         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
64513         (struct gl_list_implementation): Add dispose_fn argument to the
64514         'create_empty', 'create' methods.
64515         (struct gl_list_impl_base): Add field 'dispose_fn'.
64516         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
64517         argument.
64518         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
64519         dispose_fn argument.
64520         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
64521         dispose_fn on the dropped values.
64522         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
64523         dispose_fn argument.
64524         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
64525         dropped values.
64526         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
64527         (gl_tree_remove_node): Call dispose_fn on the dropped value.
64528         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
64529         (gl_tree_remove_node): Call dispose_fn on the dropped value.
64530         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
64531         argument.
64532         (gl_tree_list_free): Call dispose_fn on the dropped values.
64533         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
64534         the dropped values.
64535         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
64536         Add dispose_fn argument.
64537         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
64538         Call dispose_fn on the dropped values.
64539         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
64540         Add dispose_fn argument.
64541         (gl_sublist_create): Initialize the 'dispose_fn' field.
64542         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
64543         * tests/test-array_list.c (main): Update.
64544         * tests/test-carray_list.c (main): Update.
64545         * tests/test-avltree_list.c (main): Update.
64546         * tests/test-rbtree_list.c (main): Update.
64547         * tests/test-avltreehash_list.c (main): Update.
64548         * tests/test-rbtreehash_list.c (main): Update.
64549         * tests/test-linked_list.c (main): Update.
64550         * tests/test-linkedhash_list.c (main): Update.
64551         * tests/test-array_oset.c (main): Update.
64552
64553 2007-03-15  Bruno Haible  <bruno@clisp.org>
64554
64555         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
64556         (gl_oset_create_empty): Add dispose_fn argument.
64557         (struct gl_oset_implementation): Add dispose_fn argument to
64558         'create_empty' method.
64559         (struct gl_oset_impl_base): Add dispose_fn field.
64560         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
64561         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
64562         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
64563         values.
64564         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
64565         (gl_tree_oset_free): Call dispose_fn on the dropped values.
64566         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
64567         dropped value.
64568         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
64569         dropped value.
64570         * tests/test-array_oset.c (main): Update.
64571         * tests/test-avltree_oset.c (main): Update.
64572         * tests/test-rbtree_oset.c (main): Update.
64573         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
64574
64575 2007-03-13  Bruno Haible  <bruno@clisp.org>
64576
64577         * tests/test-stdbool.c (i): Update after last patch.
64578
64579 2007-03-12  Bruno Haible  <bruno@clisp.org>
64580
64581         * lib/quotearg.c: Include <wctype.h> early, before the definition of
64582         the iswprint macro. Needed on Solaris 2.5.1.
64583
64584 2007-03-12  Bruno Haible  <bruno@clisp.org>
64585
64586         * tests/test-printf-frexp.c (main): Declare x as volatile.
64587
64588 2007-03-12  Simon Josefsson  <simon@josefsson.org>
64589
64590         * doc/gnulib.texi (Build robot for gnulib): New section.
64591
64592 2007-03-12  Jim Meyering  <jim@meyering.net>
64593
64594         * build-aux/bootstrap: New file.
64595         * build-aux/bootstrap.conf: New file, from coreutils.
64596
64597 2007-03-11  Bruno Haible  <bruno@clisp.org>
64598
64599         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
64600
64601 2007-03-12  Simon Josefsson  <simon@josefsson.org>
64602
64603         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
64604         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
64605         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
64606
64607 2007-03-11  Bruno Haible  <bruno@clisp.org>
64608
64609         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
64610         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
64611
64612 2007-03-11  Bruno Haible  <bruno@clisp.org>
64613
64614         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
64615         formula. Needed for SunPRO C 5.0.
64616
64617 2007-03-11  Bruno Haible  <bruno@clisp.org>
64618
64619         * modules/long-options (Depends-on): Add getopt.
64620
64621 2007-03-11  Bruno Haible  <bruno@clisp.org>
64622
64623         * modules/modechange (Depends-on): Add stdbool.
64624
64625 2007-03-11  Bruno Haible  <bruno@clisp.org>
64626
64627         * modules/i-ring (Depends-on): Add stdbool.
64628
64629 2007-03-11  Bruno Haible  <bruno@clisp.org>
64630
64631         * modules/gc-des (Depends-on): Add stdbool.
64632
64633 2007-03-11  Bruno Haible  <bruno@clisp.org>
64634
64635         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
64636
64637 2007-03-11  Bruno Haible  <bruno@clisp.org>
64638
64639         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
64640
64641 2007-03-11  Bruno Haible  <bruno@clisp.org>
64642
64643         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
64644
64645 2007-03-11  Bruno Haible  <bruno@clisp.org>
64646
64647         * lib/vasnprintf.c (sprintf): Undefine.
64648
64649 2007-03-11  Bruno Haible  <bruno@clisp.org>
64650
64651         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
64652         initializers in SunPRO C and Compaq C compilers.
64653
64654 2007-03-11  Bruno Haible  <bruno@clisp.org>
64655
64656         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
64657         decrementing code ANSI C compliant.
64658
64659 2007-03-11  Bruno Haible  <bruno@clisp.org>
64660
64661         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
64662         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
64663
64664 2007-03-11  Bruno Haible  <bruno@clisp.org>
64665
64666         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
64667         <stdbool.h> substitute doesn't pass.
64668
64669 2007-03-11  Bruno Haible  <bruno@clisp.org>
64670
64671         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
64672
64673 2007-03-11  Bruno Haible  <bruno@clisp.org>
64674
64675         * gnulib-tool (func_create_megatestdir): Create also an autobuild
64676         script, for submission to autobuild.josefsson.org.
64677
64678 2007-03-10  Bruno Haible  <bruno@clisp.org>
64679
64680         * modules/canonicalize-lgpl-tests: New file.
64681         * tests/test-canonicalize-lgpl.sh: New file.
64682         * tests/test-canonicalize-lgpl.c: New file.
64683
64684         * modules/c-strcase-tests: New file.
64685         * tests/test-c-strcase.sh: New file.
64686         * tests/test-c-strcasecmp.c: New file.
64687         * tests/test-c-strncasecmp.c: New file.
64688
64689         * modules/atexit-tests: New file.
64690         * tests/test-atexit.sh: New file.
64691         * tests/test-atexit.c: New file.
64692
64693 2007-03-10  Bruno Haible  <bruno@clisp.org>
64694
64695         * tests/test-binary-io.sh: Use temporary filenames that are not so
64696         likely to clash with those of other tests (in a parallel make).
64697         * tests/test-binary-io.c: Likewise.
64698
64699 2007-03-10  Bruno Haible  <bruno@clisp.org>
64700
64701         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
64702         fallback; use #error instead.
64703         Suggested by Simon Josefsson.
64704
64705 2007-03-10  Bruno Haible  <bruno@clisp.org>
64706
64707         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
64708         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
64709         first and the last.
64710
64711 2007-03-10  Bruno Haible  <bruno@clisp.org>
64712
64713         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
64714
64715 2007-03-10  Bruno Haible  <bruno@clisp.org>
64716
64717         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
64718         "make distcheck".
64719         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
64720         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
64721         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
64722
64723 2007-03-10  Bruno Haible  <bruno@clisp.org>
64724
64725         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
64726         variable.
64727         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
64728         variable.
64729
64730 2007-03-09  Eric Blake  <ebb9@byu.net>
64731         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
64732
64733         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
64734         types are not being provided by gnulib.
64735         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
64736         types are supported.
64737
64738 2007-03-10  Bruno Haible  <bruno@clisp.org>
64739
64740         * lib/stdio_.h (__attribute__): New macro.
64741         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
64742         vsprintf): Specify __attribute__ __format__ for GCC.
64743         Suggested by Eric Blake.
64744
64745 2007-03-09  Bruno Haible  <bruno@clisp.org>
64746
64747         * modules/printf-posix-tests: New file.
64748         * tests/test-printf-posix.sh: New file.
64749         * tests/test-printf-posix.c: New file.
64750
64751         * modules/printf-posix: New file.
64752         * lib/printf.c: New file.
64753         * m4/printf-posix-rpl.m4: New file.
64754         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
64755         REPLACE_PRINTF.
64756         * lib/stdio_.h (printf): New declaration.
64757         (format, __format__, ____printf____, ____scanf____, ____strftime____,
64758         ____strfmon____): New macros.
64759         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
64760         REPLACE_PRINTF.
64761
64762 2007-03-09  Bruno Haible  <bruno@clisp.org>
64763
64764         * tests/test-vasnprintf-posix2.sh: New file.
64765         * tests/test-vasnprintf-posix2.c: New file.
64766         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
64767         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
64768         (Makefile.am): Activate test-vasnprintf-posix2.sh.
64769
64770         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
64771         a locale dependent decimal point, rather than always '.'.
64772
64773 2007-03-09  Eric Blake  <ebb9@byu.net>
64774
64775         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
64776         spite of platforms like Tandem/NSK that define it to -1.
64777
64778 2007-03-08  Bruno Haible  <bruno@clisp.org>
64779
64780         * modules/vprintf-posix-tests: New file.
64781         * tests/test-vprintf-posix.sh: New file.
64782         * tests/test-vprintf-posix.c: New file.
64783         * tests/test-printf-posix.h: New file.
64784
64785         * modules/vprintf-posix: New file.
64786         * lib/vprintf.c: New file.
64787         * m4/vprintf-posix.m4: New file.
64788         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
64789         REPLACE_VPRINTF.
64790         * lib/stdio_.h (vprintf): New declaration.
64791         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
64792         REPLACE_VPRINTF.
64793
64794 2007-03-08  Bruno Haible  <bruno@clisp.org>
64795
64796         * modules/fprintf-posix-tests: New file.
64797         * tests/test-fprintf-posix.sh: New file.
64798         * tests/test-fprintf-posix.c: New file.
64799
64800         * modules/fprintf-posix: New file.
64801         * lib/fprintf.c: New file.
64802         * m4/fprintf-posix.m4: New file.
64803         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
64804         REPLACE_FPRINTF.
64805         * lib/stdio_.h (fprintf): New declaration.
64806         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
64807         REPLACE_FPRINTF.
64808
64809 2007-03-08  Bruno Haible  <bruno@clisp.org>
64810
64811         * modules/vfprintf-posix-tests: New file.
64812         * tests/test-vfprintf-posix.sh: New file.
64813         * tests/test-vfprintf-posix.c: New file.
64814         * tests/test-fprintf-posix.h: New file.
64815         * tests/test-fprintf-posix.out: New file.
64816
64817         * modules/vfprintf-posix: New file.
64818         * lib/vfprintf.c: New file.
64819         * m4/vfprintf-posix.m4: New file.
64820         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
64821         REPLACE_VFPRINTF.
64822         * lib/stdio_.h (vfprintf): New declaration.
64823         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
64824         REPLACE_VFPRINTF.
64825
64826 2007-03-08  Bruno Haible  <bruno@clisp.org>
64827
64828         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
64829
64830 2007-03-08  Bruno Haible  <bruno@clisp.org>
64831
64832         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
64833         instead of 'expr' invocations.
64834         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64835         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64836         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64837         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64838         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64839         Suggested by Paul Eggert.
64840
64841 2007-03-08  Bruno Haible  <bruno@clisp.org>
64842
64843         * modules/fseterr-tests: New file.
64844         * tests/test-fseterr.c: New file.
64845
64846         * modules/fseterr: New file.
64847         * lib/fseterr.h: New file.
64848         * lib/fseterr.c: New file.
64849
64850 2007-03-08  Bruno Haible  <bruno@clisp.org>
64851
64852         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
64853         * lib/getopt_.h: Likewise.
64854         * lib/mbswidth.h: Likewise.
64855         * lib/setenv.h: Likewise.
64856         * lib/vasnprintf.h: Likewise.
64857         * lib/vasprintf.h: Likewise.
64858         * lib/verror.h: Likewise.
64859         * lib/xsetenv.h: Likewise.
64860         * lib/xvasprintf.h: Likewise.
64861
64862 2007-03-08  Jim Meyering  <jim@meyering.net>
64863
64864         * users.txt: Add parted.
64865
64866         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
64867
64868 2007-03-07  Bruno Haible  <bruno@clisp.org>
64869
64870         * m4/printf.m4: Make the shell script snippets copy&pastable.
64871
64872 2007-03-02  Bruno Haible  <bruno@clisp.org>
64873
64874         * lib/netinet_in_.h: New file.
64875         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
64876         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
64877         * modules/netinet_in (Files): Add lib/netinet_in_.h.
64878         (Depends-on): Add absolute-header.
64879         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
64880         into netinet/in.h.
64881
64882 2007-03-03  Bruno Haible  <bruno@clisp.org>
64883
64884         * lib/sys_select_.h: New file.
64885         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
64886         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
64887         * modules/sys_select (Files): Add lib/sys_select_.h.
64888         (Depends-on): Add absolute-header.
64889         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
64890         into sys/select.h.
64891
64892 2007-03-02  Bruno Haible  <bruno@clisp.org>
64893
64894         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
64895         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
64896         values.
64897         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
64898         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
64899         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
64900         * modules/sys_socket (Depends-on): Add absolute-header.
64901         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
64902         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
64903         (Include): Remove requirement of inclusion of <sys/types.h>.
64904
64905 2007-03-02  Bruno Haible  <bruno@clisp.org>
64906
64907         * lib/byteswap_.h (bswap_32): Fix formula.
64908
64909 2007-03-06  Bruno Haible  <bruno@clisp.org>
64910
64911         * modules/sprintf-posix-tests: New file.
64912         * tests/test-sprintf-posix.c: New file.
64913
64914         * modules/sprintf-posix: New file.
64915         * lib/sprintf.c: New file.
64916         * m4/sprintf-posix.m4: New file.
64917         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
64918         REPLACE_SPRINTF.
64919         * lib/stdio_.h (sprintf): New declaration.
64920         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
64921         REPLACE_SPRINTF.
64922
64923 2007-03-06  Bruno Haible  <bruno@clisp.org>
64924
64925         * modules/vsprintf-posix-tests: New file.
64926         * tests/test-vsprintf-posix.c: New file.
64927         * tests/test-sprintf-posix.h: New file.
64928
64929         * modules/vsprintf-posix: New file.
64930         * lib/vsprintf.c: New file.
64931         * m4/vsprintf-posix.m4: New file.
64932         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
64933         REPLACE_VSPRINTF.
64934         * lib/stdio_.h (vsprintf): New declaration.
64935         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
64936         REPLACE_VSPRINTF.
64937
64938 2007-03-06  Bruno Haible  <bruno@clisp.org>
64939
64940         * modules/vsnprintf (Depend-on): Remove minmax.
64941
64942 2007-03-06  Bruno Haible  <bruno@clisp.org>
64943
64944         * modules/snprintf-posix-tests: New file.
64945         * tests/test-snprintf-posix.c: New file.
64946
64947         * modules/snprintf-posix: New file.
64948         * m4/snprintf-posix.m4: New file.
64949         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
64950         gl_FUNC_SNPRINTF.
64951         (gl_FUNC_SNPRINTF): Invoke it.
64952         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
64953         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
64954         is set.
64955         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
64956
64957 2007-03-06  Bruno Haible  <bruno@clisp.org>
64958
64959         * modules/vsnprintf-posix-tests: New file.
64960         * tests/test-vsnprintf-posix.c: New file.
64961         * tests/test-snprintf-posix.h: New file.
64962
64963         * modules/vsnprintf-posix: New file.
64964         * m4/vsnprintf-posix.m4: New file.
64965         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
64966         gl_FUNC_VSNPRINTF.
64967         (gl_FUNC_VSNPRINTF): Invoke it.
64968         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
64969         * lib/stdio_.h (vsnprintf): Define as a replacement if
64970         REPLACE_VSNPRINTF is set.
64971         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
64972
64973 2007-03-06  Bruno Haible  <bruno@clisp.org>
64974
64975         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
64976         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
64977
64978 2007-03-06  Bruno Haible  <bruno@clisp.org>
64979
64980         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
64981         (asinl): Declare also if HAVE_DECL_ASINL is set.
64982         (atanl): Declare also if HAVE_DECL_ATANL is set.
64983         (ceill): Declare also if HAVE_DECL_CEILL is set.
64984         (cosl): Declare also if HAVE_DECL_COSL is set.
64985         (expl): Declare also if HAVE_DECL_EXPL is set.
64986         (floorl): Declare also if HAVE_DECL_FLOORL is set.
64987         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
64988         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
64989         (logl): Declare also if HAVE_DECL_LOGL is set.
64990         (sinl): Declare also if HAVE_DECL_SINL is set.
64991         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
64992         (tanl): Declare also if HAVE_DECL_TANL is set.
64993         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
64994         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
64995         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
64996         declaration of frexpl, ldexpl.
64997         * modules/printf-frexpl (Depends-on): Add math.
64998         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
64999
65000 2007-03-05  Bruno Haible  <bruno@clisp.org>
65001
65002         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
65003         frexpl and ldexpl are declared.
65004         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
65005
65006 2007-03-05  Bruno Haible  <bruno@clisp.org>
65007
65008         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
65009         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
65010
65011 2007-03-05  Bruno Haible  <bruno@clisp.org>
65012
65013         * lib/stdio_.h: Include <stddef.h>.
65014
65015 2007-03-05  Bruno Haible  <bruno@clisp.org>
65016
65017         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
65018
65019 2007-03-05  Bruno Haible  <bruno@clisp.org>
65020
65021         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
65022         NetBSD 4, from Ralf Wildenhues.
65023
65024 2007-03-04  Bruno Haible  <bruno@clisp.org>
65025
65026         * lib/vasprintf.h: Update #if logic for the case when the functions
65027         exist but are overridden.
65028
65029 2007-03-04  Bruno Haible  <bruno@clisp.org>
65030
65031         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
65032         implementations: glibc-2.4 and MacOS X 10.3.
65033         * tests/test-vasnprintf-posix.c (test_function): Test also the case
65034         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
65035         * tests/test-vasprintf-posix.c (test_function): Likewise.
65036
65037 2007-03-04  Bruno Haible  <bruno@clisp.org>
65038
65039         * modules/vasprintf-posix-tests: New file.
65040         * tests/test-vasprintf-posix.c: New file.
65041
65042         * modules/vasprintf-posix: New file.
65043         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
65044         defined.
65045         * m4/vasprintf-posix.m4: New file.
65046         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
65047         gl_FUNC_VASPRINTF.
65048         (gl_FUNC_VASPRINTF): Invoke it.
65049         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
65050         here.
65051         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
65052
65053 2007-03-04  Bruno Haible  <bruno@clisp.org>
65054
65055         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
65056         REPLACE_GETTIMEOFDAY.
65057         * modules/sys_time (Makefile.am): Likewise.
65058         * m4/sys_time_h.m4: Likewise.
65059         * m4/gettimeofday.m4: Likewise.
65060
65061 2007-03-04  Bruno Haible  <bruno@clisp.org>
65062
65063         * modules/vasnprintf-posix-tests: New file.
65064         * tests/test-vasnprintf-posix.c: New file.
65065
65066         * modules/vasnprintf-posix: New file.
65067         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
65068         printf-frexpl.h.
65069         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
65070         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
65071         REPLACE_VASNPRINTF is defined.
65072         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
65073         gl_FUNC_VASNPRINTF.
65074         (gl_FUNC_VASNPRINTF): Invoke it.
65075         * m4/vasnprintf-posix.m4: New file.
65076         * m4/printf.m4: New file.
65077
65078 2007-03-04  Bruno Haible  <bruno@clisp.org>
65079
65080         Compile progreloc.c only if --enable-relocatable is specified.
65081         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
65082         if --enable-relocatable was specified.
65083         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
65084         lib_SOURCES.
65085
65086 2007-03-04  Jim Meyering  <jim@meyering.net>
65087
65088         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
65089         Use it consistently, rather than enumerating errno constants.
65090
65091 2007-03-04  Bruno Haible  <bruno@clisp.org>
65092
65093         * modules/xvasprintf-tests: New file.
65094         * tests/test-xvasprintf.c: New file.
65095
65096         * modules/vasprintf-tests: New file.
65097         * tests/test-vasprintf.c: New file.
65098
65099         * modules/vasnprintf-tests: New file.
65100         * tests/test-vasnprintf.c: New file.
65101
65102         * modules/vsnprintf-tests: New file.
65103         * tests/test-vsnprintf.c: New file.
65104
65105         * modules/snprintf-tests: New file.
65106         * tests/test-snprintf.c: New file.
65107
65108 2007-03-04  Bruno Haible  <bruno@clisp.org>
65109
65110         Compile relocatable.c only if --enable-relocatable is specified.
65111         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
65112         gl_RELOCATABLE_LIBRARY.
65113         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
65114         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
65115         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
65116         gl_RELOCATABLE_LIBRARY.
65117         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
65118         (Makefile.am): Remove lib_SOURCES.
65119         * modules/relocatable-lib-lgpl (configure.ac): Invoke
65120         gl_RELOCATABLE_LIBRARY.
65121         (Makefile.am): Remove lib_SOURCES.
65122         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
65123         always.
65124         * modules/relocatable-prog-wrapper (configure.ac): Invoke
65125         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
65126
65127 2007-03-04  Bruno Haible  <bruno@clisp.org>
65128
65129         * modules/argmatch-tests: New file.
65130         * tests/test-argmatch.c: New file.
65131
65132         * tests/test-allocsa.c (main): Halve the number of loop runs.
65133
65134         * modules/alloca-opt-tests: New file.
65135         * tests/test-alloca-opt.c: New file.
65136
65137 2007-03-04  Jim Meyering  <jim@meyering.net>
65138
65139         Work around difference between Linux ACLs and Solaris 10 ZFS.
65140         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
65141         for EINVAL.
65142
65143 2007-03-03  Bruno Haible  <bruno@clisp.org>
65144
65145         * modules/relocatable-prog (Depends-on): Add back progreloc's
65146         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
65147
65148 2007-03-03  Bruno Haible  <bruno@clisp.org>
65149
65150         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
65151         * modules/relocatable-lib: New file.
65152
65153 2007-03-03  Bruno Haible  <bruno@clisp.org>
65154
65155         * modules/relocatable-prog: Renamed from modules/relocatable.
65156         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
65157
65158 2007-03-03  Bruno Haible  <bruno@clisp.org>
65159
65160         * modules/relocatable-script (Files): Add doc/relocatable.texi,
65161         m4/relocatable-lib.m4.
65162         (Depends-on): Remove 'relocatable'.
65163         (configure.ac): Add gl_RELOCATABLE_NOP.
65164
65165 2007-03-03  Bruno Haible  <bruno@clisp.org>
65166
65167         * modules/relocatable-prog-wrapper: New file.
65168         * modules/relocatable (Depends-on): Add it. Remove all other
65169         dependencies except progname.
65170         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
65171
65172         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
65173         (gl_FUNC_STRERROR): Nop.
65174         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
65175
65176         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
65177         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
65178
65179         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
65180         (gl_FUNC_READLINK): Update.
65181
65182         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
65183
65184 2007-03-03  Bruno Haible  <bruno@clisp.org>
65185
65186         * lib/xreadlink.c: Include <unistd.h> unconditionally.
65187         * modules/xreadlink (Depends-on): Add unistd.
65188         * modules/xreadlink-with-size (Depends-on): Likewise.
65189
65190 2007-03-03  Bruno Haible  <bruno@clisp.org>
65191
65192         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
65193         extracted from gt_FUNC_SETENV.
65194         (gt_FUNC_SETENV): Remove macro.
65195         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
65196         remove gt_FUNC_SETENV.
65197
65198 2007-03-03  Bruno Haible  <bruno@clisp.org>
65199
65200         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
65201         ENABLE_RELOCATABLE here.
65202         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
65203
65204 2007-03-03  Bruno Haible  <bruno@clisp.org>
65205
65206         * modules/rbtreehash-list-tests (Depends-on): Add progname.
65207         * tests/test-rbtreehash_list.c: Include progname.h.
65208         (main): Call set_program_name.
65209
65210         * modules/rbtree-oset-tests (Depends-on): Add progname.
65211         * tests/test-rbtree_oset.c: Include progname.h.
65212         (main): Call set_program_name.
65213
65214         * modules/rbtree-list-tests (Depends-on): Add progname.
65215         * tests/test-rbtree_list.c: Include progname.h.
65216         (main): Call set_program_name.
65217
65218         * modules/linked-list-tests (Depends-on): Add progname.
65219         * tests/test-linked_list.c: Include progname.h.
65220         (main): Call set_program_name.
65221
65222 2007-03-03  Bruno Haible  <bruno@clisp.org>
65223
65224         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
65225         All uses of __restrict changed to _Restrict_.
65226         * lib/glob_.h (__restrict): Remove macro.
65227
65228 2007-03-02  Bruno Haible  <bruno@clisp.org>
65229
65230         * modules/gettext (configure.ac): Require gettext infrastructure
65231         from version 0.16.1.
65232
65233 2007-03-02  Bruno Haible  <bruno@clisp.org>
65234
65235         * modules/linkedhash-list-tests (Depends-on): Add progname.
65236         * tests/test-linkedhash_list.c: Include progname.h.
65237         (main): Call set_program_name.
65238
65239         * modules/carray-list-tests (Depends-on): Add progname.
65240         * tests/test-carray_list.c: Include progname.h.
65241         (main): Call set_program_name.
65242
65243         * modules/avltreehash-list-tests (Depends-on): Add progname.
65244         * tests/test-avltreehash_list.c: Include progname.h.
65245         (main): Call set_program_name.
65246
65247         * modules/avltree-oset-tests (Depends-on): Add progname.
65248         * tests/test-avltree_oset.c: Include progname.h.
65249         (main): Call set_program_name.
65250
65251         * modules/avltree-list-tests (Depends-on): Add progname.
65252         * tests/test-avltree_list.c: Include progname.h.
65253         (main): Call set_program_name.
65254
65255         * modules/array-oset-tests (Depends-on): Add progname.
65256         * tests/test-array_oset.c: Include progname.h.
65257         (main): Call set_program_name.
65258
65259         * modules/array-list-tests (Depends-on): Add progname.
65260         * tests/test-array_list.c: Include progname.h.
65261         (main): Call set_program_name.
65262
65263         * modules/argp-tests (Depends-on): Add progname.
65264         * tests/test-argp.c: Include argp.h first. Include progname.h.
65265         (main): Call set_program_name.
65266
65267 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
65268
65269         * doc/gnulib-tool.texi (Initial import): Reword description of
65270         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
65271         limited effect even if defined after the first system include.
65272
65273 2007-03-01  Bruno Haible  <bruno@clisp.org>
65274
65275         * build-aux/config.libpath: Update to libtool-1.5.22.
65276         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
65277
65278 2007-03-01  Bruno Haible  <bruno@clisp.org>
65279
65280         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
65281         foo_CFLAGS.
65282         Reported by Ralf Wildenhues.
65283
65284 2007-03-01  Bruno Haible  <bruno@clisp.org>
65285
65286         * build-aux/install-reloc: Remove object files left over by some
65287         compilers.
65288         Reported by Ralf Wildenhues.
65289
65290 2007-03-01  Bruno Haible  <bruno@clisp.org>
65291
65292         * build-aux/install-reloc: Break long lines.
65293
65294 2007-03-01  Bruno Haible  <bruno@clisp.org>
65295
65296         * doc/relocatable.texi: Document that it may not work on OpenBSD.
65297         Reported by Ralf Wildenhues.
65298
65299 2007-03-01  Bruno Haible  <bruno@clisp.org>
65300
65301         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
65302         include ordering constraints.
65303
65304 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65305
65306         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
65307         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
65308         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
65309         as another example.
65310         * lib/time_.h: Fix misspelling.
65311         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
65312         Require gl_HEADER_TIME_H_DEFAULTS.
65313         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
65314         * m4/time_r.m4 (gl_TIME_R): Likewise.
65315         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
65316
65317 2007-03-01  Bruno Haible  <bruno@clisp.org>
65318
65319         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
65320         * m4/utimens.m4 (gl_UTIMENS): Likewise.
65321
65322 2007-03-01  Jim Meyering  <jim@meyering.net>
65323
65324         * modules/xreadlink (Maintainer): Add my name.
65325         * modules/xreadlink-with-size (Depends-on): Alphabetize.
65326
65327 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
65328             Bruno Haible  <bruno@clisp.org>
65329
65330         * build-aux/install-reloc: Compile also c-ctype.c.
65331         * build-aux/relocatable.sh.in: New file.
65332         * doc/relocatable.texi: New file.
65333         * doc/relocatable-maint.texi: New file.
65334         * doc/gnulib.texi: Include relocatable-maint.texi.
65335         * lib/progreloc.c: Include unistd.h unconditionally.
65336         * lib/relocwrapper.c: Include unistd.h unconditionally.
65337         Include c-ctype.h.
65338         (add_dotbin): Use c_tolower.
65339         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
65340         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
65341         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
65342         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
65343         to m4/relocatable-lib.m4.
65344         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
65345         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
65346         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
65347         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
65348         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
65349         * modules/relocatable: New file.
65350         * modules/relocatable-lib: New file.
65351         * modules/relocatable-script: New file.
65352
65353 2007-02-28  Bruno Haible  <bruno@clisp.org>
65354
65355         Import --enable-relocatable infrastructure.
65356         * build-aux/config.libpath: New file, from GNU gettext.
65357         * build-aux/install-reloc: New file, from GNU gettext.
65358         * build-aux/reloc-ldflags: New file, from GNU gettext.
65359         * lib/relocatable.h: New file, from GNU gettext.
65360         * lib/relocatable.c: New file, from GNU gettext.
65361         * lib/relocwrapper.c: New file, from GNU gettext.
65362         * m4/relocatable.m4: New file, from GNU gettext.
65363
65364 2007-02-28  Bruno Haible  <bruno@clisp.org>
65365
65366         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
65367
65368         * modules/xreadlink: New file, from GNU gettext with modifications.
65369         * lib/xreadlink.c: New file, from GNU gettext.
65370         * lib/xreadlink.h: Add comments.
65371         (xreadlink): New declaration.
65372
65373         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
65374         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
65375         lib/xreadlink-with-size.c.
65376         (configure.ac): Remove gl_XREADLINK invocation.
65377         (Makefile.am): Augment lib_SOURCES.
65378         * m4/xreadlink.m4: Remove file.
65379         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
65380         (xreadlink_with_size): Renamed from xreadink.
65381         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
65382         * modules/canonicalize (Depends-on): Replace xreadlink with
65383         xreadlink-with-size.
65384         * lib/canonicalize.c (canonicalize_filename_mode): Update.
65385
65386 2007-02-25  Jim Meyering  <jim@meyering.net>
65387
65388         * build-aux/announce-gen: When complaining about excess arguments,
65389         list them.
65390
65391 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65392
65393         * README: Document signed integer overflow situation more
65394         accurately.
65395
65396 2007-02-25  Bruno Haible  <bruno@clisp.org>
65397
65398         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
65399         'a' or 'A' conversion.
65400
65401 2007-02-25  Bruno Haible  <bruno@clisp.org>
65402
65403         * modules/filename: Renamed from modules/pathname.
65404         (Files): Replace lib/pathname.h with lib/filename.h. Replace
65405         lib/concatpath.c with lib/concat-filename.c.
65406         (Makefile.am): Update.
65407         (Include): Replace pathname.h with filename.h.
65408         * lib/filename.h: Renamed from lib/pathname.h.
65409         (concatenated_filename): Renamed from concatenated_pathname.
65410         * lib/concat-filename.c: Renamed from lib/concatpath.c.
65411         (concatenated_filename): Renamed from concatenated_pathname.
65412         * lib/findprog.c: Include filename.h instead of pathname.h.
65413         (find_in_path): Update.
65414         * lib/javacomp.c: Include filename.h instead of pathname.h.
65415         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
65416         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
65417         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
65418         is_oldgcj_14_13_usable, is_javac_usable): Update.
65419         * lib/javaexec.c: Include filename.h instead of pathname.h.
65420         (execute_java_class): Update.
65421         * modules/findprog: Update.
65422         * modules/javacomp: Update.
65423         * modules/javaexec: Update.
65424         * MODULES.html.sh (File system functions): Add 'filename', remove
65425         'pathname'.
65426
65427 2007-02-25  Bruno Haible  <bruno@clisp.org>
65428
65429         * modules/printf-frexpl-tests: New file.
65430         * tests/test-printf-frexpl.c: New file.
65431
65432         * modules/printf-frexpl: New file.
65433         * lib/printf-frexpl.h: New file.
65434         * lib/printf-frexpl.c: New file.
65435         * m4/printf-frexpl.m4: New file.
65436
65437 2007-02-25  Bruno Haible  <bruno@clisp.org>
65438
65439         * modules/printf-frexp-tests: New file.
65440         * tests/test-printf-frexp.c: New file.
65441
65442         * modules/printf-frexp: New file.
65443         * lib/printf-frexp.h: New file.
65444         * lib/printf-frexp.c: New file.
65445         * m4/printf-frexp.m4: New file.
65446
65447 2007-02-25  Bruno Haible  <bruno@clisp.org>
65448
65449         Assume automake >= 1.10 for the tests.
65450         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
65451         * modules/arctwo-tests: Likewise.
65452         * modules/argp-tests: Likewise.
65453         * modules/avltree-list-tests: Likewise.
65454         * modules/avltree-oset-tests: Likewise.
65455         * modules/avltreehash-list-tests: Likewise.
65456         * modules/carray-list-tests: Likewise.
65457         * modules/crc-tests: Likewise.
65458         * modules/des-tests: Likewise.
65459         * modules/gc-arcfour-tests: Likewise.
65460         * modules/gc-arctwo-tests: Likewise.
65461         * modules/gc-des-tests: Likewise.
65462         * modules/gc-hmac-md5-tests: Likewise.
65463         * modules/gc-hmac-sha1-tests: Likewise.
65464         * modules/gc-md2-tests: Likewise.
65465         * modules/gc-md4-tests: Likewise.
65466         * modules/gc-md5-tests: Likewise.
65467         * modules/gc-pbkdf2-sha1-tests: Likewise.
65468         * modules/gc-rijndael-tests: Likewise.
65469         * modules/gc-sha1-tests: Likewise.
65470         * modules/gc-tests: Likewise.
65471         * modules/getaddrinfo-tests: Likewise.
65472         * modules/hmac-md5-tests: Likewise.
65473         * modules/hmac-sha1-tests: Likewise.
65474         * modules/linked-list-tests: Likewise.
65475         * modules/linkedhash-list-tests: Likewise.
65476         * modules/lock-tests: Likewise.
65477         * modules/md2-tests: Likewise.
65478         * modules/md4-tests: Likewise.
65479         * modules/md5-tests: Likewise.
65480         * modules/rbtree-list-tests: Likewise.
65481         * modules/rbtree-oset-tests: Likewise.
65482         * modules/rbtreehash-list-tests: Likewise.
65483         * modules/read-file-tests: Likewise.
65484         * modules/rijndael-tests: Likewise.
65485         * modules/stdint-tests: Likewise.
65486         * modules/tls-tests: Likewise.
65487
65488 2007-02-24  Bruno Haible  <bruno@clisp.org>
65489
65490         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
65491         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
65492         function; instead check whether isnan with a double argument links.
65493         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
65494         function; instead check whether isnan with a 'long double' argument
65495         links.
65496         Reported by Eric Blake <ebb9@byu.net>.
65497
65498 2007-02-24  Bruno Haible  <bruno@clisp.org>
65499
65500         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
65501         defined.
65502         * lib/isnanl.c: Remove all code. Just include isnan.c.
65503         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
65504
65505 2007-02-25  Jim Meyering  <jim@meyering.net>
65506
65507         Avoid conflicting types for 'unsetenv' on FreeBSD.
65508         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
65509         conflicting with FreeBSD's (5.0 and 6.1) function declaration
65510         in stdlib.h.
65511
65512 2007-02-24  Bruno Haible  <bruno@clisp.org>
65513
65514         * modules/isnanl-nolibm-tests: New file.
65515         * tests/test-isnanl.c: New file.
65516
65517         * modules/isnanl-nolibm: New file.
65518         * lib/isnanl.h: New file.
65519         * lib/isnanl.c: New file.
65520         * m4/isnanl.m4: New file.
65521
65522 2007-02-24  Bruno Haible  <bruno@clisp.org>
65523
65524         * modules/isnan-nolibm-tests: New file.
65525         * tests/test-isnan.c: New file.
65526
65527         * modules/isnan-nolibm: New file.
65528         * lib/isnan.h: New file.
65529         * lib/isnan.c: New file.
65530         * m4/isnan.m4: New file.
65531
65532 2007-02-24  Bruno Haible  <bruno@clisp.org>
65533
65534         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
65535         assume that an exponent fits in 20 bits.
65536
65537 2007-02-24  Jim Meyering  <jim@meyering.net>
65538
65539         * m4/regex.m4: Update the description of the configure-time option,
65540         --without-included-regex, to state accurately what the defaults are,
65541         and perhaps to give people an idea why using this option is risky.
65542
65543 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
65544
65545         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
65546         loops on small arguments.  This attempts to avoid the problem
65547         Bruno Haible reported for AIX 4.3.2 in
65548         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
65549
65550 2007-02-23  Bruno Haible  <bruno@clisp.org>
65551
65552         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
65553         Needed for help2man.
65554
65555 2007-02-23  Karl Berry  <karl@gnu.org>
65556
65557         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
65558         exists, foo.h should be cvs-ignored, not committed.
65559
65560 2007-02-23  Eric Blake  <ebb9@byu.net>
65561
65562         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
65563         * lib/stat-time.h (includes): Likewise.
65564         * lib/utimecmp.c (includes): Likewise.
65565         * lib/utimens.h (includes): Likewise.
65566         * lib/getdate.y (includes): Also include "timespec.h" for use
65567         internal to the module.
65568         * modules/utimens (Depends-on): Revert yesterday's patch.
65569         * modules/nanosleep (Depends-on): Add missing dependency.
65570
65571 2007-02-22  Bruno Haible  <bruno@clisp.org>
65572
65573         * lib/glob.c: Don't include getlogin_r.h.
65574
65575 2007-02-22  Jim Meyering  <jim@meyering.net>
65576
65577         * modules/utimens (Depends-on): Add timespec, required for
65578         utimens.h's inclusion of timespec.h.
65579
65580 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
65581
65582         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
65583         long unreadable paths in GNU/Linux.  Problem reported by Andreas
65584         Schwab in
65585         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
65586         I'll try to think of a better way to fix the Solaris problem.
65587
65588         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
65589         like glibc; on Solaris 10, it fails with errno == EINVAL.
65590         POSIX says the behavior is unspecified if the first argument is NULL,
65591         so play it safe and never pass NULL to the system getcwd.
65592
65593 2007-02-21  Jim Meyering  <jim@meyering.net>
65594
65595         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
65596         of gettimeofday.  It would conflict with the one now always
65597         provided via sys_time_.h.  Reported by Matthew Woehlke, as
65598         an IRIX 6.5 build failure.
65599
65600 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
65601
65602         Minor fixups to port to Solaris 10 with Sun C 5.8.
65603         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
65604         * modules/getcwd (Depends-on): Add dirfd.
65605         * lib/putenv.c (putenv): #undef it.
65606         (rpl_putenv): New decl.
65607         (malloc, free): Include <stdlib.h> rather than prototyping separately.
65608
65609 2007-02-20  Bruno Haible  <bruno@clisp.org>
65610
65611         * modules/stdio-tests: New file.
65612         * tests/test-stdio.c: New file.
65613
65614         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
65615         (Depends-on): Add stdio.
65616         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
65617         (Include): Use <stdio.h> instead of vsnprintf.h.
65618         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
65619         HAVE_DECL_VSNPRINTF.
65620         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
65621
65622         * modules/snprintf (Files): Remove lib/snprintf.h.
65623         (Depends-on): Add stdio.
65624         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
65625         (Include): Use <stdio.h> instead of snprintf.h.
65626         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
65627         HAVE_DECL_SNPRINTF.
65628         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
65629         * lib/getaddrinfo.c: Likewise.
65630
65631         * modules/stdio: New file.
65632         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
65633         * lib/snprintf.h: Remove file.
65634         * lib/vsnprintf.h: Remove file.
65635         * lib/.cppi-disable: Remove snprintf.h.
65636         * m4/stdio_h.m4: New file.
65637         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
65638
65639 2007-02-20  Jim Meyering  <jim@meyering.net>
65640
65641         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
65642         used by e.g., mingw.  From Bruno Haible.
65643
65644 2007-02-19  Bruno Haible  <bruno@clisp.org>
65645
65646         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
65647         warnings.
65648         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65649
65650 2007-02-19  Bruno Haible  <bruno@clisp.org>
65651
65652         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
65653         from mingw users.
65654
65655 2007-02-19  Bruno Haible  <bruno@clisp.org>
65656
65657         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
65658         warnings.
65659         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
65660
65661 2007-02-19  Jim Meyering  <jim@meyering.net>
65662
65663         Don't use FD after a successful "fdopendir (fd)".
65664         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
65665         Reset it by calling dirfd on the just-obtained DIR*.
65666
65667         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
65668         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
65669
65670 2007-02-18  Bruno Haible  <bruno@clisp.org>
65671
65672         * lib/readlink.c: Include <unistd.h>.
65673         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
65674         HAVE_READLINK.
65675         * modules/readlink (Depends-on): Add unistd.
65676         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65677         (Include): Add <unistd.h>.
65678
65679         * lib/getlogin_r.h: Remove file.
65680         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
65681         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
65682         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
65683         HAVE_DECL_GETLOGIN_R.
65684         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
65685         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65686         (Include): Use <unistd.h> instead of getlogin_r.h.
65687
65688         * lib/getcwd.h: Remove file.
65689         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
65690         * lib/xgetcwd.c: Likewise.
65691         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
65692         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
65693         * modules/getcwd (Files): Remove lib/getcwd.h.
65694         (Depends-on): Add unistd.
65695         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65696         (Include): Use <unistd.h> instad of getcwd.h.
65697
65698         * lib/ftruncate.c: Include <unistd.h> first.
65699         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
65700         Set HAVE_FTRUNCATE.
65701         * modules/ftruncate (Depends-on): Add unistd.
65702         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65703
65704         * lib/fchdir.c: Include <unistd.h> first.
65705         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
65706         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
65707         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
65708         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65709         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
65710
65711         * lib/dup2.c: Include <unistd.h> first.
65712         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
65713         HAVE_DUP2.
65714         * modules/dup2 (Depends-on): Add unistd.
65715         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65716
65717         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
65718         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
65719         REPLACE_CHOWN. Don't define chown as a macro here.
65720         * modules/chown (Depends-on): Add unistd.
65721         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65722
65723         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
65724         Add definition for GL_LINK_WARNING.
65725         (chown, dup2): New declarations.
65726         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
65727         link warning.
65728         (ftruncate): New declaration.
65729         (getcwd): New declaration, taken from old getcwd.h.
65730         (getlogin_r): New declaration, taken from old getlogin_r.h.
65731         (readlink): New declaration.
65732         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
65733         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
65734         (gl_PREREQ_UNISTD): Remove macro.
65735         (gl_UNISTD_MODULE_INDICATOR): New macro.
65736         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
65737         many new variables. Don't set UNISTD_H.
65738         * modules/unistd (Description): Change.
65739         (Depends-on): Add link-warning.
65740         (configure.ac): Update.
65741         (Makefile.am): Create unistd.h always. Substitute many new variables
65742         into it.
65743
65744 2007-02-18  Bruno Haible  <bruno@clisp.org>
65745
65746         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
65747         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
65748         HAVE_GETSUBOPT.
65749         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
65750         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
65751         * lib/getsubopt.h: Remove file.
65752         * modules/getsubopt (Files): Remove lib/getsubopt.h.
65753         (Depends-on): Add stdlib.
65754         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65755         (Includes): Use <stdlib.h> instead of getsubopt.h.
65756         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
65757         Set HAVE_GETSUBOPT.
65758         * lib/getsubopt.c: Don't include getsubopt.h.
65759
65760 2007-02-18  Bruno Haible  <bruno@clisp.org>
65761
65762         * modules/fchdir (Depends-on): Add dup2.
65763
65764 2007-02-18  Bruno Haible  <bruno@clisp.org>
65765
65766         * lib/stdlib_.h: Handle glibc's special invocation convention
65767         specially.
65768
65769 2007-02-18  Bruno Haible  <bruno@clisp.org>
65770
65771         * modules/stdlib-tests: New file.
65772         * tests/test-stdlib.c: New file.
65773
65774         * modules/mkstemp (Files): Remove lib/mkstemp.h.
65775         (Depends-on): Add stdlib.
65776         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65777         (Includes): Use <stdlib.h> instead of mkstemp.h.
65778         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65779         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
65780         * lib/mkstemp.c: Don't include mkstemp.h.
65781         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
65782         * lib/stdlib--.h: Don't include mkstemp.h.
65783
65784         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
65785         (Depends-on): Add stdlib.
65786         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65787         (Includes): Use <stdlib.h> instead of mkdtemp.h.
65788         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65789         HAVE_MKDTEMP.
65790         * lib/mkdtemp.c: Don't include mkdtemp.h.
65791         * lib/clean-temp.c: Don't include mkdtemp.h.
65792
65793         * modules/exit (Files): Remove lib/exit.h.
65794         (Depends-on): Add stdlib.
65795         (Makefile.am): Remove lib_SOURCES.
65796         (Include): Use <stdlib.h> instead of exit.h.
65797         * lib/argmatch.c: Don't include exit.h.
65798         * lib/execute.c: Likewise.
65799         * lib/pagealign_alloc.c: Likewise.
65800         * lib/pipe.c: Likewise.
65801         * lib/wait-process.c: Likewise.
65802         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
65803         * lib/exitfail.c: Likewise.
65804         * lib/savewd.c: Likewise.
65805         * lib/xsetenv.c: Likewise.
65806
65807         * modules/stdlib: New file.
65808         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
65809         and extra comments about mkstemp().
65810         * lib/exit.h: Remove file.
65811         * lib/mkdtemp.h: Remove file.
65812         * lib/mkstemp.h: Remove file.
65813         * m4/stdlib_h.m4: New file.
65814         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
65815
65816 2007-02-18  Bruno Haible  <bruno@clisp.org>
65817
65818         * modules/math-tests: New file.
65819         * tests/test-math.c: New file.
65820
65821         * modules/math: New file.
65822         * modules/mathl (Files): Remove lib/mathl.h.
65823         (Depends-on): Add math.
65824         (Makefile.am): Don't mention mathl.h.
65825         (Include): Use <math.h> instead of mathl.h.
65826         * lib/math_.h: New file.
65827         * lib/mathl.h: Remove file.
65828         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
65829         mathl.h.
65830         * lib/asinl.c: Likewise.
65831         * lib/atanl.c: Likewise.
65832         * lib/ceill.c: Likewise.
65833         * lib/cosl.c: Likewise.
65834         * lib/expl.c: Likewise.
65835         * lib/floorl.c: Likewise.
65836         * lib/frexpl.c: Likewise.
65837         * lib/ldexpl.c: Likewise.
65838         * lib/logl.c: Likewise.
65839         * lib/sincosl.c: Likewise.
65840         * lib/sinl.c: Likewise.
65841         * lib/sqrtl.c: Likewise.
65842         * lib/tanl.c: Likewise.
65843         * lib/trigl.c: Likewise.
65844         * m4/math_h.m4: New file.
65845         * MODULES.html.sh (Mathematics): Add math.
65846
65847 2007-02-17  Bruno Haible  <bruno@clisp.org>
65848
65849         * modules/wctype-tests: New file.
65850         * tests/test-wctype.c: New file.
65851
65852         * modules/wchar-tests: New file.
65853         * tests/test-wchar.c: New file.
65854
65855         * modules/unistd-tests: New file.
65856         * tests/test-unistd.c: New file.
65857
65858         * modules/time-tests: New file.
65859         * tests/test-time.c: New file.
65860
65861         * modules/sysexits-tests: New file.
65862         * tests/test-sysexits.c: New file.
65863
65864         * modules/sys_time-tests: New file.
65865         * tests/test-sys_time.c: New file.
65866
65867         * modules/sys_stat-tests: New file.
65868         * tests/test-sys_stat.c: New file.
65869
65870         * modules/sys_socket-tests: New file.
65871         * tests/test-sys_socket.c: New file.
65872
65873         * modules/sys_select-tests: New file.
65874         * tests/test-sys_select.c: New file.
65875
65876         * modules/string-tests: New file.
65877         * tests/test-string.c: New file.
65878
65879         * modules/stdbool-tests: New file.
65880         * tests/test-stdbool.c: New file.
65881
65882         * modules/netinet_in-tests: New file.
65883         * tests/test-netinet_in.c: New file.
65884
65885         * modules/inttypes-tests: New file.
65886         * tests/test-inttypes.c: New file.
65887
65888         * modules/fcntl-tests: New file.
65889         * tests/test-fcntl.c: New file.
65890
65891         * modules/byteswap-tests: New file.
65892         * tests/test-byteswap.c: New file.
65893
65894         * modules/arpa_inet-tests: New file.
65895         * tests/test-arpa_inet.c: New file.
65896
65897 2007-02-17  Bruno Haible  <bruno@clisp.org>
65898
65899         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
65900         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
65901         if the corresponding module is not enabled. Emit link warnings if
65902         the function is used nevertheless.
65903         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
65904         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
65905         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
65906         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
65907         * modules/inttypes (Depends-on): Add link-warning.
65908         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65909         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
65910         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
65911         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
65912         * modules/imaxdiv (configure.ac): Likewise.
65913         * modules/strtoimax (configure.ac): Likewise.
65914         * modules/strtoumax (configure.ac): Likewise.
65915
65916 2007-02-17  Bruno Haible  <bruno@clisp.org>
65917
65918         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
65919         gl_STRING_MODULE_INDICATOR_DEFAULTS.
65920         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
65921         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
65922
65923 2007-02-17  Bruno Haible  <bruno@clisp.org>
65924
65925         * modules/link-warning: New file.
65926         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
65927         * lib/string_.h (GL_LINK_WARNING): Remove definition.
65928         * modules/string (Depends-on): Add link-warning.
65929         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65930         string.h.
65931         * MODULES.html.sh (Support for building libraries and executables): Add
65932         link-warning.
65933
65934 2007-02-17  Bruno Haible  <bruno@clisp.org>
65935
65936         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
65937         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
65938         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
65939         long lines.
65940
65941 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
65942             Bruno Haible  <bruno@clisp.org>
65943
65944         * modules/tmpfile: New file.
65945         * lib/tmpfile.c: New file.
65946         * m4/tmpfile.m4: New file.
65947         * MODULES.html.sh (func_all_modules): New section "Input/output".
65948
65949 2007-02-15  Bruno Haible  <bruno@clisp.org>
65950
65951         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
65952         (supports_delete_on_close): New function.
65953         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
65954
65955 2007-02-14  Bruno Haible  <bruno@clisp.org>
65956
65957         * modules/mbspcasecmp-tests: New file.
65958         * tests/test-mbspcasecmp.sh: New file.
65959         * tests/test-mbspcasecmp.c: New file.
65960
65961         New module mbspcasecmp.
65962         * modules/mbspcasecmp: New file.
65963         * lib/mbspcasecmp.c: New file.
65964         * lib/string_.h (strncasecmp): Change warning message.
65965         (mbspcasecmp): New declaration.
65966         * m4/mbspcasecmp.m4: New file.
65967         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65968         GNULIB_MBSPCASECMP.
65969         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
65970         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
65971
65972 2007-02-14  Bruno Haible  <bruno@clisp.org>
65973
65974         * modules/mbsncasecmp-tests: New file.
65975         * tests/test-mbsncasecmp.sh: New file.
65976         * tests/test-mbsncasecmp.c: New file.
65977
65978         New module mbsncasecmp.
65979         * modules/mbsncasecmp: New file.
65980         * lib/mbsncasecmp.c: New file.
65981         * lib/string_.h (mbsncasecmp): New declaration.
65982         * m4/mbsncasecmp.m4: New file.
65983         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65984         GNULIB_MBSNCASECMP.
65985         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
65986         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
65987
65988 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
65989
65990         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
65991         Verify that it doesn't overlap with our flags.
65992         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
65993         do not have the desired effect in multibyte locales; instead, use
65994         mbscasecmp.
65995         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
65996         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
65997         we don't require GNU fnmatch ourselves (if our users require it, they
65998         should do so explicitly).
65999
66000         Fix regex code so it doesn't rely on strcasecmp.
66001         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
66002         Otherwise, include gnulib's langinfo.h.
66003         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
66004         undesirable behavior in non-C locales.  Instead, rely on localecharset.
66005         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
66006         * modules/regex (FILES): Remove m4/codeset.m4.
66007         (Depends-on): Add localcharset.  Remove strcase.
66008
66009 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66010
66011         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
66012         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
66013
66014 2007-02-13  Bruno Haible  <bruno@clisp.org>
66015
66016         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
66017         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66018
66019 2007-02-12  Bruno Haible  <bruno@clisp.org>
66020
66021         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
66022         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
66023         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
66024         time warning rather than a link error.
66025
66026 2007-02-12  Bruno Haible  <bruno@clisp.org>
66027
66028         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
66029         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
66030         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66031
66032 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
66033
66034         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
66035         args, not 2.
66036
66037 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
66038
66039         New module 'time', so that apps can include <time.h> as per
66040         POSIX and GNU instead of separate include files like time_r.h
66041         and timegm.h.  This implementation tries out a simpler approach
66042         for replacing decls in standard include files (as compared to
66043         the string module), somewhat as an experiment.
66044
66045         * config/srclist.txt: Comment out mktime.c for now.
66046         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
66047         since it doesn't apply any more.  Use generic wording instead.
66048         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
66049         'time'.
66050         * lib/time_.h, m4/time_h.m4, modules/time: New files.
66051         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
66052         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
66053         Don't include <sys/types.h>; no longer needed since we assume C89.
66054         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
66055         * lib/strftime.c: Likewise.
66056         * lib/time_r.c: Likewise.
66057         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
66058         * lib/nanosleep.c: Include <time.h> first, to check interface.
66059         * lib/strptime.c: Likewise.
66060         * lib/time_r.c: Likewise.
66061         * lib/timegm.c: Likewise.
66062         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
66063         needed.
66064         * lib/timegm.c: Don't include timegm.h; no longer needed.
66065         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
66066         time.h now handles any problems in that area.
66067         (struct timespec, nanosleep): Remove; time.h now arranges for these.
66068         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
66069         that time.h defines struct timespec.
66070         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
66071         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
66072         handles that.
66073         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
66074         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
66075         needed.  Set REPLACE_LOCALTIME.
66076         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
66077         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
66078         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
66079         nanosleep; time_h.m4 now does that.  Don't require
66080         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
66081         module handles this now.
66082         * modules/getdate (Depends-on): Remove timespec.  Add time.
66083         * modules/nanosleep (Depends-on): Likewise.
66084         * modules/stat-time (Depends-on): Likewise.
66085         * modules/nanosleep (Include): Include time.h, not timespec.h.
66086         * modules/strptime (Files): Remove lib/strptime.h.
66087         (Depends-on): Add extensions, time.
66088         (Include): Include time.h, not strptime.h.
66089         * modules/time_r (Files): Remove lib/time_r.h.
66090         (Depends-on): Add time.
66091         (Include): Include time.h, not time_r.h.
66092         * modules/timegm: Likewise.
66093         * modules/timespec (Description): Now does timespec-related decls
66094         of our own, instead of struct timespec itself.
66095         (Depends-on): Add time; remove extensions.
66096         (Maintainer): Add self.
66097         * modules/utimecmp (Depends-on): Add time; remove timespec.
66098         * modules/utimens (Depends-on): Likewise.
66099         * modules/xnanosleep (Depends-on): Likewise.
66100
66101 2007-02-11  Bruno Haible  <bruno@clisp.org>
66102
66103         * lib/c-strstr.c: Include allocsa.h.
66104         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66105         * lib/c-strcasestr.c: Include allocsa.h.
66106         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66107         * lib/strcasestr.c: Include allocsa.h.
66108         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66109         * lib/mbsstr.c: Include allocsa.h.
66110         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
66111         allocsa/freesa instead of malloc/free.
66112         * lib/mbscasestr.c: Include allocsa.h.
66113         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
66114         allocsa/freesa instead of malloc/free.
66115         * modules/c-strstr (Depends-on): Add allocsa.
66116         * modules/c-strcasestr (Depends-on): Likewise.
66117         * modules/strcasestr (Depends-on): Likewise.
66118         * modules/mbsstr (Depends-on): Likewise.
66119         * modules/mbscasestr (Depends-on): Likewise.
66120
66121 2007-02-11  Bruno Haible  <bruno@clisp.org>
66122
66123         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
66124
66125         * modules/mbsspn-tests: New file.
66126         * tests/test-mbsspn.sh: New file.
66127         * tests/test-mbsspn.c: New file.
66128
66129 2007-02-11  Bruno Haible  <bruno@clisp.org>
66130
66131         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
66132
66133         * modules/mbspbrk-tests: New file.
66134         * tests/test-mbspbrk.sh: New file.
66135         * tests/test-mbspbrk.c: New file.
66136
66137 2007-02-11  Bruno Haible  <bruno@clisp.org>
66138
66139         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
66140         unneeded cast.
66141
66142         * modules/mbscspn-tests: New file.
66143         * tests/test-mbscspn.sh: New file.
66144         * tests/test-mbscspn.c: New file.
66145
66146 2007-02-11  Bruno Haible  <bruno@clisp.org>
66147
66148         * modules/mbscasecmp-tests: New file.
66149         * tests/test-mbscasecmp.sh: New file.
66150         * tests/test-mbscasecmp.c: New file.
66151
66152 2007-02-11  Bruno Haible  <bruno@clisp.org>
66153
66154         Ensure O(n) worst-case complexity of mbscasestr.
66155         * lib/mbscasestr.c: Include stdbool.h.
66156         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
66157         functions.
66158         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
66159         the bookkeeping indicates that it's worth it.
66160         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
66161
66162         * modules/mbscasestr-tests: New file.
66163         * tests/test-mbscasestr1.c: New file.
66164         * tests/test-mbscasestr2.sh: New file.
66165         * tests/test-mbscasestr2.c: New file.
66166         * tests/test-mbscasestr3.sh: New file.
66167         * tests/test-mbscasestr3.c: New file.
66168         * tests/test-mbscasestr4.sh: New file.
66169         * tests/test-mbscasestr4.c: New file.
66170         * m4/locale-tr.m4: New file.
66171
66172 2007-02-11  Bruno Haible  <bruno@clisp.org>
66173
66174         Ensure O(n) worst-case complexity of mbsstr.
66175         * lib/mbsstr.c: Include stdbool.h.
66176         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
66177         functions.
66178         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
66179         bookkeeping indicates that it's worth it.
66180         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
66181
66182         * modules/mbsstr-tests: New file.
66183         * tests/test-mbsstr1.c: New file.
66184         * tests/test-mbsstr2.sh: New file.
66185         * tests/test-mbsstr2.c: New file.
66186         * tests/test-mbsstr3.sh: New file.
66187         * tests/test-mbsstr3.c: New file.
66188         * m4/locale-fr.m4: New file.
66189
66190 2007-02-11  Bruno Haible  <bruno@clisp.org>
66191
66192         * lib/mbsrchr.c (mbsrchr): Fix bug.
66193
66194         * modules/mbsrchr-tests: New file.
66195         * tests/test-mbsrchr.sh: New file.
66196         * tests/test-mbsrchr.c: New file.
66197
66198 2007-02-11  Bruno Haible  <bruno@clisp.org>
66199
66200         * lib/mbschr.c (mbschr): Fix bug.
66201
66202         * modules/mbschr-tests: New file.
66203         * tests/test-mbschr.sh: New file.
66204         * tests/test-mbschr.c: New file.
66205         * m4/locale-zh.m4: New file.
66206
66207 2007-02-11  Bruno Haible  <bruno@clisp.org>
66208
66209         Support for copying multibyte string iterators.
66210         * lib/mbiter.h: Include <string.h>.
66211         (mbiter_multi_copy): New function.
66212         (mbi_copy): New macro.
66213         * lib/mbuiter.h: Include <string.h>.
66214         (mbuiter_multi_copy): New function.
66215         (mbui_copy): New macro.
66216
66217 2007-02-11  Bruno Haible  <bruno@clisp.org>
66218
66219         New module mbslen.
66220         * modules/mbslen: New file.
66221         * lib/mbslen.c: New file.
66222         * lib/string_.h (mbslen): New declaration.
66223         * m4/mbslen.m4: New file.
66224         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66225         GNULIB_MBSLEN.
66226         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
66227         * MODULES.html.sh (Internationalization functions): Add mbslen.
66228
66229 2007-02-11  Bruno Haible  <bruno@clisp.org>
66230
66231         Ensure O(n) worst-case complexity of strcasestr substitute.
66232         * lib/strcasestr.c: Include stdbool.h.
66233         (knuth_morris_pratt): New function.
66234         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
66235         bookkeeping indicates that it's worth it.
66236         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
66237
66238         * modules/strcasestr-tests: New file.
66239         * tests/test-strcasestr.c: New file.
66240
66241 2007-02-11  Bruno Haible  <bruno@clisp.org>
66242
66243         Ensure O(n) worst-case complexity of c_strcasestr.
66244         * lib/c-strcasestr.c: Include stdbool.h, string.h.
66245         (knuth_morris_pratt): New function.
66246         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
66247         the bookkeeping indicates that it's worth it.
66248         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
66249
66250         * modules/c-strcasestr-tests: New file.
66251         * tests/test-c-strcasestr.c: New file.
66252
66253 2007-02-11  Bruno Haible  <bruno@clisp.org>
66254
66255         Ensure O(n) worst-case complexity of c_strstr.
66256         * lib/c-strstr.c: Include stdbool.h, string.h.
66257         (knuth_morris_pratt): New function.
66258         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
66259         bookkeeping indicates that it's worth it.
66260         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
66261
66262         * lib/c-strstr.c: Complete rewrite for maintainability.
66263
66264         * modules/c-strstr-tests: New file.
66265         * tests/test-c-strstr.c: New file.
66266
66267 2007-02-11  Bruno Haible  <bruno@clisp.org>
66268
66269         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
66270         5.2.1 and earlier, whereby \055 was treated just like the range
66271         delimiter '-'.
66272         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
66273
66274 2007-02-08  Bruno Haible  <bruno@clisp.org>
66275
66276         * modules/regex (Depends-on): Add stdbool.
66277         Reported by Dalibor Topic <robilad@kaffe.org>.
66278
66279 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
66280
66281         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
66282         Prefer returning from main to exiting from it.
66283         Remove unnecessary parens after sizeof.
66284
66285 2007-02-05  Bruno Haible  <bruno@clisp.org>
66286
66287         New module mbssep.
66288         * modules/mbssep: New file.
66289         * lib/mbssep.c: New file.
66290         * lib/string_.h (strsep): Add a conditional link warning.
66291         (mbssep): New declaration.
66292         * m4/mbssep.m4: New file.
66293         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66294         GNULIB_MBSSEP.
66295         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
66296         * MODULES.html.sh (Internationalization functions): Add mbssep.
66297
66298 2007-02-05  Bruno Haible  <bruno@clisp.org>
66299
66300         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
66301         Optimize search in case of 1 delimiter.
66302
66303 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
66304
66305         * lib/acl.h: Include sys/types.h before sys/acl.h.
66306
66307 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
66308
66309         Merge upstream fix for glibc bugzilla #3957:
66310
66311         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
66312
66313         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
66314         bit for RE_HAT_LISTS_NOT_NEWLINE.
66315         (build_charclass_op): Remove bogus comment.
66316
66317 2007-02-05  Simon Josefsson  <simon@josefsson.org>
66318
66319         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
66320
66321 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
66322
66323         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
66324         * lib/memmem.c [!defined _LIBC]: Include config.h.
66325
66326 2007-02-04  Bruno Haible  <bruno@clisp.org>
66327
66328         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
66329         warning message.
66330
66331 2007-02-04  Bruno Haible  <bruno@clisp.org>
66332
66333         New module mbstok_r.
66334         * modules/mbstok_r: New file.
66335         * lib/mbstok_r.c: New file.
66336         * lib/string_.h (strtok_r): Change argument names to match the
66337         comments. Add a conditional link warning.
66338         (mbstok_r): New declaration.
66339         * m4/mbstok_r.m4: New file.
66340         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66341         GNULIB_MBSTOK_R.
66342         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
66343         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
66344
66345 2007-02-04  Bruno Haible  <bruno@clisp.org>
66346
66347         New module mbsspn.
66348         * modules/mbsspn: New file.
66349         * lib/mbsspn.c: New file.
66350         * lib/string_.h (strspn): Add a conditional link warning.
66351         (mbsspn): New declaration.
66352         * m4/mbsspn.m4: New file.
66353         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66354         GNULIB_MBSSPN.
66355         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
66356         * MODULES.html.sh (Internationalization functions): Add mbsspn.
66357
66358 2007-02-04  Bruno Haible  <bruno@clisp.org>
66359
66360         New module mbspbrk.
66361         * modules/mbspbrk: New file.
66362         * lib/mbspbrk.c: New file.
66363         * lib/string_.h (strpbrk): Add a conditional link warning.
66364         (mbspbrk): New declaration.
66365         * m4/mbspbrk.m4: New file.
66366         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66367         GNULIB_MBSPBRK.
66368         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
66369         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
66370
66371 2007-02-04  Bruno Haible  <bruno@clisp.org>
66372
66373         New module mbscspn.
66374         * modules/mbscspn: New file.
66375         * lib/mbscspn.c: New file.
66376         * lib/string_.h (strcspn): Add a conditional link warning.
66377         (mbscspn): New declaration.
66378         * m4/mbscspn.m4: New file.
66379         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66380         GNULIB_MBSCSPN.
66381         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
66382         * MODULES.html.sh (Internationalization functions): Add mbscspn.
66383
66384 2007-02-04  Bruno Haible  <bruno@clisp.org>
66385
66386         New module mbscasestr, reduced goal of strcasestr.
66387         * modules/mbscasestr: New file.
66388         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
66389         (mbscasestr): Renamed from strcasestr.
66390         * lib/strcasestr.c: Don't include mbuiter.h.
66391         (strcasestr): Remove support for multibyte locales.
66392         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
66393         Change the conditional link warning.
66394         (mbscasestr): New declaration.
66395         * m4/mbscasestr.m4: New file.
66396         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
66397         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
66398         REPLACE_STRCASESTR.
66399         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
66400         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
66401         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
66402         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
66403         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
66404         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
66405         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
66406         (Depends-on): Remove mbuiter.
66407         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
66408
66409 2007-02-04  Bruno Haible  <bruno@clisp.org>
66410
66411         Simplify handling of strncasecmp.
66412         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
66413         the conditional link warning.
66414         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
66415         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
66416         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
66417         * modules/strcase (configure.ac): Don't invoke
66418         gl_STRING_MODULE_INDICATOR.
66419         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
66420
66421 2007-02-04  Bruno Haible  <bruno@clisp.org>
66422
66423         New module mbscasecmp, reduced goal of strcasecmp.
66424         * modules/mbscasecmp: New file.
66425         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
66426         (mbscasecmp): Renamed from strcasecmp.
66427         * lib/strcasecmp.c: Don't include mbuiter.h.
66428         (strcasecmp): Remove support for multibyte locales.
66429         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
66430         Change the conditional link warning.
66431         (mbscasecmp): New declaration.
66432         * m4/mbscasecmp.m4: New file.
66433         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
66434         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
66435         REPLACE_STRCASECMP.
66436         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
66437         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66438         GNULIB_MBSCASECMP.
66439         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
66440         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
66441         * modules/strcase (Files): Remove m4/mbrtowc.m4.
66442         (Depends-on): Remove mbuiter.
66443         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
66444
66445 2007-02-04  Bruno Haible  <bruno@clisp.org>
66446
66447         New module mbsstr. Remove module strstr.
66448         * modules/mbsstr: New file.
66449         * modules/strstr: Remove file.
66450         * lib/mbsstr.c: Renamed from lib/strstr.c.
66451         (mbsstr): Renamed from strstr.
66452         * lib/string_.h (strstr): Remove declaration. Change the conditional
66453         link warning.
66454         (mbsstr): New declaration.
66455         * m4/mbsstr.m4: New file.
66456         * m4/strstr.m4: Remove file.
66457         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
66458         REPLACE_STRSTR.
66459         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
66460         Don't initialize GNULIB_STRSTR.
66461         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
66462         substitute GNULIB_STRSTR and REPLACE_STRSTR.
66463         * MODULES.html.sh (Internationalization functions): Add mbsstr.
66464         (Support for systems lacking ANSI C 89): Remove strstr.
66465
66466 2007-02-04  Bruno Haible  <bruno@clisp.org>
66467
66468         New module mbsrchr.
66469         * modules/mbsrchr: New file.
66470         * lib/mbsrchr.c: New file.
66471         * lib/string_.h (strrchr): Add a conditional link warning.
66472         (mbsrchr): New declaration.
66473         * m4/mbsrchr.m4: New file.
66474         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66475         GNULIB_MBSRCHR.
66476         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
66477         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
66478
66479 2007-02-04  Bruno Haible  <bruno@clisp.org>
66480
66481         New module mbschr.
66482         * modules/mbschr: New file.
66483         * lib/mbschr.c: New file.
66484         * lib/string_.h (strchr): Add a conditional link warning.
66485         (mbschr): New declaration.
66486         * m4/mbschr.m4: New file.
66487         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66488         GNULIB_MBSCHR.
66489         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
66490         * MODULES.html.sh (Internationalization functions): Add mbschr.
66491
66492 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
66493
66494         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
66495
66496         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
66497
66498 2007-02-04  Bruno Haible  <bruno@clisp.org>
66499
66500         New module description section 'configure.ac-early'.
66501         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
66502         (func_get_autoconf_early_snippet): New function.
66503         (func_import, func_create_testdir): Use it. Remove special cases for
66504         modules 'extensions' and 'lock'.
66505         * modules/extensions (configure.ac-early): Require
66506         gl_USE_SYSTEM_EXTENSIONS.
66507         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
66508
66509 2007-02-04  Bruno Haible  <bruno@clisp.org>
66510
66511         Make use of gcj-4.3's -fsource and -ftarget option.
66512         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
66513         and if so try the options -fsource and -ftarget.
66514         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
66515         source_version, ftarget_option, target_version arguments.
66516         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
66517         (is_envjavac_oldgcj_14_14_usable): Renamed from
66518         is_envjavac_gcj_14_14_usable.
66519         (is_envjavac_oldgcj_14_13_usable): Renamed from
66520         is_envjavac_gcj_14_13_usable.
66521         (is_gcj_present): Update.
66522         (is_gcj_43, is_gcj43_usable): New functions.
66523         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
66524         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
66525         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
66526         try the options -fsource and -ftarget.
66527
66528 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66529
66530         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
66531         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
66532         larger value.
66533
66534 2007-02-03  Jim Meyering  <jim@meyering.net>
66535
66536         Give tools a better chance to allocate space for very large buffers.
66537         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
66538
66539         Make pwd and readlink work also when run with an unreadable parent dir
66540         on systems with openat support.
66541         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
66542         provided getcwd function, even when we have openat support.
66543         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
66544
66545 2007-02-02  Bruno Haible  <bruno@clisp.org>
66546
66547         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
66548         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
66549         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
66550         portability problems if one of these functions is only used on specific
66551         platforms.
66552         Reported by Paul Eggert.
66553
66554 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
66555
66556         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
66557         is causing more trouble than it's curing.
66558         * lib/regex_internal.h (__mempcpy): Remove.
66559         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
66560         (and make the code a tad smaller to boot).
66561         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
66562
66563 2007-02-02  Jim Meyering  <jim@meyering.net>
66564
66565         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
66566         section, not in the Makefile.am: one.
66567
66568 2007-02-02  Eric Blake  <ebb9@byu.net>
66569
66570         * lib/strchrnul.c: Always include config.h first.
66571
66572         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
66573         gnulib strstr is not necessary here.
66574
66575 2007-02-02  Simon Josefsson  <simon@josefsson.org>
66576
66577         * m4/socklen.m4: Fix typo.
66578
66579 2007-02-02  Eric Blake  <ebb9@byu.net>
66580
66581         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
66582         * modules/netinet_in (Makefile.am): Likewise.
66583
66584 2007-02-01  Bruno Haible  <bruno@clisp.org>
66585
66586         * lib/string_.h (GL_LINK_WARNING): New macro.
66587         (strcasecmp, strstr, strcasestr): If provided by the system,
66588         conditionally define as a macro that leads to a warning instead of to
66589         an error.
66590         (strncasecmp): Conditionally define as a macro that leads to a warning.
66591
66592 2007-02-01  Karl Berry  <karl@gnu.org>
66593
66594         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
66595
66596 2007-02-01  Bruno Haible  <bruno@clisp.org>
66597
66598         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
66599         renamings.
66600
66601 2007-02-01  Eric Blake  <ebb9@byu.net>
66602
66603         * modules/regex (Depends-on): Revert dependence on mempcpy.
66604         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
66605         module's definition of mempcpy.
66606         Reported by Paul Eggert.
66607
66608 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
66609
66610         * lib/string_.h: If the gnulib module XYZ is not present, undefine
66611         the symbol XYZ before redefining it.  This fixes a problem with
66612         programs that don't use XYZ, when compiled on systems that define
66613         XYZ to something else.
66614
66615 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
66616
66617         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
66618         occurs when "mkdir -m foo" creates a setgid directory that is (1)
66619         writeable to group or other and (2) is intended to have a special
66620         mode bit that is set or cleared.  In such a case, the directory
66621         should be neither group- nor other-writeable until the special
66622         mode bits are right.
66623
66624 2007-01-31  Eric Blake  <ebb9@byu.net>
66625
66626         * modules/mountlist (Depends-on): Add strstr.
66627
66628         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
66629         bug.
66630         * modules/string (Makefile.am): Remove redundant replacement.
66631         * modules/regex (Depends-on): Add mempcpy.
66632
66633 2007-01-31  Bruno Haible  <bruno@clisp.org>
66634
66635         New module description field 'Link'.
66636         * gnulib-tool (func_usage): Document --extract-link-directive.
66637         (sed_extract_prog): Recognize 'Link' directive.
66638         (func_get_link_directive): New function.
66639         (func_import): Show summary of link directives.
66640         Handle --extract-link-directive option.
66641         * modules/acl (Link): New section.
66642         * modules/clock-time (Link): New section.
66643         * modules/euidaccess (Link): New section.
66644         * modules/gettext (Link): New section.
66645         * modules/iconv (Link): New section.
66646         * modules/lock (Link): New section.
66647         * modules/nanosleep (Link): New section.
66648         * modules/readline (Link): New section.
66649
66650 2007-01-27  Bruno Haible  <bruno@clisp.org>
66651
66652         Enforce the use of gnulib modules for unportable <string.h> functions.
66653         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
66654         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
66655         (gl_HEADER_STRING_H_BODY): Require it.
66656         * lib/string_.h: If the gnulib module XYZ is not present, redefine
66657         the symbol XYZ to one that gives a link error.
66658         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
66659         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
66660         * modules/mempcpy (configure.ac): Likewise.
66661         * modules/memrchr (configure.ac): Likewise.
66662         * modules/stpcpy (configure.ac): Likewise.
66663         * modules/stpncpy (configure.ac): Likewise.
66664         * modules/strcase (configure.ac): Likewise.
66665         * modules/strcasestr (configure.ac): Likewise.
66666         * modules/strchrnul (configure.ac): Likewise.
66667         * modules/strdup (configure.ac): Likewise.
66668         * modules/strndup (configure.ac): Likewise.
66669         * modules/strnlen (configure.ac): Likewise.
66670         * modules/strpbrk (configure.ac): Likewise.
66671         * modules/strsep (configure.ac): Likewise.
66672         * modules/strstr (configure.ac): Likewise.
66673         * modules/strtok_r (configure.ac): Likewise.
66674
66675 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
66676
66677         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
66678
66679 2007-01-30  Jim Meyering  <jim@meyering.net>
66680
66681         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
66682
66683 2007-01-29  Bruno Haible  <bruno@clisp.org>
66684
66685         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
66686         * lib/execute.c: Likewise.
66687         * lib/pipe.c: Likewise.
66688         * lib/printf-args.h: Likewise.
66689         * lib/printf-args.c: Likewise.
66690         * lib/printf-parse.c: Likewise.
66691         * lib/vasnprintf.c: Likewise.
66692
66693 2007-01-29  Eric Blake  <ebb9@byu.net>
66694
66695         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
66696         declaration.
66697
66698 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
66699
66700         * lib/strptime.h (strptime): Use 'restrict' for args where
66701         POSIX requires this.
66702         * lib/strptime.c (strptime): Likewise.
66703         Change license notice from LGPL to GPL, since gnulib-tool will
66704         change this as needed.
66705         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
66706         defined.
66707         Include "strptime.h" first, to check interface.
66708         Do not #undef _LIBC and _NL_CURRENT.
66709         Do not include <stdlib.h>; no longer needed.
66710         Include "time_r.h" and declare ptime_locale_status
66711         only if _LIBC is not defined.
66712         (__P): Remove unused macro.
66713         (match_string): Bring back glibc version, but use it only if _LIBC
66714         is defined.
66715         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
66716         Remove unnecessary assertion and abort() call.
66717         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
66718         * m4/strptime.m4: Fix serial number comment.
66719         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
66720         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
66721         (Depends-on): Add time_r.
66722
66723 2007-01-29  Bruno Haible  <bruno@clisp.org>
66724
66725         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66726         strptime.
66727         * modules/strptime (Depends-on): Add stdbool.
66728         * lib/strptime.h: Include <time.h> always. Add comments.
66729
66730 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66731
66732         * modules/strptime: New file.
66733         * lib/strptime.h: New file.
66734         * lib/strptime.c: New file.
66735         * m4/strptime.m4: New file.
66736
66737 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66738
66739         * MODULES.html.sh: New module mpsort.
66740         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
66741
66742         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
66743         a circularity problem with HP-UX ia64 reported by Bob Proulx in
66744         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
66745         All uses changed.
66746         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
66747         All uses changed.
66748         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
66749         to _Restrict_.
66750         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
66751         the parameter matches the prototype.
66752
66753 2007-01-28  Jim Meyering  <jim@meyering.net>
66754
66755         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
66756         sys/time.h here, reverting that part of the previous patch:
66757         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
66758
66759 2007-01-28  Bruno Haible  <bruno@clisp.org>
66760
66761         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
66762         value of $(SYS_TIME_H).
66763         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
66764         remove it conditionally, too. [added by Jim Meyering]
66765         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
66766         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
66767         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
66768         GETTIMEOFDAY_REPLACEMENT to 1.
66769
66770 2007-01-28  Bruno Haible  <bruno@clisp.org>
66771
66772         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
66773         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
66774         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
66775         Set UNISTD_H instead of UNISTD_H2.
66776         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
66777
66778 2007-01-28  Bruno Haible  <bruno@clisp.org>
66779
66780         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
66781         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
66782
66783 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66784
66785         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
66786         (func_create_testdir): Ensure C locale for `grep' and `tr'
66787         character ranges.
66788         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
66789         ACLOCAL_AMFLAGS parsing state machine.
66790
66791 2007-01-27  Bruno Haible  <bruno@clisp.org>
66792
66793         * modules/unistr/base: Update.
66794
66795 2007-01-27  Bruno Haible  <bruno@clisp.org>
66796
66797         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
66798         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
66799         * modules/unistr/u32-mbtouc-unsafe: Renamed from
66800         modules/unistr/u32-mbtouc.
66801         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
66802         * lib/unistr.h: Update.
66803         * lib/linebreak.c: Update.
66804         * modules/unistr/u32-mbtouc: Renamed from
66805         modules/unistr/u32-mbtouc-safe.
66806         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
66807         * lib/unistr.h: Update.
66808         * lib/unistr/u32-to-u8.c: Update.
66809         * lib/unistr/u32-to-u16.c: Update.
66810
66811 2007-01-27  Bruno Haible  <bruno@clisp.org>
66812
66813         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
66814         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
66815         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
66816         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
66817         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
66818         * modules/unistr/u16-mbtouc-unsafe: Renamed from
66819         modules/unistr/u16-mbtouc.
66820         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
66821         * lib/unistr.h: Update.
66822         * lib/linebreak.c: Update.
66823         * modules/linebreak: Update.
66824         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
66825         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
66826         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
66827         * modules/unistr/u16-mbtouc: Renamed from
66828         modules/unistr/u16-mbtouc-safe.
66829         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
66830         * lib/unistr.h: Update.
66831         * lib/unistr/u16-to-u8.c: Update.
66832         * modules/unistr/u16-to-u8: Update.
66833         * lib/unistr/u16-to-u32.c: Update.
66834         * modules/unistr/u16-to-u32: Update.
66835
66836 2007-01-27  Bruno Haible  <bruno@clisp.org>
66837
66838         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
66839         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
66840         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
66841         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
66842         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
66843         * modules/unistr/u8-mbtouc-unsafe: Renamed from
66844         modules/unistr/u8-mbtouc.
66845         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
66846         * lib/unistr.h: Update.
66847         * lib/striconveh.c: Update.
66848         * modules/striconveh: Update.
66849         * lib/linebreak.c: Update.
66850         * modules/linebreak: Update.
66851         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
66852         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
66853         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
66854         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
66855         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
66856         * lib/unistr.h: Update.
66857         * lib/striconveh.c: Update.
66858         * modules/striconveh: Update.
66859         * lib/unistr/u8-to-u16.c: Update.
66860         * modules/unistr/u8-to-u16: Update.
66861         * lib/unistr/u8-to-u32.c: Update.
66862         * modules/unistr/u8-to-u32: Update.
66863
66864 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66865
66866         Sync from Libtool.
66867         * lib/argz.c: Do not include strings.h nor memory.h, include
66868         string.h unconditionally.  Patch by Simon Josefsson.
66869
66870 2007-01-27  Bruno Haible  <bruno@clisp.org>
66871
66872         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
66873         from gl_HEADER_STRING_H_BODY.
66874         (gl_HEADER_STRING_H_BODY): Require it.
66875         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
66876         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66877         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66878         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66879         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66880         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
66881         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66882         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66883         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
66884         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66885         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66886         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
66887         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66888         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
66889         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66890
66891 2007-01-27  Bruno Haible  <bruno@clisp.org>
66892
66893         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
66894         check_PROGRAMS into noinst_PROGRAMS.
66895         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
66896         check_PROGRAMS in this case.
66897         (func_import): Set for_test to false.
66898         (func_create_testdir): Set for_test to true.
66899
66900 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
66901             Bruno Haible  <bruno@clisp.org>
66902
66903         * modules/strcasestr (Files): Remove lib/strcasestr.h.
66904         (Depends-on): Add string.
66905         (Includes): Use <string.h> instead of strcasestr.h.
66906         * modules/string (Makefile.am): Also substitute the value of
66907         REPLACE_STRCASESTR.
66908         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
66909         assume strcasestr is declared in <string.h> not <strings.h>. Also
66910         set REPLACE_STRCASESTR.
66911         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
66912         REPLACE_STRCASESTR.
66913         * lib/strcasestr.h: Remove file.
66914         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
66915         * lib/string_.h (strcasestr): New declaration.
66916
66917 2007-01-27  Bruno Haible  <bruno@clisp.org>
66918
66919         * lib/string_.h: Use 'extern'.
66920
66921 2007-01-27  Jim Meyering  <jim@meyering.net>
66922
66923         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
66924         of set-but-not-used local, "q".
66925
66926         * lib/mempcpy.c: Include <config.h> before <string.h>.
66927         This fixes a compilation error on HP-UX, due to the system's
66928         "restrict"-using mempcpy prototype.
66929
66930 2007-01-26  Bruno Haible  <bruno@clisp.org>
66931
66932         Small optimization.
66933         * lib/javacomp.c: Include c-strstr.h.
66934          (is_envjavac_gcj): Use c_strstr instead of strstr.
66935         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
66936
66937 2007-01-26  Bruno Haible  <bruno@clisp.org>
66938
66939         * MODULES.html.sh (Unicode string functions): Add the new modules.
66940
66941         * modules/uniconv/u32-strconv-to-locale: New file.
66942         * lib/uniconv/u32-strconv-to-locale.c: New file.
66943
66944         * modules/uniconv/u16-strconv-to-locale: New file.
66945         * lib/uniconv/u16-strconv-to-locale.c: New file.
66946
66947         * modules/uniconv/u8-strconv-to-locale: New file.
66948         * lib/uniconv/u8-strconv-to-locale.c: New file.
66949
66950         * modules/uniconv/u32-strconv-from-locale: New file.
66951         * lib/uniconv/u32-strconv-from-locale.c: New file.
66952
66953         * modules/uniconv/u16-strconv-from-locale: New file.
66954         * lib/uniconv/u16-strconv-from-locale.c: New file.
66955
66956         * modules/uniconv/u8-strconv-from-locale: New file.
66957         * lib/uniconv/u8-strconv-from-locale.c: New file.
66958
66959         * modules/uniconv/u32-strconv-to-enc: New file.
66960         * lib/uniconv/u32-strconv-to-enc.c: New file.
66961         * modules/uniconv/u32-strconv-to-enc-tests: New file.
66962         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
66963
66964         * modules/uniconv/u16-strconv-to-enc: New file.
66965         * lib/uniconv/u16-strconv-to-enc.c: New file.
66966         * lib/uniconv/u-strconv-to-enc.h: New file.
66967         * modules/uniconv/u16-strconv-to-enc-tests: New file.
66968         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
66969
66970         * modules/uniconv/u8-strconv-to-enc: New file.
66971         * lib/uniconv/u8-strconv-to-enc.c: New file.
66972         * modules/uniconv/u8-strconv-to-enc-tests: New file.
66973         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
66974
66975         * modules/uniconv/u32-strconv-from-enc: New file.
66976         * lib/uniconv/u32-strconv-from-enc.c: New file.
66977         * modules/uniconv/u32-strconv-from-enc-tests: New file.
66978         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
66979
66980         * modules/uniconv/u16-strconv-from-enc: New file.
66981         * lib/uniconv/u16-strconv-from-enc.c: New file.
66982         * modules/uniconv/u16-strconv-from-enc-tests: New file.
66983         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
66984
66985         * modules/uniconv/u8-strconv-from-enc: New file.
66986         * lib/uniconv/u8-strconv-from-enc.c: New file.
66987         * lib/uniconv/u-strconv-from-enc.h: New file.
66988         * modules/uniconv/u8-strconv-from-enc-tests: New file.
66989         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
66990
66991         * modules/uniconv/u32-conv-from-enc: New file.
66992         * lib/uniconv/u32-conv-from-enc.c: New file.
66993         * modules/uniconv/u32-conv-from-enc-tests: New file.
66994         * tests/uniconv/test-u32-conv-from-enc.c: New file.
66995
66996         * modules/uniconv/u16-conv-from-enc: New file.
66997         * lib/uniconv/u16-conv-from-enc.c: New file.
66998         * lib/uniconv/u-conv-from-enc.h: New file.
66999         * modules/uniconv/u16-conv-from-enc-tests: New file.
67000         * tests/uniconv/test-u16-conv-from-enc.c: New file.
67001
67002         * modules/uniconv/u8-conv-from-enc: New file.
67003         * lib/uniconv/u8-conv-from-enc.c: New file.
67004         * modules/uniconv/u8-conv-from-enc-tests: New file.
67005         * tests/uniconv/test-u8-conv-from-enc.c: New file.
67006
67007         * modules/uniconv/base: New file.
67008         * lib/uniconv.h: New file.
67009
67010 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
67011
67012         * doc/gnulib-tool.texi (Initial import): Update to match current
67013         behavior with strdup module.
67014         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
67015         * lib/memmem.h: Remove; all uses removed.  This is now done
67016         by <string.h>.
67017         * lib/mempcpy.h: Likewise.
67018         * lib/memrchr.h: Likewise.
67019         * lib/stpcpy.h: Likewise.
67020         * lib/stpncpy.h: Likewise.
67021         * lib/strcase.h: Likewise.
67022         * lib/strchrnul.h: Likewise.
67023         * lib/strdup.h: Likewise.
67024         * lib/strndup.h: Likewise.
67025         * lib/strnlen.h: Likewise.
67026         * lib/strpbrk.h: Likewise.
67027         * lib/strsep.h: Likewise.
67028         * lib/strstr.h: Likewise.
67029         * lib/strtok_r.h: Likewise.
67030         * lib/string_.h: New file.
67031         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
67032         Rely on <string.h> instead.
67033         * lib/canon-host.c: Likewise.
67034         * lib/chdir-long.c: Likewise.
67035         * lib/concatpath.c: Likewise.
67036         * lib/exclude.c: Likewise.
67037         * lib/fchdir.c: Likewise.
67038         * lib/getaddrinfo.c: Likewise.
67039         * lib/getcwd.c: Likewise.
67040         * lib/getsubopt.c: Likewise.
67041         * lib/glob.c: Likewise.
67042         * lib/hard-locale.c: Likewise.
67043         * lib/iconvme.c: Likewise.
67044         * lib/javacomp.c: Likewise.
67045         * lib/mempcpy.c: Likewise.
67046         * lib/memrchr.c: Likewise.
67047         * lib/regex_internal.h: Likewise.
67048         * lib/stpncpy.c: Likewise.
67049         * lib/strcasecmp.c: Likewise.
67050         * lib/strchrnul.c: Likewise.
67051         * lib/strdup.c: Likewise.
67052         * lib/striconv.c: Likewise.
67053         * lib/striconveh.c: Likewise.
67054         * lib/striconveha.c: Likewise.
67055         * lib/strncasecmp.c: Likewise.
67056         * lib/strndup.c: Likewise.
67057         * lib/strnlen.c: Likewise.
67058         * lib/strsep.c: Likewise.
67059         * lib/strstr.c: Likewise.
67060         * lib/strtok_r.c: Likewise.
67061         * lib/userspec.c: Likewise.
67062         * lib/w32spawn.h: Likewise.
67063         * lib/xstrndup.c: Likewise.
67064         * lib/mountlist.c (strstr): Remove decl.
67065         * m4/string_h.m4: New file.
67066         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
67067         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
67068         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
67069         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
67070         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
67071         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
67072         Set REPLACE_STRCASECMP if necessary.
67073         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
67074         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
67075         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
67076         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
67077         HAVE_DECL_STRDUP if necessary.
67078         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
67079         since gl_FUNC_STRNDUP does that now.
67080         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
67081         Check for decl here...
67082         (gl_PREREQ_STRNLEN): ... not here.
67083         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
67084         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
67085         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
67086         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
67087         necessary.
67088         * modules/string: New file.
67089         * modules/memmem (Files): Remove special-purpose include file.
67090         (Depends-on): Add string.
67091         (Include): Include <string.h>, not the removed file.
67092         * modules/mempcpy: Likewise.
67093         * modules/memrchr: Likewise.
67094         * modules/stpcpy: Likewise.
67095         * modules/stpncpy: Likewise.
67096         * modules/strcase: Likewise.
67097         * modules/strchrnul: Likewise.
67098         * modules/strdup: Likewise.
67099         * modules/strndup: Likewise.
67100         * modules/strnlen: Likewise.
67101         * modules/strpbrk: Likewise.
67102         * modules/strsep: Likewise.
67103         * modules/strstr: Likewise.
67104         * modules/strtok_r: Likewise.
67105         * tests/test-dirname.c: Don't include "strdup.h", since
67106         <string.h> now suffices.
67107         * tests/test-memmem.c: Don't include "memmem.h", since
67108         <string.h> now suffices.
67109
67110 2007-01-25  Bruno Haible  <bruno@clisp.org>
67111
67112         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
67113         *resultp is 0.
67114
67115         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
67116         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
67117         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
67118         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
67119
67120         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
67121         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
67122         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
67123         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
67124         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
67125         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
67126
67127 2007-01-24  Bruno Haible  <bruno@clisp.org>
67128
67129         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
67130         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
67131         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
67132         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
67133         gl_FUNC_FTS_CORE.
67134         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
67135         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
67136         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67137         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
67138         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
67139         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
67140         gl_FUNC_FCHOWNAT.
67141         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
67142         gl_FUNC_STRFTIME.
67143         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
67144         Reported by Ralf Wildenhues.
67145
67146 2007-01-24  Bruno Haible  <bruno@clisp.org>
67147
67148         Drop AC_REQUIRE calls that are redundant with the module dependencies.
67149         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
67150         gl_GETADDRINFO.
67151         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
67152         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
67153         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
67154
67155 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
67156
67157         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
67158         Don't use 'exit'; just return from 'main'.
67159         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
67160
67161         * lib/fnmatch_.h: Readjust white space and comments to match
67162         glibc, to avoid spurious diffs.
67163
67164 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67165
67166         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
67167         2004-12-01 change by Jakub Jelinek, since this code won't compile
67168         if !LIBC.  Problem reported by Bob Proulx.
67169
67170 2007-01-23  Bruno Haible  <bruno@clisp.org>
67171
67172         * lib/striconveh.c: Include c-strcaseeq.h.
67173         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
67174         * modules/striconveh (Depends-on): Add c-strcaseeq.
67175
67176 2007-01-23  Bruno Haible  <bruno@clisp.org>
67177
67178         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
67179
67180         * modules/c-strcaseeq: New file.
67181         * lib/c-strcaseeq.h: New file.
67182
67183         * modules/streq: New file.
67184         * lib/streq.h: New file.
67185
67186 2007-01-23  Bruno Haible  <bruno@clisp.org>
67187
67188         * modules/striconveha-tests: New file.
67189         * tests/test-striconveha.c: New file.
67190
67191         * lib/striconveha.h: Include <stdbool.h>.
67192         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
67193         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
67194         (mem_iconveha_notranslit): Renamed from mem_iconveha.
67195         (mem_iconveha): New function.
67196         (str_iconveha_notranslit): Renamed from str_iconveha.
67197         (str_iconveha): New function.
67198         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
67199         c-strcase.
67200
67201 2007-01-23  Bruno Haible  <bruno@clisp.org>
67202
67203         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
67204         encodings without forgiving before trying any encoding with handler.
67205         (str_iconveha): Try all encodings without forgiving before trying any
67206         encoding with handler.
67207
67208 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67209
67210         Import the following changes from libc.
67211
67212         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
67213
67214         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
67215
67216         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
67217
67218         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
67219         normal_bracket label.
67220
67221         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
67222
67223         [BZ #361]
67224         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
67225         to normal_bracket after fetching the next character.
67226
67227 2007-01-22  Bruno Haible  <bruno@clisp.org>
67228
67229         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
67230         argument.
67231         * lib/striconveh.c (iconv_carefully_1): New function.
67232         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
67233         argument.
67234         (str_cd_iconveh): Update.
67235         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
67236         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
67237         * tests/test-striconveh.c (MAGIC): New macro.
67238         (new_offsets): New function.
67239         (main): Test call with and without offsets.
67240
67241 2007-01-22  Bruno Haible  <bruno@clisp.org>
67242
67243         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
67244         * modules/sys_select (Makefile.am): Likewise.
67245         * modules/sys_socket (Makefile.am): Likewise.
67246         * modules/sys_time (Makefile.am): Likewise.
67247
67248 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
67249
67250         * modules/gettimeofday (License): Change from GPL to LGPL, since
67251         gettimeofday is a library function.
67252
67253 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67254
67255         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
67256
67257 2007-01-21  Bruno Haible  <bruno@clisp.org>
67258
67259         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
67260
67261 2007-01-21  Bruno Haible  <bruno@clisp.org>
67262
67263         * modules/striconveha: New file.
67264         * lib/striconveha.h: New file.
67265         * lib/striconveha.c: New file.
67266         * MODULES.html.sh (Internationalization functions): Add striconveha.
67267         * lib/striconv.c (str_iconv): Optimize the case of an empty input
67268         string.
67269         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
67270
67271 2007-01-21  Bruno Haible  <bruno@clisp.org>
67272
67273         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
67274         * lib/striconveh.c (str_iconveh): Likewise.
67275
67276 2007-01-21  Bruno Haible  <bruno@clisp.org>
67277
67278         * lib/striconveh.h (mem_iconveh): New declaration.
67279         * lib/striconveh.c (mem_iconveh): New function.
67280         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
67281
67282 2007-01-21  Bruno Haible  <bruno@clisp.org>
67283
67284         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
67285
67286         * lib/striconveh.h (mem_cd_iconveh): Change specification.
67287         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
67288         original result buffer.
67289         (str_cd_iconveh): Update.
67290         * tests/test-striconveh.c (main): Update.
67291
67292         * lib/striconv.h (mem_cd_iconv): Change specification.
67293         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
67294         result buffer.
67295         (str_cd_iconv): Update.
67296         * tests/test-striconv.c (main): Update.
67297
67298 2007-01-21  Bruno Haible  <bruno@clisp.org>
67299
67300         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
67301
67302 2007-01-20  Jim Meyering  <jim@meyering.net>
67303
67304         * lib/userspec.c (parse_with_separator): If a user or group string
67305         starts with "+", skip the corresponding name-to-ID look-up, since
67306         such a look-up must fail: user and group names may not include "+".
67307
67308 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
67309
67310         * lib/poll.c: Include sys/time.h and time.h unconditionally,
67311         since we now assume the sys_time module.
67312         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
67313         check for sys/time.h; no longer needed.
67314         * modules/poll (Depends-on): Depend on sys_time.
67315
67316 2007-01-18  Bruno Haible  <bruno@clisp.org>
67317
67318         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
67319         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
67320
67321         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
67322         gettimeofday.
67323
67324         * tests/test-gettimeofday.c: Include <time.h>.
67325         (dummy): Remove variable.
67326
67327         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
67328         gl_HEADER_SYS_TIME_H.
67329         (gl_HEADER_SYS_TIME_H): New macro.
67330
67331         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
67332         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67333         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
67334         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
67335         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67336         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
67337         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
67338         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67339         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
67340         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
67341         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67342
67343         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
67344         last change; it caused a compilation error when cross-compiling to
67345         Cygwin.
67346
67347 2007-01-18  Jim Meyering  <jim@meyering.net>
67348
67349         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
67350         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
67351         than the race-prone "test -d sys || mkdir sys".
67352         (configure.ac): Use AC_PROG_MKDIR_P.
67353         * modules/sys_select: Likewise.
67354         * modules/sys_socket: Likewise.
67355         * modules/sys_time: Likewise.
67356
67357 2007-01-18  Eric Blake  <ebb9@byu.net>
67358
67359         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
67360         replace gettimeofday.
67361         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
67362         name, to avoid infinite recursion.
67363
67364 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
67365
67366         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
67367         module sys_time.
67368         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
67369         assume timespec.h defines struct timeval.
67370         * lib/settime.c: Likewise.
67371         * lib/utimens.c: Likewise.
67372         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
67373         since we now assume the gettimeofday module.
67374         * lib/tempname.c (__gen_tempname): Likewise.
67375         * lib/gettimeofday.h: Remove.
67376         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
67377         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
67378         Include <time.h>, for 'time()'.
67379         (localtime_buffer_addr): Also use this workaround if
67380         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
67381         to simplify the uses.  All uses changed.
67382         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
67383         that #undef is inside {}, and 'const' follows type name consistently.
67384         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
67385         (gettimeofday): Do not use the maximum possible value for
67386         tv->tv_usec, since that might break usages other than ls.c.
67387         Instead, we'll leave ls.c alone.  This undoes today's patch
67388         by Bruno.  Add a compile-time warning for 1s-clock resolution;
67389         we've never observed the problem but might as well keep the
67390         canary.
67391         * lib/nanosleep.c: Include timespec.h first, for interface check.
67392         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
67393         now assume the sys_time module.
67394         * lib/tempname.c: Likewise.
67395         * lib/timespec.h: Likewise.
67396         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
67397         needed.
67398         * lib/strftime.c: Likewise.
67399         * lib/timespec.h: Likewise.
67400         * lib/posixtm.c: Include posixtm.h first, for interface check.
67401         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
67402         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
67403         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
67404         * lib/sys_time_.h: New file.
67405         * lib/timespec.h (struct timespec): Use long int, not long.
67406         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
67407         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
67408         Remove obsolescent call to AC_HEADER_TIME.
67409         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
67410         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
67411         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
67412         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
67413         Likewise.
67414         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
67415         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
67416         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
67417         into the sys_time module.  Check for gettimeofday just once.
67418         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
67419         for gettimeofday signature to just check the signature.  Merely
67420         compile it, since linking doesn't test signature.  Improve test for
67421         whether gettimeofday.o is actually needed.
67422         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
67423         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
67424         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
67425         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67426         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
67427         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
67428         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
67429         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
67430         than worrying about sys/time.h.
67431         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
67432         Don't bother worrying about TIME_WITH_SYS_TIME.
67433         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
67434         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
67435         * m4/sys_time_h.m4: New file.
67436         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
67437         Don't include sys/time.h.  Return from main rather than exiting.
67438         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
67439         all uses changed.
67440         * modules/gethrxtime (Depends-on): Add sys_time.
67441         * modules/gettime (Depends-on): Likewise.
67442         * modules/gettimeofday (Depends-on): Likewise.
67443         * modules/nanosleep (Depends-on): Likewise.
67444         * modules/settime (Depends-on): Likewise.
67445         * modules/tempname (Depends-on): Likewise.
67446         * modules/utimens (Depends-on): Likewise.
67447         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
67448         (Include): Change back to <sys/time.h>.
67449         (Maintainer): Add self.
67450         * modules/sys_time: New file.
67451         * modules/tempname (Depends-on): Add gettimeofday.
67452         * tests/test-gettimeofday.c: Include <sys/time.h>
67453         rather than gettimeofday.h.
67454
67455 2007-01-17  Bruno Haible  <bruno@clisp.org>
67456
67457         * gnulib-tool (func_get_license): Revert last patch. Instead, let
67458         the license default to GPL.
67459         (func_create_testdir): Don't complain if a module is LGPL and its
67460         tests module depends on GPLed modules.
67461
67462 2007-01-17  Bruno Haible  <bruno@clisp.org>
67463
67464         * lib/gettimeofday.c (gettimeofday): Add code for the case
67465         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
67466         maximum possible value for tv->tv_usec, rather than the minimum one.
67467
67468 2005-10-08  Martin Lambers  <marlam@marlam.de>
67469 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
67470 2007-01-16  Bruno Haible  <bruno@clisp.org>
67471
67472         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
67473         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
67474         gl_FUNC_GETTIMEOFDAY.
67475         (Include): Add gettimeofday.h.
67476         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
67477         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
67478         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
67479         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
67480         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
67481         * lib/gettimeofday.h: New file.
67482         * lib/gettimeofday.c: Include <sys/timeb.h>.
67483         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
67484         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67485         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
67486         fall back on time().
67487
67488         * tests/test-gettimeofday.c: New file.
67489         * modules/gettimeofday-tests: New file.
67490
67491 2007-01-16  Eric Blake  <ebb9@byu.net>
67492
67493         * modules/fnmatch (Depends-on): Depend on wchar.
67494         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
67495         * m4/fnmatch.m4: Likewise.
67496         * modules/mbchar (Makefile.am): Assume <wchar.h>.
67497         * m4/mbchar.m4: Likewise.
67498         * modules/mbswidth (Depends-on): Depend on wchar.
67499         * lib/mbswidth.c: Assume <wchar.h>.
67500         * m4/mbswidth.m4: Likewise.
67501         * modules/quotearg (Depends-on): Depend on wchar.
67502         * lib/quotearg.c: Assume <wchar.h>.
67503         * m4/quotearg.m4: Likewise.
67504         * modules/regex (Depends-on): Depend on wchar.
67505         * lib/regex_internal.h: Assume <wchar.h>.
67506         * m4/regex.m4: Likewise.
67507         * modules/stdint (Depends-on): Depend on wchar.
67508         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
67509         * m4/stdint.m4: Likewise.
67510         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
67511         * modules/strftime (Depends-on): Depend on wchar.
67512         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
67513         * modules/strtol (Depends-on): Depend on wchar.
67514         * lib/strtol.c: Assume <wchar.h>.
67515         * modules/wcwidth (Depends-on): Depend on wchar.
67516         * lib/wcwidth.h: Assume <wchar.h>.
67517         * m4/wcwidth.m4: Likewise.
67518
67519 2007-01-16  Bruno Haible  <bruno@clisp.org>
67520
67521         * modules/csharpexec-script: New, created from...
67522         * modules/csharpexec: ... this.
67523
67524 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
67525
67526         * modules/javaexec-script: New, created from...
67527         * modules/javaexec: ... this.
67528
67529 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67530
67531         * modules/poll (Dependencies): Add sys_select.
67532
67533 2007-01-15  Jim Meyering  <jim@meyering.net>
67534
67535         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
67536         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
67537         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
67538         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
67539
67540 2007-01-15  Bruno Haible  <bruno@clisp.org>
67541
67542         * modules/striconveh: New file.
67543         * lib/striconveh.h: New file.
67544         * lib/striconveh.c: New file.
67545         * MODULES.html.sh (Internationalization functions): Add striconveh.
67546
67547         * modules/striconveh-tests: New file.
67548         * tests/test-striconveh.c: New file.
67549
67550 2007-01-15  Bruno Haible  <bruno@clisp.org>
67551
67552         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
67553         not from GNU libiconv or GNU libc.
67554
67555 2007-01-15  Bruno Haible  <bruno@clisp.org>
67556
67557         * doc/gnulib-intro.texi (Copyright): Explain the different license
67558         terms for module descriptions, autoconf macros, tests, documentation.
67559
67560 2007-01-14  Bruno Haible  <bruno@clisp.org>
67561
67562         * modules/striconv-tests: New file.
67563         * tests/test-striconv.c: New file.
67564
67565 2007-01-14  Bruno Haible  <bruno@clisp.org>
67566
67567         * modules/iconv-tests: New file.
67568         * tests/test-iconv.c: New file.
67569
67570 2007-01-14  Bruno Haible  <bruno@clisp.org>
67571
67572         * gnulib-tool (func_get_license): For test modules, use the license of
67573         the main module.
67574
67575 2007-01-14  Bruno Haible  <bruno@clisp.org>
67576
67577         * modules/iconv (Include): Clarify that <iconv.h> can only be included
67578         if iconv is found to exist.
67579
67580 2007-01-14  Bruno Haible  <bruno@clisp.org>
67581
67582         * modules/c-ctype-tests: New file.
67583         * tests/test-c-ctype.c: New file.
67584
67585 2007-01-14  Bruno Haible  <bruno@clisp.org>
67586
67587         * modules/binary-io-tests: New file.
67588         * tests/test-binary-io.sh: New file.
67589         * tests/test-binary-io.c: New file.
67590
67591 2007-01-14  Bruno Haible  <bruno@clisp.org>
67592
67593         * modules/array-oset-tests: New file.
67594         * tests/test-array_oset.c: New file.
67595
67596 2007-01-14  Bruno Haible  <bruno@clisp.org>
67597
67598         * modules/array-list-tests: New file.
67599         * tests/test-array_list.c: New file.
67600
67601 2007-01-14  Bruno Haible  <bruno@clisp.org>
67602
67603         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
67604         and make.
67605         Reported by Simon Josefsson in
67606         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
67607
67608 2007-01-14  Bruno Haible  <bruno@clisp.org>
67609
67610         * modules/allocsa-tests: New file.
67611         * tests/test-allocsa.c: New file.
67612
67613 2007-01-14  Bruno Haible  <bruno@clisp.org>
67614
67615         * modules/fchdir (Depends-on): Add absolute-header.
67616         * modules/unistd (Depends-on): Likewise.
67617
67618 2006-12-30  Bruno Haible  <bruno@clisp.org>
67619
67620         * modules/fchdir: New file.
67621         * modules/unistd (Files): Add lib/unistd_.h.
67622         (Makefile.am): Generate unistd.h from unistd_.h.
67623         * lib/fchdir.c: New file.
67624         * lib/dirent_.h: New file.
67625         * lib/unistd_.h: New file.
67626         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
67627         * m4/fchdir.m4: New file.
67628         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
67629         (gl_HEADER_UNISTD): Invoke it.
67630         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
67631         function.
67632         * lib/backupfile.c (opendir, closedir): Undefine.
67633         * lib/chown.c (open, close): Undefine.
67634         * lib/clean-temp.c (open, close): Undefine.
67635         * lib/copy-file.c (open, close): Undefine.
67636         * lib/execute.c (open, close): Undefine.
67637         * lib/fsusage.c (open, close): Undefine.
67638         * lib/gc-gnulib.c (open, close): Undefine.
67639         * lib/getcwd.c (opendir, closedir): Undefine.
67640         * lib/glob.c (opendir, closedir): Undefine.
67641         * lib/javacomp.c (open, close): Undefine.
67642         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
67643         * lib/openat-proc.c (open, close): Undefine.
67644         * lib/pagealign_alloc.c (open, close): Undefine.
67645         * lib/pipe.c (open, close): Undefine.
67646         * lib/progreloc.c (open, close): Undefine.
67647         * lib/savedir.c (opendir, closedir): Undefine.
67648         * lib/utime.c (open, close): Undefine.
67649         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
67650
67651 2007-01-10  Bruno Haible  <bruno@clisp.org>
67652
67653         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
67654
67655 2007-01-12  Eric Blake  <ebb9@byu.net>
67656
67657         Provide a robust <wchar.h>.  Further simplifications are now
67658         possible in other modules, but not included here.
67659         * modules/wchar: New module.
67660         * m4/wchar.m4: New file.
67661         * lib/wchar_.h: Likewise.
67662         * modules/mbchar (Depends-on): Depend on wchar, as the first use
67663         of the new module.
67664         * MODULES.html.sh (Extended multibyte and wide character utilities):
67665         New section.
67666
67667 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
67668
67669         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
67670         to a reasonable default for memory allocation.
67671         (xreadlink): Don't allocate a huge buffer, to work around a buggy
67672         file system that reports garbage st_size values for symlinks.
67673         Problem reported by Liyang Hu.
67674
67675 2007-01-11  Simon Josefsson  <simon@josefsson.org>
67676
67677         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
67678         Emacs .#* auto-save files).
67679
67680 2007-01-11  Bruno Haible  <bruno@clisp.org>
67681
67682         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
67683         directory.
67684
67685 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
67686
67687         Use @...@ consistently in lib/wctype_.h.
67688         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
67689         on it being set to 1 or 0.
67690         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
67691         go back to AC_SUBSTing it.
67692         * modules/wctype (Makefile.am): Undo previous change.
67693
67694 2007-01-10  Eric Blake  <ebb9@byu.net>
67695
67696         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
67697         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
67698         * modules/wctype (Makefile.am): Likewise.
67699         Reported by Chris McGuire.
67700
67701 2007-01-10  Jim Meyering  <jim@meyering.net>
67702
67703         fts.c: a small readability/maintainability improvement
67704         * lib/fts.c (fts_read): Make this code slightly more readable and
67705         maintainable by hoisting the "sp->fts_cur = p" assignments to
67706         immediately follow the statements that set P.  Derived from
67707         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
67708
67709 2007-01-10  Eric Blake  <ebb9@byu.net>
67710
67711         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
67712         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
67713         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67714         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
67715         Reported by Chris McGuire.
67716
67717 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67718
67719         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
67720         in sed script.
67721
67722 2007-01-09  Bruno Haible  <bruno@clisp.org>
67723
67724         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
67725         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
67726         variables.
67727         (func_module): Use them.
67728
67729 2007-01-09  Bruno Haible  <bruno@clisp.org>
67730
67731         * modules/unistr/base: New file.
67732         * lib/unistr.h: New file.
67733
67734         * modules/unistr/u8-to-u16: New file.
67735         * lib/unistr/u8-to-u16.c: New file.
67736
67737         * modules/unistr/u8-to-u32: New file.
67738         * lib/unistr/u8-to-u32.c: New file.
67739
67740         * modules/unistr/u16-to-u8: New file.
67741         * lib/unistr/u16-to-u8.c: New file.
67742
67743         * modules/unistr/u16-to-u32: New file.
67744         * lib/unistr/u16-to-u32.c: New file.
67745
67746         * modules/unistr/u32-to-u8: New file.
67747         * lib/unistr/u32-to-u8.c: New file.
67748
67749         * modules/unistr/u32-to-u16: New file.
67750         * lib/unistr/u32-to-u16.c: New file.
67751
67752         * modules/unistr/u8-check: New file.
67753         * modules/unistr/u16-check: New file.
67754         * modules/unistr/u32-check: New file.
67755         * lib/unistr/u8-check.c: New file.
67756         * lib/unistr/u16-check.c: New file.
67757         * lib/unistr/u32-check.c: New file.
67758
67759         * modules/unistr/u8-chr: New file.
67760         * modules/unistr/u16-chr: New file.
67761         * modules/unistr/u32-chr: New file.
67762         * lib/unistr/u8-chr.c: New file.
67763         * lib/unistr/u16-chr.c: New file.
67764         * lib/unistr/u32-chr.c: New file.
67765
67766         * modules/unistr/u8-cmp: New file.
67767         * modules/unistr/u16-cmp: New file.
67768         * modules/unistr/u32-cmp: New file.
67769         * lib/unistr/u8-cmp.c: New file.
67770         * lib/unistr/u16-cmp.c: New file.
67771         * lib/unistr/u32-cmp.c: New file.
67772
67773         * modules/unistr/u8-cpy: New file.
67774         * modules/unistr/u16-cpy: New file.
67775         * modules/unistr/u32-cpy: New file.
67776         * lib/unistr/u8-cpy.c: New file.
67777         * lib/unistr/u16-cpy.c: New file.
67778         * lib/unistr/u32-cpy.c: New file.
67779         * lib/unistr/u-cpy.h: New file.
67780
67781         * modules/unistr/u8-cpy-alloc: New file.
67782         * modules/unistr/u16-cpy-alloc: New file.
67783         * modules/unistr/u32-cpy-alloc: New file.
67784         * lib/unistr/u8-cpy-alloc.c: New file.
67785         * lib/unistr/u16-cpy-alloc.c: New file.
67786         * lib/unistr/u32-cpy-alloc.c: New file.
67787         * lib/unistr/u-cpy-alloc.h: New file.
67788
67789         * modules/unistr/u8-endswith: New file.
67790         * modules/unistr/u16-endswith: New file.
67791         * modules/unistr/u32-endswith: New file.
67792         * lib/unistr/u8-endswith.c: New file.
67793         * lib/unistr/u16-endswith.c: New file.
67794         * lib/unistr/u32-endswith.c: New file.
67795         * lib/unistr/u-endswith.h: New file.
67796
67797         * modules/unistr/u8-mblen: New file.
67798         * modules/unistr/u16-mblen: New file.
67799         * modules/unistr/u32-mblen: New file.
67800         * lib/unistr/u8-mblen.c: New file.
67801         * lib/unistr/u16-mblen.c: New file.
67802         * lib/unistr/u32-mblen.c: New file.
67803
67804         * modules/unistr/u8-mbtouc: New file.
67805         * modules/unistr/u16-mbtouc: New file.
67806         * modules/unistr/u32-mbtouc: New file.
67807         * lib/unistr/u8-mbtouc.c: New file.
67808         * lib/unistr/u16-mbtouc.c: New file.
67809         * lib/unistr/u32-mbtouc.c: New file.
67810
67811         * modules/unistr/u8-mbtouc-safe: New file.
67812         * modules/unistr/u16-mbtouc-safe: New file.
67813         * modules/unistr/u32-mbtouc-safe: New file.
67814         * lib/unistr/u8-mbtouc-safe.c: New file.
67815         * lib/unistr/u16-mbtouc-safe.c: New file.
67816         * lib/unistr/u32-mbtouc-safe.c: New file.
67817
67818         * modules/unistr/u8-move: New file.
67819         * modules/unistr/u16-move: New file.
67820         * modules/unistr/u32-move: New file.
67821         * lib/unistr/u8-move.c: New file.
67822         * lib/unistr/u16-move.c: New file.
67823         * lib/unistr/u32-move.c: New file.
67824         * lib/unistr/u-move.h: New file.
67825
67826         * modules/unistr/u8-next: New file.
67827         * modules/unistr/u16-next: New file.
67828         * modules/unistr/u32-next: New file.
67829         * lib/unistr/u8-next.c: New file.
67830         * lib/unistr/u16-next.c: New file.
67831         * lib/unistr/u32-next.c: New file.
67832
67833         * modules/unistr/u8-prev: New file.
67834         * modules/unistr/u16-prev: New file.
67835         * modules/unistr/u32-prev: New file.
67836         * lib/unistr/u8-prev.c: New file.
67837         * lib/unistr/u16-prev.c: New file.
67838         * lib/unistr/u32-prev.c: New file.
67839
67840         * modules/unistr/u8-set: New file.
67841         * modules/unistr/u16-set: New file.
67842         * modules/unistr/u32-set: New file.
67843         * lib/unistr/u8-set.c: New file.
67844         * lib/unistr/u16-set.c: New file.
67845         * lib/unistr/u32-set.c: New file.
67846         * lib/unistr/u-set.h: New file.
67847
67848         * modules/unistr/u8-startswith: New file.
67849         * modules/unistr/u16-startswith: New file.
67850         * modules/unistr/u32-startswith: New file.
67851         * lib/unistr/u8-startswith.c: New file.
67852         * lib/unistr/u16-startswith.c: New file.
67853         * lib/unistr/u32-startswith.c: New file.
67854         * lib/unistr/u-startswith.h: New file.
67855
67856         * modules/unistr/u8-stpcpy: New file.
67857         * modules/unistr/u16-stpcpy: New file.
67858         * modules/unistr/u32-stpcpy: New file.
67859         * lib/unistr/u8-stpcpy.c: New file.
67860         * lib/unistr/u16-stpcpy.c: New file.
67861         * lib/unistr/u32-stpcpy.c: New file.
67862         * lib/unistr/u-stpcpy.h: New file.
67863
67864         * modules/unistr/u8-stpncpy: New file.
67865         * modules/unistr/u16-stpncpy: New file.
67866         * modules/unistr/u32-stpncpy: New file.
67867         * lib/unistr/u8-stpncpy.c: New file.
67868         * lib/unistr/u16-stpncpy.c: New file.
67869         * lib/unistr/u32-stpncpy.c: New file.
67870         * lib/unistr/u-stpncpy.h: New file.
67871
67872         * modules/unistr/u8-strcat: New file.
67873         * modules/unistr/u16-strcat: New file.
67874         * modules/unistr/u32-strcat: New file.
67875         * lib/unistr/u8-strcat.c: New file.
67876         * lib/unistr/u16-strcat.c: New file.
67877         * lib/unistr/u32-strcat.c: New file.
67878         * lib/unistr/u-strcat.h: New file.
67879
67880         * modules/unistr/u8-strchr: New file.
67881         * modules/unistr/u16-strchr: New file.
67882         * modules/unistr/u32-strchr: New file.
67883         * lib/unistr/u8-strchr.c: New file.
67884         * lib/unistr/u16-strchr.c: New file.
67885         * lib/unistr/u32-strchr.c: New file.
67886
67887         * modules/unistr/u8-strcmp: New file.
67888         * modules/unistr/u16-strcmp: New file.
67889         * modules/unistr/u32-strcmp: New file.
67890         * lib/unistr/u8-strcmp.c: New file.
67891         * lib/unistr/u16-strcmp.c: New file.
67892         * lib/unistr/u32-strcmp.c: New file.
67893
67894         * modules/unistr/u8-strcpy: New file.
67895         * modules/unistr/u16-strcpy: New file.
67896         * modules/unistr/u32-strcpy: New file.
67897         * lib/unistr/u8-strcpy.c: New file.
67898         * lib/unistr/u16-strcpy.c: New file.
67899         * lib/unistr/u32-strcpy.c: New file.
67900         * lib/unistr/u-strcpy.h: New file.
67901
67902         * modules/unistr/u8-strcspn: New file.
67903         * modules/unistr/u16-strcspn: New file.
67904         * modules/unistr/u32-strcspn: New file.
67905         * lib/unistr/u8-strcspn.c: New file.
67906         * lib/unistr/u16-strcspn.c: New file.
67907         * lib/unistr/u32-strcspn.c: New file.
67908         * lib/unistr/u-strcspn.h: New file.
67909
67910         * modules/unistr/u8-strdup: New file.
67911         * modules/unistr/u16-strdup: New file.
67912         * modules/unistr/u32-strdup: New file.
67913         * lib/unistr/u8-strdup.c: New file.
67914         * lib/unistr/u16-strdup.c: New file.
67915         * lib/unistr/u32-strdup.c: New file.
67916         * lib/unistr/u-strdup.h: New file.
67917
67918         * modules/unistr/u8-strlen: New file.
67919         * modules/unistr/u16-strlen: New file.
67920         * modules/unistr/u32-strlen: New file.
67921         * lib/unistr/u8-strlen.c: New file.
67922         * lib/unistr/u16-strlen.c: New file.
67923         * lib/unistr/u32-strlen.c: New file.
67924         * lib/unistr/u-strlen.h: New file.
67925
67926         * modules/unistr/u8-strmblen: New file.
67927         * modules/unistr/u16-strmblen: New file.
67928         * modules/unistr/u32-strmblen: New file.
67929         * lib/unistr/u8-strmblen.c: New file.
67930         * lib/unistr/u16-strmblen.c: New file.
67931         * lib/unistr/u32-strmblen.c: New file.
67932
67933         * modules/unistr/u8-strmbtouc: New file.
67934         * modules/unistr/u16-strmbtouc: New file.
67935         * modules/unistr/u32-strmbtouc: New file.
67936         * lib/unistr/u8-strmbtouc.c: New file.
67937         * lib/unistr/u16-strmbtouc.c: New file.
67938         * lib/unistr/u32-strmbtouc.c: New file.
67939
67940         * modules/unistr/u8-strncat: New file.
67941         * modules/unistr/u16-strncat: New file.
67942         * modules/unistr/u32-strncat: New file.
67943         * lib/unistr/u8-strncat.c: New file.
67944         * lib/unistr/u16-strncat.c: New file.
67945         * lib/unistr/u32-strncat.c: New file.
67946         * lib/unistr/u-strncat.h: New file.
67947
67948         * modules/unistr/u8-strncmp: New file.
67949         * modules/unistr/u16-strncmp: New file.
67950         * modules/unistr/u32-strncmp: New file.
67951         * lib/unistr/u8-strncmp.c: New file.
67952         * lib/unistr/u16-strncmp.c: New file.
67953         * lib/unistr/u32-strncmp.c: New file.
67954
67955         * modules/unistr/u8-strncpy: New file.
67956         * modules/unistr/u16-strncpy: New file.
67957         * modules/unistr/u32-strncpy: New file.
67958         * lib/unistr/u8-strncpy.c: New file.
67959         * lib/unistr/u16-strncpy.c: New file.
67960         * lib/unistr/u32-strncpy.c: New file.
67961         * lib/unistr/u-strncpy.h: New file.
67962
67963         * modules/unistr/u8-strnlen: New file.
67964         * modules/unistr/u16-strnlen: New file.
67965         * modules/unistr/u32-strnlen: New file.
67966         * lib/unistr/u8-strnlen.c: New file.
67967         * lib/unistr/u16-strnlen.c: New file.
67968         * lib/unistr/u32-strnlen.c: New file.
67969         * lib/unistr/u-strnlen.h: New file.
67970
67971         * modules/unistr/u8-strpbrk: New file.
67972         * modules/unistr/u16-strpbrk: New file.
67973         * modules/unistr/u32-strpbrk: New file.
67974         * lib/unistr/u8-strpbrk.c: New file.
67975         * lib/unistr/u16-strpbrk.c: New file.
67976         * lib/unistr/u32-strpbrk.c: New file.
67977         * lib/unistr/u-strpbrk.h: New file.
67978
67979         * modules/unistr/u8-strrchr: New file.
67980         * modules/unistr/u16-strrchr: New file.
67981         * modules/unistr/u32-strrchr: New file.
67982         * lib/unistr/u8-strrchr.c: New file.
67983         * lib/unistr/u16-strrchr.c: New file.
67984         * lib/unistr/u32-strrchr.c: New file.
67985
67986         * modules/unistr/u8-strspn: New file.
67987         * modules/unistr/u16-strspn: New file.
67988         * modules/unistr/u32-strspn: New file.
67989         * lib/unistr/u8-strspn.c: New file.
67990         * lib/unistr/u16-strspn.c: New file.
67991         * lib/unistr/u32-strspn.c: New file.
67992         * lib/unistr/u-strspn.h: New file.
67993
67994         * modules/unistr/u8-strstr: New file.
67995         * modules/unistr/u16-strstr: New file.
67996         * modules/unistr/u32-strstr: New file.
67997         * lib/unistr/u8-strstr.c: New file.
67998         * lib/unistr/u16-strstr.c: New file.
67999         * lib/unistr/u32-strstr.c: New file.
68000         * lib/unistr/u-strstr.h: New file.
68001
68002         * modules/unistr/u8-strtok: New file.
68003         * modules/unistr/u16-strtok: New file.
68004         * modules/unistr/u32-strtok: New file.
68005         * lib/unistr/u8-strtok.c: New file.
68006         * lib/unistr/u16-strtok.c: New file.
68007         * lib/unistr/u32-strtok.c: New file.
68008         * lib/unistr/u-strtok.h: New file.
68009
68010         * modules/unistr/u8-uctomb: New file.
68011         * modules/unistr/u16-uctomb: New file.
68012         * modules/unistr/u32-uctomb: New file.
68013         * lib/unistr/u8-uctomb.c: New file.
68014         * lib/unistr/u16-uctomb.c: New file.
68015         * lib/unistr/u32-uctomb.c: New file.
68016
68017         * MODULES.html.sh (Unicode string functions): Add the new modules.
68018
68019 2007-01-08  Bruno Haible  <bruno@clisp.org>
68020
68021         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
68022         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
68023         subdirectories.
68024
68025 2007-01-08  Karl Berry  <karl@gnu.org>
68026
68027         * doc/error.texi: mention that main() fns must set program_name
68028         when progname is used.
68029
68030 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
68031
68032         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
68033         WCTYPE_H is empty, for the benefit of builds from non-distclean
68034         directories.  Problem reported by Eric Blake in
68035         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
68036
68037 2007-01-08  Bruno Haible  <bruno@clisp.org>
68038
68039         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
68040         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
68041         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
68042         PROVIDE_CANONICALIZE_FILENAME_MODE.
68043         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
68044
68045 2007-01-08  Bruno Haible  <bruno@clisp.org>
68046
68047         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
68048         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
68049         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
68050         * lib/fts.c: Likewise.
68051         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
68052
68053 2006-12-25  Bruno Haible  <bruno@clisp.org>
68054
68055         * modules/utf8-ucs4-safe: New file.
68056         * lib/utf8-ucs4-safe.h: New file.
68057         * lib/unistr/utf8-ucs4-safe.c: New file.
68058
68059         * modules/utf16-ucs4-safe: New file.
68060         * lib/utf16-ucs4-safe.h: New file.
68061         * lib/unistr/utf16-ucs4-safe.c: New file.
68062
68063         * MODULES.html.sh (Unicode string functions): Add the new modules.
68064
68065 2007-01-08  Bruno Haible  <bruno@clisp.org>
68066
68067         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
68068         (Depends-on): Add unitypes.
68069         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
68070         (u8_mbtouc_aux): Move out to separate file.
68071         (u8_mbtouc): Use ucs4_t, uint8_t types.
68072         * lib/unistr/utf8-ucs4.c: New file.
68073
68074         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
68075         (Depends-on): Add unitypes.
68076         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
68077         (u16_mbtouc_aux): Move out to separate file.
68078         (u16_mbtouc): Use ucs4_t, uint16_t types.
68079         * lib/unistr/utf16-ucs4.c: New file.
68080
68081         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
68082         (Depends-on): Add unitypes.
68083         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
68084         (u8_uctomb_aux): Move out to separate file.
68085         (u8_uctomb): Use ucs4_t, uint8_t types.
68086         * lib/unistr/ucs4-utf8.c: New file.
68087
68088         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
68089         (Depends-on): Add unitypes.
68090         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
68091         (u16_uctomb_aux): Move out to separate file.
68092         (u16_uctomb): Use ucs4_t, uint16_t types.
68093         * lib/unistr/ucs4-utf16.c: New file.
68094
68095 2006-12-25  Bruno Haible  <bruno@clisp.org>
68096
68097         * modules/unitypes: New file.
68098         * lib/unitypes.h: New file.
68099         * MODULES.html.sh (func_all_modules): New section "Unicode string
68100         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
68101         this section. Add unitypes.
68102
68103 2007-01-08  Bruno Haible  <bruno@clisp.org>
68104
68105         Avoid variable names that conflict with those from libtool.
68106         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
68107         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
68108         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
68109         library_names_spec to acl_library_names_spec, hardcode_* to
68110         acl_hardcode_*.
68111         Reported by Ralf Wildenhues.
68112
68113 2007-01-08  Bruno Haible  <bruno@clisp.org>
68114
68115         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
68116         definition.
68117         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
68118         definition.
68119         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
68120         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
68121         definition.
68122         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
68123         definition.
68124         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
68125         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
68126         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
68127         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
68128         definition.
68129         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
68130         definition.
68131         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
68132         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
68133         GC_USE_<algorithm>.
68134         * lib/gc-libgcrypt.c: Likewise.
68135         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
68136         * modules/gc-arctwo (configure.ac): Likewise.
68137         * modules/gc-des (configure.ac): Likewise.
68138         * modules/gc-hmac-md5 (configure.ac): Likewise.
68139         * modules/gc-hmac-sha1 (configure.ac): Likewise.
68140         * modules/gc-md2 (configure.ac): Likewise.
68141         * modules/gc-md4 (configure.ac): Likewise.
68142         * modules/gc-md5 (configure.ac): Likewise.
68143         * modules/gc-random (configure.ac): Likewise.
68144         * modules/gc-rijndael (configure.ac): Likewise.
68145         * modules/gc-sha1 (configure.ac): Likewise.
68146
68147 2007-01-08  Bruno Haible  <bruno@clisp.org>
68148
68149         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
68150         macro definition.
68151         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
68152         definition.
68153         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
68154         definition.
68155         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
68156         * modules/fcntl-safer (configure.ac): Likewise.
68157         * modules/fopen-safer (configure.ac): Likewise.
68158         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
68159         GNULIB_FWRITEERROR macro definition.
68160
68161 2007-01-08  Bruno Haible  <bruno@clisp.org>
68162
68163         * m4/gnulib-common.m4: New file.
68164         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
68165         (func_get_filelist): Add m4/gnulib-common.m4.
68166
68167 2007-01-08  Bruno Haible  <bruno@clisp.org>
68168
68169         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
68170         command.
68171
68172 2007-01-08  Jim Meyering  <jim@meyering.net>
68173
68174         Use a more robust test for a "can't happen" condition.
68175         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
68176         narrowed the st_size value.  Presuming the "can't happen" condition
68177         is true, that narrowing could conceivably convert an invalid st_size
68178         value into a valid one.  Instead, use a change based on Matthew
68179         Woehlke's original patch.
68180
68181         Slight readability improvement: use an assert-like macro
68182         in place of literal "abort ()" uses.
68183         * lib/fts.c (fts_assert): Define.
68184         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
68185         Use this macro instead of a bare 'abort'.
68186
68187 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
68188
68189         Don't worry about using IRIX 5.3's wctype.h broken definitions;
68190         simply work around them.
68191         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
68192         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
68193         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
68194         declaring.
68195         Don't bother to define as macros, since the standard doesn't require it.
68196         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
68197         longer worry about IRIX 5.3.
68198         (HAVE_WCTYPE_CTMP_BUG): Remove.
68199
68200 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68201
68202         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
68203         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
68204         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68205         Problems reported by Georg Schwarz for IRIX 5.3.
68206
68207         * gnulib-tool (autoconf_minversion): Take the maximum version number
68208         found, not the minimum.  Problem reported by James Youngman.
68209
68210 2007-01-03  Karl Berry  <karl@gnu.org>
68211
68212         * doc/error.texi: new file, explaining interaction with progname.
68213         * doc/gnulib.texi: include it.  Update copyright.
68214
68215 2007-01-03  Simon Josefsson  <simon@josefsson.org>
68216
68217         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
68218         AC_CANONICAL_HOST, to improve autobuild outputs.
68219
68220 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
68221             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68222
68223         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
68224         sockets, server sockets, and other file descriptors.  Count errors
68225         to compute the return value.  Reorder the code a bit to be easier
68226         to follow.  Don't set event bits that were not requested (except
68227         POLLERR and POLLHUP).
68228
68229 2007-01-01  Bruno Haible  <bruno@clisp.org>
68230
68231         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
68232
68233 2007-01-03  Jim Meyering  <jim@meyering.net>
68234
68235         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
68236
68237 2007-01-02  Bruno Haible  <bruno@clisp.org>
68238
68239         * modules/settime (Include): Require timespec.h.
68240         * modules/nanosleep (Include): Likewise.
68241
68242 2007-01-01  Bruno Haible  <bruno@clisp.org>
68243
68244         * gnulib-tool (func_emit_copyright_notice): Bump year.
68245         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
68246
68247 2007-01-01  Bruno Haible  <bruno@clisp.org>
68248
68249         Improve support for OpenBSD.
68250         * build-aux/config.rpath (libname_spec): Export.
68251         (library_names_spec): New variable. Export.
68252         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
68253         library_names_spec from the config.rpath output. Locate shared library
68254         through the name pattern in library_names_spec.
68255
68256 2007-01-01  Eric Blake  <ebb9@byu.net>
68257
68258         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
68259
68260 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
68261
68262         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
68263         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
68264         assume the C locale, and avoid an "eval" that could cause trouble.
68265         Problem with SORT reported by Bob Proulx.
68266
68267         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
68268         Define.  Trivial patch from Henning Nielsen Lund, originally
68269         sent to bug-grep@gnu.org today.
68270
68271 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
68272
68273         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
68274         struct stat.  Problem reported by Henning Nielsen Lund.
68275         * lib/acl.c: Include acl.h first, to check interface.  Don't
68276         bother to include sys/types.h and sys/stat.h again.
68277
68278 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68279
68280         Import the following change from libc; problem reported by
68281         Sven Verdoolaege.
68282
68283         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
68284
68285         [BZ #1373]
68286         * lib/argp.h: Remove __NTH for __argp_usage inline function.
68287
68288 2006-12-28  Jim Meyering  <jim@meyering.net>
68289
68290         * build-aux/announce-gen: Do not assume that the package
68291         builds any of tar.gz, tar.bz2, and .xdelta files.
68292         Suggestion from Simon Josefsson.
68293
68294 2006-12-28  Simon Josefsson  <simon@josefsson.org>
68295
68296         * modules/announce-gen: New file.
68297
68298 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
68299
68300         * lib/mbchar.h: Just include <wctype.h>; the wctype module
68301         handles its gotchas now.
68302         * lib/mbswidth.c: Likewise.
68303         * lib/wcwidth.h: Likewise.
68304         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
68305         and iswcntrl; the wctype module does this stuff now.
68306         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
68307         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
68308         * modules/mbchar (Depends-on): Add wctype.
68309         * modules/mbswidth (Depends-on): Likewise.
68310         * modules/wcwidth (Depends-on): Likewise.
68311
68312 2006-12-27  Eric Blake  <ebb9@byu.net>
68313
68314         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
68315         module uses more than what <wctype.h> is required to provide.
68316
68317 2006-12-26  Eric Blake  <ebb9@byu.net>
68318
68319         * gnulib-tool (sed_extract_prog): Avoid space-tab.
68320
68321 2006-12-26  Eric Blake  <ebb9@byu.net>
68322
68323         * modules/absolute-header: New module.
68324         * modules/fcntl (Depends-on): Depend on it.
68325         * modules/inttypes (Depends-on): Likewise.
68326         * modules/stdint (Depends-on): Likewise.
68327         * modules/sys_stat (Depends-on): Likewise.
68328         * modules/wctype (Depends-on): Likewise.
68329         * MODULES.html.sh (Support for building libraries and
68330         executables): Document it.
68331
68332 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
68333
68334         * gnulib-tool (SED): Remove, undoing previous change.
68335         The problem was that it broke coreutils on Solaris, because
68336         "sed --posix" leaked into a makefile.
68337         (sed): New alias, if 'alias' and GNU sed.
68338
68339 2006-12-24  Jim Meyering  <jim@meyering.net>
68340
68341         Work around an fchownat bug in glibc-2.4:
68342         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
68343         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
68344         in spite of the -P option.
68345         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
68346         New macros.
68347         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
68348         * modules/openat (Files): Add lib/fchownat.c.
68349         * lib/openat.c (fchownat): Don't define here.  Move to...
68350         * lib/fchownat.c: ...this new file.
68351
68352 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68353
68354         Fix bug reported by Bruno Haible in
68355         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
68356         where quotearg.c didn't compile on Mac OS X 10.2 because it
68357         lacks <wchar.h> and wint_t.
68358         * lib/wctype_.h (__wctype_wint_t): New type.
68359         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
68360         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
68361         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
68362         Arg is now of type __wctype_wint_t, not wint_t.
68363         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
68364         substitute HAVE_WINT_T.
68365         * modules/wctype (Files): Add m4/wint_t.m4.
68366         (wctype.h): Substitute HAVE_WINT_T.
68367
68368 2006-12-23  Bruno Haible  <bruno@clisp.org>
68369
68370         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
68371
68372 2006-12-23  Bruno Haible  <bruno@clisp.org>
68373
68374         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
68375         S_ISLNK.
68376         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
68377         mingw.
68378
68379 2006-12-22  Bruno Haible  <bruno@clisp.org>
68380
68381         * lib/copy-file.c: Include acl.h.
68382         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
68383         Close the file descriptors only after being done with copy_acl.
68384         * modules/copy-file (Depends-on): Add acl.
68385
68386 2006-12-22  Bruno Haible  <bruno@clisp.org>
68387
68388         * gnulib-tool (SED): New variable.
68389         Use $SED instead of sed everywhere.
68390
68391 2006-12-22  Bruno Haible  <bruno@clisp.org>
68392
68393         * modules/no-c++: New file.
68394         * m4/no-c++.m4: New file.
68395         * MODULES.html.sh (Support for building libraries and executables):
68396         Add no-c++.
68397
68398 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
68399
68400         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
68401         Include <limits.h>, and use its INT_MAX to rewrite the
68402         j loop so that it does not overflow 'int'.  Problem reported by
68403         Ralf Wildenhues in
68404         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
68405         Play it safe by shifting left by 1 rather than multiplying by 2,
68406         as GCC is less likely to optimize this away when the value
68407         is signed (when it assumes overflow leads to undefined behavior).
68408         Also, don't assume time_t uses two's complement.
68409
68410 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
68411
68412         * MODULES.html.sh: New module wctype.
68413         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
68414         * lib/fnmatch.c: Don't bother to include <wchar.h> before
68415         <wctype.h>, since the new wctype module should fix this.
68416         * lib/quotearg.c: Include <wctype.h> unconditionally, since
68417         the wctype module should arrange for it.
68418         * lib/regex_internal.h: Likewise.
68419         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
68420         since the wctype module should handle this now.
68421         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
68422         * modules/fnmatch (Depends-on): Add wctype.
68423         * modules/quotearg (Depends-on): Likewise.
68424         * modules/regex (Depends-on): Likewise.
68425
68426 2006-12-19  Bruno Haible  <bruno@clisp.org>
68427
68428         * lib/strdup.h [C++]: Wrap definitions in extern "C".
68429         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
68430
68431 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68432
68433         * modules/savewd (Depends-on): Fix dependency on fcntl.
68434
68435 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
68436
68437         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
68438         conforms to C99, rather than relying on the user's environment
68439         setting of STDINT_H.
68440
68441 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
68442         and Eric Blake  <ebb9@byu.net>
68443
68444         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
68445         This is more consistent with the other defines here.
68446         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
68447         Port to z/OS.  Problem reported by Paul Gilmartin.
68448         Change local vars to use gl_ prefix rather than ac_.
68449         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
68450         with other defines.
68451         * modules/double-slash-root: New module.
68452         * modules/dirname (Files): Remove m4/double-slash-root.m4.
68453         (Depends-on): Add double-slash-root.
68454         * MODULES.html.sh (File system functions): Mention new module.
68455
68456 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
68457
68458         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
68459         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
68460         This is for the benefit of gzip, which doesn't do i18n.
68461
68462 2006-12-12  Jim Meyering  <jim@meyering.net>
68463
68464         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
68465         Reported by Andreas Schwab <schwab@suse.de>.
68466
68467 2006-12-12  Bruno Haible  <bruno@clisp.org>
68468
68469         Merge these changes.
68470         2006-09-05  Bruno Haible  <bruno@clisp.org>
68471         * lib/iconvme.c (iconv_string): No need to save and restore errno when
68472         iconv_alloc succeeded.
68473         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
68474         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
68475         test for " && dest " at the end - dest is always != NULL there. Call
68476         iconv with 4xNULL arguments initially, to reset the state. Call iconv
68477         with 2xNULL arguments, also to flush the state storage. Handle the
68478         IRIX iconv behaviour. Realloc the final result, to throw away unused
68479         memory.
68480
68481 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
68482
68483         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
68484         and fchmodat unconditionally, since glibc 2.4 has them.
68485         Problem reported by Arkadiusz Miskiewicz.
68486
68487 2006-12-10  Bruno Haible  <bruno@clisp.org>
68488
68489         * gnulib-tool (func_import): Show the include files only for those
68490         modules that are copied and specified.
68491         Reported by Karl Berry.
68492
68493 2006-12-08  Jim Meyering  <jim@meyering.net>
68494
68495         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
68496         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
68497
68498         * build-aux/announce-gen: Add two new options, both optional:
68499         --bootstrap-tools=TOOL_LIST
68500               a comma-separated list of tools, e.g.,
68501               autoconf,automake,bison,gnulib
68502         --gnulib-snapshot-date=DATE
68503               if gnulib is in the bootstrap tool list,
68504               then report this as the snapshot date.
68505               If not specified, use the current date/time.
68506               If you specify a date here, be sure it's UTC.
68507
68508 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68509
68510         * tests/test-argp-2.sh: Fix test to match actual output.
68511         (func_compare): Fix sed script to be portable.
68512
68513 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
68514
68515         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
68516         workaround for this case.  It is not autoconfigured now; offhand
68517         it's hard to see how to autoconfigure it.
68518
68519 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
68520
68521         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
68522         a directory that is about to be chowned.  Such a directory's
68523         initial file permissions should permit the owner only and this
68524         should not be changed until after the chown, since the group and
68525         other bits would be incorrect if they granted permission before
68526         the chown.
68527
68528         Fix porting problem for iswctype reported by Georg Schwarz in:
68529         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
68530         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
68531         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
68532         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
68533         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68534
68535 2006-12-03  Jim Meyering  <jim@meyering.net>
68536
68537         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
68538         p->fts_statp may not yet be defined.
68539         (fts_read): Instead, set it in the caller, once p->fts_statp is
68540         sure to be defined, and corresponds to a top-level directory.
68541         This bug made du -x fail.  Here's the coreutils test case:
68542         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
68543         Reported by Mike Frysinger.
68544
68545 2006-12-01  Jim Meyering  <jim@meyering.net>
68546
68547         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
68548         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
68549         Reported by Simon Josefsson.
68550
68551 2006-11-30  Jim Meyering  <jim@meyering.net>
68552
68553         * m4/warning.m4: Use the all-permissive copyright notice
68554         recommended by RMS (rather than LGPL).
68555         * m4/vararrays.m4: Likewise.
68556         * m4/flexmember.m4: Likewise.
68557
68558 2006-11-29  Bruno Haible  <bruno@clisp.org>
68559
68560         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68561         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
68562         using +=.
68563         Reported by Simon Josefsson <simon@josefsson.org>.
68564
68565 2006-11-28  James Youngman <jay@gnu.org>
68566
68567         * README: Advise users that they might find the bug-gnulib@gnu.org
68568         and autotools-announce@gnu.org mailing lists useful.
68569
68570 2006-11-28  Bruno Haible  <bruno@clisp.org>
68571
68572         * m4/ptrdiff_max.m4: Remove file.
68573
68574 2006-11-21  Bruno Haible  <bruno@clisp.org>
68575
68576         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
68577         _AC_COMPUTE_INT.
68578         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68579         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
68580         _AC_COMPUTE_INT.
68581         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68582         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
68583         _AC_COMPUTE_INT.
68584         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68585
68586 2006-11-28  Jim Meyering  <jim@meyering.net>
68587
68588         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
68589         warning from "gcc -Wshadow" about shadowing the builtin.
68590
68591 2006-11-27  Bruno Haible  <bruno@clisp.org>
68592
68593         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
68594         _AC_COMPUTE_INT.
68595         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68596
68597 2006-11-27  Bruno Haible  <bruno@clisp.org>
68598             Paul Eggert  <eggert@cs.ucla.edu>
68599
68600         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
68601
68602 2006-11-26  Bruno Haible  <bruno@clisp.org>
68603
68604         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68605         noinst_LTLIBRARIES.
68606
68607 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
68608             Bruno Haible  <bruno@clisp.org>
68609
68610         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
68611         if compiling with "gcc -ansi".
68612
68613 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
68614
68615         Fix some incompatibilities with gcc -ansi -pedantic.
68616         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
68617         if compiling pedantically with GCC, unless it's C99 or later.
68618         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
68619         it mishandles gcc -ansi -pedantic as well.
68620         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
68621         if gcc -pedantic.
68622         * lib/regexec.c (check_node_accept_bytes): Don't use auto
68623         initializers for struct if -pedantic, unless it's C99 or later.
68624
68625 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
68626
68627         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
68628         Don't close an fd more than once. Identical atimes indicate
68629         success, not failure.
68630
68631 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
68632
68633         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
68634
68635 2006-11-23  Jim Meyering  <jim@meyering.net>
68636
68637         * build-aux/announce-gen: New file.  From coreutils.
68638
68639 2006-11-22  Jim Meyering  <jim@meyering.net>
68640
68641         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
68642         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
68643         (fts_read): Use a temporary to narrow the overused st_size member
68644         before using it in a switch statement.  Reported by Matthew Woehlke.
68645
68646         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
68647         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
68648
68649 2006-11-20  Bruno Haible  <bruno@clisp.org>
68650
68651         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
68652         changequote instead of pairs of brackets.
68653         Reported by Andreas Schwab <schwab@suse.de>.
68654
68655 2006-11-21  Jim Meyering  <jim@meyering.net>
68656
68657         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
68658         so as to remain compatible with older compilers.
68659         Patch from Michael Deutschmann.
68660
68661 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68662
68663         * MODULES.html.sh (File system functions): Add openat.
68664
68665         * lib/openat.h (rpl_fstatat): New macro, if
68666         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
68667         (fstatat): Define to rpl_fstatat under the same conditions,
68668         unless COMPILING_FSTATAT.
68669         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
68670         seems to have the bug.
68671         * lib/fstatat.c: New file.
68672         * modules/openat (Files): Add it.
68673
68674 2006-11-20  Bruno Haible  <bruno@clisp.org>
68675
68676         * Makefile: New file.
68677
68678 2006-11-20  Jim Meyering  <jim@meyering.net>
68679
68680         The beginnings of syntax-related checks for gnulib.
68681         * lib/Makefile: New file.
68682         * lib/t-idcache: New script.  Ensure that the two halves of
68683         idcache.c stay in sync.
68684
68685         * lib/idcache.c: Adjust comments in user- and group- portions to
68686         be more accurate, and to be consistent with one another.
68687
68688 2006-11-20  Jim Meyering  <jim@meyering.net>
68689
68690         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
68691         continue using the flexible array member (thus, this module performs
68692         half as many malloc calls), with the addition that...
68693         (getgroup, getuser): Consistently record a non-match via an empty
68694         "name" string, and map an empty string match to a NULL return value.
68695         * modules/idcache (Depends-on): Re-add flexmember.
68696
68697         * lib/idcache.c (getuser): Remove all uses of the register keyword.
68698         (getuidbyname, getgroup, getgidbyname): Likewise.
68699
68700         Use cleaner syntax: NULL rather than 0.
68701         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
68702
68703 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68704
68705         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
68706         It mishandled the case where the group was missing.
68707         Problem reported by Greg Schafer.
68708         * modules/idcache: Likewise.
68709
68710 2006-11-18  Jim Meyering  <jim@meyering.net>
68711
68712         * check-module (%exempt_header): Add exception for some
68713         conditionally-included headers.
68714
68715         * modules/i-ring (Depends-on): Add verify.
68716         (License): Change to LGPL.
68717
68718 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68719
68720         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
68721         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
68722         and inttostr.h.  Use snprintf rather than uinttostr, so that
68723         LGPLed code doesn't depend on GPLed.
68724
68725 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68726
68727         * modules/inline (License): Change from GPL to LGPL.
68728
68729 2006-11-17  Jim Meyering  <jim@meyering.net>
68730
68731         * modules/d-type (License): Switch to LGPL.
68732
68733 2006-11-15  Bruno Haible  <bruno@clisp.org>
68734
68735         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
68736
68737 2006-11-15  Eric Blake  <ebb9@byu.net>
68738
68739         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
68740         the module dependency.
68741
68742 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68743             Bruno Haible  <bruno@clisp.org>
68744
68745         * gnulib-tool (func_create_testdir): Add license consistency check.
68746
68747 2006-11-15  Eric Blake  <ebb9@byu.net>
68748
68749         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
68750         random "(cached)" in configure output.
68751
68752 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68753
68754         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
68755         test for conforming inttypes.h is both announced and cached.
68756
68757         * MODULES.html.sh (seen_modules, seen_files): New variables.
68758         (func_module): Rewrite to use a few less gnulib-tool and sed
68759         invocations.  Avoid a couple of quadratic algorithms for ...
68760         (missed_modules, missed_files): ... these, with ...
68761         (func_append, func_tmpdir): ... these new functions, from
68762         gnulib-tool.  Analogously, install traps for cleanup.
68763
68764         * tests/test-gc.c (main): Remove unused variables.
68765         * tests/test-read-file.c: Include stdlib.h, for 'free'.
68766
68767 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
68768
68769         * modules/inttostr (License): Change to LGPL.
68770
68771 2006-11-14  Eric Blake  <ebb9@byu.net>
68772
68773         * modules/tempname (License): Change to LGPL.
68774
68775 2006-11-14  Eric Blake  <ebb9@byu.net>
68776
68777         * doc/functions.texi (Function Portability): *printf functions on
68778         Cygwin now understand all POSIX size specifiers.
68779
68780 2006-11-14  Bruno Haible  <bruno@clisp.org>
68781
68782         * modules/c-ctype (License): Change to LGPL.
68783
68784 2006-11-12  Bruno Haible  <bruno@clisp.org>
68785
68786         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
68787         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
68788         for GNOME libraries, for which the include files are installed in
68789         subdirectories of $prefix/include.
68790
68791 2006-11-12  Bruno Haible  <bruno@clisp.org>
68792
68793         * m4/lib-link.m4: Require at least autoconf-2.54.
68794         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
68795         name to underscores for the --with option.
68796
68797 2006-11-13  Bruno Haible  <bruno@clisp.org>
68798
68799         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
68800         the tests directory.
68801         Reported by Ralf Wildenhues.
68802
68803 2006-11-13  Bruno Haible  <bruno@clisp.org>
68804
68805         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
68806         (func_emit_initmacro_end): Undo the override here.
68807         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
68808         Works around the famous automake error in coreutils.
68809
68810 2006-11-13  Eric Blake  <ebb9@byu.net>
68811
68812         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
68813         element, not its node.
68814
68815 2006-11-12  Bruno Haible  <bruno@clisp.org>
68816
68817         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
68818         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
68819
68820 2006-11-12  Bruno Haible  <bruno@clisp.org>
68821
68822         * gnulib-tool: New option --local-symlink.
68823         (func_usage): Document it.
68824         (lsymbolic): New variable.
68825         (func_import, func_create_testdir): If --symlink was not specified,
68826         test whether --local-symlink was specified and the file comes from
68827         the local_gnulib_dir.
68828
68829 2006-11-12  Bruno Haible  <bruno@clisp.org>
68830
68831         * gnulib-tool (func_ln): New function.
68832         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
68833
68834 2006-11-12  Bruno Haible  <bruno@clisp.org>
68835
68836         Finish support for source files in subdirectories.
68837         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
68838         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
68839         AUTOMAKE_OPTIONS.
68840         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
68841
68842 2006-11-12  Bruno Haible  <bruno@clisp.org>
68843
68844         * gnulib-tool (func_get_automake_snippet): Synthesize also an
68845         EXTRA_lib_SOURCES augmentation.
68846         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
68847
68848 2006-11-12  Jim Meyering  <jim@meyering.net>
68849
68850         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
68851         file descriptors.  This also averts a failure on systems with
68852         native openat support when a traversed directory lacks "x" access.
68853         * lib/fts_.h: Include "i-ring.h"
68854         (struct FTS) [fts_fd_ring]: New member.
68855         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
68856         (FCHDIR): Add parentheses.
68857         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
68858         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
68859         When descending, rather than simply closing the previous
68860         fts_cwd_fd value, push that file descriptor onto the ring.
68861         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
68862         (fts_open): Initialize the new fd_ring member.
68863         (fts_close): Clear the ring.
68864         (fts_safe_changedir): When possible, use our new fd_ring to skip
68865         the diropen and fstat and dev/ino comparison that would normally
68866         accompany a virtual `chdir ("..")'.
68867
68868         * modules/fts (Depends-on): Add i-ring.
68869         * modules/i-ring: New module.
68870         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
68871         * m4/i-ring.m4: New file.
68872
68873 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68874
68875         * gnulib-tool (func_create_testdir): Fix replacement of
68876         `build-aux' in configure.ac.  Run autotools in gltests
68877         subdirectory.
68878         (func_create_testdir, func_create_megatestdir, test): There is
68879         no need for '--force' in most autotool invocations in a new
68880         tree.  Actually fail the whole test if any of the tools, or the
68881         configure or make stages fail.
68882
68883         Sync from Automake.
68884         * build-aux/gnupload: Revert last change.  Add pointer to upload
68885         instructions of the GNU Maintenance Instructions.
68886         Suggestion by Karl Berry.
68887
68888 2006-11-10  Jim Meyering  <jim@meyering.net>
68889
68890         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
68891
68892 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68893
68894         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
68895         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
68896         (bind_textdomain_codeset) [! ENABLE_NLS]:
68897         Evaluate all the arguments.  That way, callers get compatible behavior
68898         if the arguments have side effects.  Also, it avoids some GCC
68899         diagnostics in some cases; Joel E. Denny reported problems when Bison
68900         was configured with --enable-gcc-warnigs.
68901
68902 2006-11-10  Jim Meyering  <jim@meyering.net>
68903
68904         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
68905         relevant options in CFLAGS (like -O, -fno-inline) are taken into
68906         account.
68907
68908 2006-11-10  Jim Meyering  <jim@meyering.net>
68909
68910         * modules/inline: New file/module.
68911         * modules/xalloc (Files): Remove m4/inline.m4.
68912         (Depends-on): Add inline, instead.
68913         * modules/oset: Likewise.
68914         * modules/list: Likewise.
68915
68916 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68917
68918         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
68919         Problem reported by Matthew Woehlke.
68920
68921 2006-11-09  Bruno Haible  <bruno@clisp.org>
68922
68923         * lib/tempname.c (gen_tempname): Remove variant that invokes
68924         __gen_tempname.
68925         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
68926         __gen_tempname.
68927
68928 2006-11-08  Bruno Haible  <bruno@clisp.org>
68929
68930         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
68931         to 'yes' instead of 'cross-compiling'.
68932
68933 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
68934
68935         * lib/quotearg.h (quotearg_free): New decl.
68936         * lib/quotearg.c (quotearg_free): New function.
68937         (slot0, nslots, slotvec0, slotvec):
68938         Now file-scope so that quotearg_free can get at them.
68939
68940 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68941
68942         Sync from Automake.
68943         * build-aux/gnupload: Add missing 'gnu' to example URL.
68944         Report by Karl Berry.
68945
68946 2006-11-08  Bruno Haible  <bruno@clisp.org>
68947
68948         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
68949         Suggested by Paul Eggert.
68950
68951 2006-11-08  Jim Meyering  <jim@meyering.net>
68952
68953         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
68954         It's already included if !_LIBC.
68955         (fts_safe_changedir): Add a comment.
68956
68957 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68958
68959         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
68960         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
68961         Matthew Woehlke.
68962
68963         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
68964         definitions up, to avoid colliding with change below.
68965         (static_inline) [HAVE_INLINE]: New macro.
68966         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
68967         Provide extern decls when !HAVE_INLINE.  Do not define unless
68968         static_inline is defined, either by us or by xmalloc.c.  Use
68969         static_inline rather than static inline.
68970         (XCALLOC): Optimize sizeof(T) = 1 case.
68971         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
68972
68973 2006-11-07  Bruno Haible  <bruno@clisp.org>
68974
68975         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
68976         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
68977         AC_C_INLINE.
68978         * modules/xalloc (Files): Add m4/inline.m4.
68979
68980 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68981
68982         * README: Fix typo.
68983         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
68984         (Miscellanous Notes): ...from this.
68985
68986 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68987
68988         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
68989         Mention that offsetof should be used instead of sizeof.
68990         From Bruno Haible.
68991
68992 2006-11-07  Bruno Haible  <bruno@clisp.org>
68993
68994         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
68995
68996 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68997
68998         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68999         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
69000         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
69001         (gl_tree_add_before, gl_tree_add_after):
69002         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
69003         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
69004         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
69005         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
69006         (gl_linked_add_after, gl_linked_add_at): Likewise.
69007         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
69008         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
69009         (gl_tree_add_before, gl_tree_add_after): Likewise.
69010         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
69011         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
69012         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
69013
69014 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69015
69016         * lib/gl_oset.h: Use C comment style, not C++ comment style.
69017
69018 2006-11-06  Bruno Haible  <bruno@clisp.org>
69019
69020         * m4/inline.m4: New file.
69021         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
69022         * modules/list (Files): Add m4/inline.m4.
69023         * modules/oset (Files): Likewise.
69024
69025 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
69026
69027         * lib/idcache.c: Include <stddef.h>, for offsetof.
69028         (struct userid.name): Change from char * to a flexible array member.
69029         All uses changed.
69030         * modules/idcache (Depends-on): Add flexmember.
69031
69032         * MODULES.html.sh (Core language properties): New module flexmember.
69033         * modules/flexmember, m4/flexmember.m4: New files.
69034
69035         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
69036         inline functions that are identical with the old xnmalloc_inline,
69037         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
69038         that we can avoid some unnecessary integer multiplications and
69039         divisions in the common case where the element size is known at
69040         compile time.
69041         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
69042         needed.
69043         (xnboundedmalloc): Remove.
69044         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
69045         arguments, for consistency with rest of this header.
69046         (xcharalloc): Rewrite using XNMALLOC.
69047         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
69048         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
69049         versions have been moved to lib/xalloc.h and renamed to be the
69050         non-*_inline versions.
69051         (xmalloc, xrealloc): Implement without reference to the xnmalloc
69052         and xnrealloc functions, since those functions are now inline and
69053         now call us.
69054         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
69055         renaming described above.
69056         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
69057         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
69058         captures the dependency in AC_C_INLINE.
69059
69060         New module canonicalize-lgpl, proposed by Charles Wilson in
69061         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
69062         with a few small changes afterwards.
69063         * MODULES.html.sh (File system functions): New module
69064         canonicalize-lgpl.
69065         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
69066         and canonicalize_file_name.
69067         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
69068         * modules/canonicalize-lgpl: New files.
69069
69070 2006-11-05  Bruno Haible  <bruno@clisp.org>
69071
69072         * gnulib-tool (func_import, func_create_testdir): Create directories
69073         also for files in subdirectories of lib/.
69074
69075 2006-11-05  Bruno Haible  <bruno@clisp.org>
69076
69077         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
69078         ANSI C compliant.
69079
69080 2006-11-03  Bruno Haible  <bruno@clisp.org>
69081
69082         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
69083         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
69084         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
69085         (xnboundedmalloc): New inline function.
69086         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
69087         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
69088         xmalloc.
69089         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
69090         xmalloc.
69091         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
69092         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
69093         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
69094         xmalloc.
69095         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
69096         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
69097         xmalloc.
69098         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
69099         gl_tree_add_after): Use XMALLOC instead of xmalloc.
69100         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
69101         xmalloc.
69102         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
69103         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
69104         gl_tree_add_after): Use XMALLOC instead of xmalloc.
69105         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
69106         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
69107         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
69108         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
69109
69110 2006-11-03  Bruno Haible  <bruno@clisp.org>
69111
69112         * lib/c-ctype.h [C++]: Define functions without name mangling.
69113         * lib/fwriteerror.h [C++]: Likewise.
69114         * lib/gcd.h [C++]: Likewise.
69115         * lib/linebreak.h [C++]: Likewise.
69116
69117 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
69118
69119         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
69120         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
69121         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
69122         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
69123         Check for functions and headers just once.
69124         Check for declaration of canonicalize_file_name.
69125         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
69126
69127 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69128
69129         * gnulib-tool (func_import): Fix typo in actioncmd.
69130
69131 2006-11-02  Bruno Haible  <bruno@clisp.org>
69132
69133         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
69134         newline sequence in the Makefile.am snippet as a space, like "make"
69135         does.
69136         Reported by Roger Persson <perrog@gmail.com>.
69137
69138 2006-11-01  Bruno Haible  <bruno@clisp.org>
69139
69140         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
69141         already declared in <string.h>.
69142         * lib/strcase.h (strncasecmp): Don't declare it if yes.
69143
69144 2006-11-01  Bruno Haible  <bruno@clisp.org>
69145
69146         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
69147         * lib/strcase.h: Include <string.h>.
69148         (strcasecmp): Define to rpl_strcasecmp here.
69149
69150 2006-11-01  Bruno Haible  <bruno@clisp.org>
69151
69152         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
69153
69154 2006-11-01  Eric Blake  <ebb9@byu.net>
69155
69156         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
69157
69158         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
69159
69160 2006-10-29  Bruno Haible  <bruno@clisp.org>
69161
69162         Make it compile in C++ mode.
69163         * lib/full-write.c (full_rw): Add a cast.
69164
69165 2006-11-01  Bruno Haible  <bruno@clisp.org>
69166
69167         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
69168         be POSIX compliant.
69169         Reported by Roger Persson <perrog@gmail.com>.
69170
69171 2006-11-01  Eric Blake  <ebb9@byu.net>
69172
69173         * lib/getopt_.h: Fix comments.
69174
69175 2006-10-31  Eric Blake  <ebb9@byu.net>
69176
69177         * modules/tmpdir (Depends-on): Add sys_stat.
69178         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
69179         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
69180         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
69181         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
69182         tempname.
69183
69184 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
69185
69186         Avoid some C++ diagnostics reported by Bruno Haible.
69187         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
69188         xmalloc.
69189         (quotearg_alloc): Use xcharalloc rather than xmalloc.
69190         (struct slotvec): Move to top level.
69191         (quotearg_n_options): Rewrite to avoid xmalloc.
69192         * lib/xalloc.h (xcharalloc): New function.
69193         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
69194         [defined __cplusplus]: Add function template that provides result
69195         type propagation.  This part of the change is from Bruno Haible.
69196
69197 2006-10-29  Bruno Haible  <bruno@clisp.org>
69198
69199         Make it compile in C++ mode.
69200         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
69201         * lib/strnlen1.c (strnlen1): Cast memchr result.
69202         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
69203         * lib/clean-temp.c (string_equals, string_hash): Add casts.
69204         (create_temp_dir): Rename local variable 'template'.
69205         (compile_csharp_using_sscli): Add cast.
69206         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
69207         * lib/findprog.c (find_in_path): Likewise.
69208         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
69209         * lib/wait-process.c (register_slave_subprocess): Likewise.
69210
69211 2006-10-22  Bruno Haible  <bruno@clisp.org>
69212
69213         * modules/tsearch: New file.
69214         * lib/tsearch.h: New file.
69215         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
69216         * m4/tsearch.m4: New file.
69217         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
69218
69219 2006-10-29  Eric Blake  <ebb9@byu.net>
69220
69221         * lib/arcfour.c: Assume config.h.
69222         * lib/arctwo.c: Likewise.
69223         * lib/base64.c: Likewise.
69224         * lib/check-version.c: Likewise.
69225         * lib/crc.c: Likewise.
69226         * lib/des.c: Likewise.
69227         * lib/gc-gnulib.c: Likewise.
69228         * lib/gc-libgcrypt.c: Likewise.
69229         * lib/gc-pbkdf2-sha1.c: Likewise.
69230         * lib/getaddrinfo.c: Likewise.
69231         * lib/getdelim.c: Likewise.
69232         * lib/getline.c: Likewise.
69233         * lib/hmac-md5.c: Likewise.
69234         * lib/hmac-sha1.c: Likewise.
69235         * lib/iconvme.c: Likewise.
69236         * lib/md2.c: Likewise.
69237         * lib/md4.c: Likewise.
69238         * lib/memxor.c: Likewise.
69239         * lib/read-file.c: Likewise.
69240         * lib/readline.c: Likewise.
69241         * lib/rijndael-alg-fst.c: Likewise.
69242         * lib/rijndael-api-fst.c: Likewise.
69243         * lib/xgetdomainname.c: Likewise.
69244
69245 2006-10-28  Eric Blake  <ebb9@byu.net>
69246
69247         * lib/xstrndup.c: Assume config.h.
69248
69249 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
69250
69251         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
69252         stat-macros.h is now for our own macros, whereas stat_h is for
69253         macros in the <sys/stat.h> name space.
69254         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
69255         (STAT_MACROS_H): Remove.
69256         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
69257         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
69258         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
69259         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
69260         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
69261         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
69262         Move these macros to ...
69263         * lib/stat_.h: here.  Don't include stat-macros.h.
69264         * lib/canonicalize.c: Don't include stat-macros.h.
69265         * lib/chown.c: Likewise.
69266         * lib/euidaccess.c: Likewise.
69267         * lib/file-type.c: Likewise.
69268         * lib/filemode.c: Likewise.
69269         * lib/glob.c: Likewise.
69270         * lib/isapipe.c: Likewise.
69271         * lib/lchown.c: Likewise.
69272         * lib/lstat.c: Likewise.
69273         * lib/mkdir-p.c: Likewise.
69274         * lib/rmdir.c: Likewise.
69275         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
69276         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
69277         unless mkdir isn't declared, to speed up 'configure'.
69278         Always create sys/stat.h, since it's unlikely any real sys/stat.h
69279         would define all the S_* symbols.
69280         * modules/canonicalize (Depends-on):
69281         Depend on sys_stat, not stat-macros.
69282         * modules/chown: Likewise.
69283         * modules/euidaccess: Likewise.
69284         * modules/filemode: Likewise.
69285         * modules/file-type: Likewise.
69286         * modules/glob: Likewise.
69287         * modules/isapipe: Likewise.
69288         * modules/lchown: Likewise.
69289         * modules/lstat: Likewise.
69290         * modules/mkancesdirs: Likewise.
69291         * modules/rmdir: Likewise.
69292         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
69293         * modules/modechange: Likewise.
69294         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
69295         (configure.ac): Remove gl_STAT_MACROS.
69296         * modules/sys_stat (Depends-on): Remove stat-macros.
69297
69298 2006-10-27  Bruno Haible  <bruno@clisp.org>
69299
69300         * m4/signed.m4: Remove file.
69301         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
69302         invocation.
69303         * modules/vasnprintf (Files): Remove m4/signed.m4.
69304
69305 2006-10-27  Bruno Haible  <bruno@clisp.org>
69306
69307         Update to GNU gettext 0.16.
69308         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
69309         m4/inttypes-h.m4, m4/signed.m4.
69310         * m4/gettext.m4: Update to GNU gettext 0.16.
69311         * m4/intl.m4: New file, from GNU gettext.
69312         * m4/intldir.m4: New file, from GNU gettext.
69313         * config/srclist.txt: Update
69314
69315 2006-10-27  Eric Blake  <ebb9@byu.net>
69316
69317         * MODULES.html.sh: Document tempname.
69318         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
69319         dependencies.
69320         (Files): Move lib/tempname.c...
69321         * modules/tempname: ...to this new module.
69322         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
69323         (gl_PREREQ_TEMPNAME): Move...
69324         * m4/tempname.m4: ...to this new file.
69325         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
69326         * modules/sys_stat (Depends-on): Add stat-macros.
69327         * lib/stat_.h (includes): Pick up stat macros.
69328         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
69329         if stat macros are broken.
69330         * lib/tempname.c (includes): No need to include "stat-macros.h".
69331         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
69332         (direxists, __path_search) [!_LIBC]: Don't compile these in
69333         gnulib; the tmpdir module covers that.
69334         * lib/tempname.h: New file.
69335
69336 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
69337
69338         * COPYING: Explain how gnulib-tool converts licence headers.
69339         Almost all wording by Eric Blake.
69340
69341 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
69342
69343         * lib/mbchar.h (is_basic_table): Make read-only.
69344         * lib/mbchar.c (is_basic_table): Likewise.
69345         Reported by John Darrington.
69346
69347 2006-10-25  Bruno Haible  <bruno@clisp.org>
69348
69349         * lib/progname.h (set_program_name): Undefine before defining.
69350
69351 2006-10-25  Bruno Haible  <bruno@clisp.org>
69352
69353         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
69354         false for non-gcc C++ compilers.
69355         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
69356
69357 2006-10-24  Bruno Haible  <bruno@clisp.org>
69358
69359         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
69360         iconv implementations like Irix iconv.
69361
69362 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69363
69364         * modules/vararrays: New file.
69365         * m4/vararrays.m4: New file, taken from diffutils.
69366         * MODULES.html.sh: New module vararrays.
69367
69368 2006-10-24  Karl Berry  <karl@gnu.org>
69369
69370         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
69371         Don't call GNU Unix.
69372
69373 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69374
69375         * users.txt: Add Libtool.
69376
69377         Sync from Libtool:
69378
69379         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69380
69381         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
69382         to gnulib's policy of including config.h unconditionally.
69383
69384 2006-10-24  Bruno Haible  <bruno@clisp.org>
69385
69386         * modules/wcwidth (Files): Add m4/wint_t.m4.
69387         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
69388         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
69389
69390 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69391
69392         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
69393         to pacify GCC with some -W flags enabled.  Problem reported by
69394         Bruno Haible.
69395
69396 2006-10-24  Jim Meyering  <jim@meyering.net>
69397
69398         * MODULES.html.sh: Remove uinttostr.  It's not a module.
69399         Reported by Karl Berry.
69400
69401 2006-10-23  Bruno Haible  <bruno@clisp.org>
69402
69403         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
69404
69405 2006-10-24  Bruno Haible  <bruno@clisp.org>
69406
69407         * lib/gl_list.h: Use C comment style, not C++ comment style.
69408
69409 2006-10-23  Eric Blake  <ebb9@byu.net>
69410
69411         * lib/getaddrinfo.c (includes): Add missing include.
69412
69413 2006-10-23  Bruno Haible  <bruno@clisp.org>
69414             Paul Eggert  <eggert@cs.ucla.edu>
69415
69416         Ability to rename obstack_free.
69417         * lib/obstack.h (__obstack_free): New macro. Declare instead of
69418         obstack_free.
69419         (obstack_free): Invoke the __obstack_free macro.
69420         * lib/obstack.c (obstack_free): Use __obstack_free macro.
69421
69422 2006-10-23  Bruno Haible  <bruno@clisp.org>
69423             Paul Eggert  <eggert@cs.ucla.edu>
69424
69425         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
69426         __argc, __argv from the declaration. (They are defined as macros on
69427         mingw.)
69428
69429 2006-10-22  Bruno Haible  <bruno@clisp.org>
69430
69431         * doc/gnulib-intro.texi: New file.
69432         * doc/gnulib.texi: Include it.
69433
69434 2006-10-21  Bruno Haible  <bruno@clisp.org>
69435
69436         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
69437         "Introduction", "Miscellanous Notes", "Particular Modules".
69438
69439 2006-10-21  Bruno Haible  <bruno@clisp.org>
69440
69441         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69442         Change mostlyclean-local rule to avoid sh syntax error from bash
69443         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
69444
69445 2006-10-23  Jim Meyering  <jim@meyering.net>
69446
69447         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
69448         in place of snprintf.
69449
69450         * modules/inttostr (Files): Add lib/uinttostr.c.
69451         * lib/uinttostr.c (inttostr): New file/function.
69452         * lib/inttostr.h (uinttostr): Declare.
69453         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
69454         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
69455         Add uinttostr.
69456         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
69457
69458 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
69459
69460         * lib/canonicalize.c (ELOOP): Define if not already defined.
69461         Problem reported by Bruno Haible in
69462         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
69463
69464 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
69465
69466         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
69467         Problem reported by Perry Smith and Ville Laurikari.
69468
69469         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
69470         uses.
69471
69472 2006-10-19  Bruno Haible  <bruno@clisp.org>
69473
69474         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
69475         for mingw.
69476
69477 2006-10-19  Bruno Haible  <bruno@clisp.org>
69478
69479         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
69480         Needed for mingw.
69481
69482 2006-10-19  Bruno Haible  <bruno@clisp.org>
69483
69484         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
69485
69486 2006-10-19  Bruno Haible  <bruno@clisp.org>
69487
69488         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
69489         it.
69490
69491 2006-10-19  Bruno Haible  <bruno@clisp.org>
69492
69493         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
69494         invocation.
69495
69496 2006-10-19  Bruno Haible  <bruno@clisp.org>
69497
69498         * gnulib-tool (func_create_testdir): Don't include ftruncate and
69499         mountlist by default.
69500
69501 2006-10-16  Bruno Haible  <bruno@clisp.org>
69502
69503         * lib/c-strstr.c: Include c-strstr.h.
69504
69505 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69506
69507         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
69508         in a slash.
69509
69510 2006-10-18  Bruno Haible  <bruno@clisp.org>
69511
69512         * lib/lock.h [C++]: Wrap definitions in extern "C".
69513
69514 2006-10-18  Bruno Haible  <bruno@clisp.org>
69515
69516         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
69517         gl_LIBOBJS list.
69518
69519 2006-10-18  Bruno Haible  <bruno@clisp.org>
69520
69521         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
69522
69523 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
69524
69525         * lib/xstrtol.h: Include gettext.h.
69526         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
69527         Problem reported by Eric Blake.
69528         * modules/xstrtol (Depends-on): Add gettext-h.
69529
69530 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
69531
69532         * lib/strftime.c (advance): New macro.
69533         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
69534         incomplete type, so you can't add 0 to it.  Problem and patch
69535         reported by Eelco Dolstra for dietlibc.
69536
69537 2006-10-18  Jim Meyering  <jim@meyering.net>
69538
69539         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
69540         type for a local, and rename it: s/up/user_proc/.
69541
69542 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
69543
69544         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
69545         READ_UTMP_USER_PROCESS.
69546         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
69547
69548 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
69549
69550         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
69551         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
69552
69553 2006-10-17  Eric Blake  <ebb9@byu.net>
69554
69555         * lib/sigprocmask.c (sigprocmask): Fix typo.
69556
69557         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
69558
69559         * modules/clean-temp (Makefile.am): Don't add to make output...
69560         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
69561         config.h.
69562
69563 2006-10-17  Bruno Haible  <bruno@clisp.org>
69564
69565         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
69566         differently if DEFAULT_TEXT_DOMAIN is set.
69567
69568 2006-10-16  Bruno Haible  <bruno@clisp.org>
69569
69570         * lib/clean-temp.c: Include fwriteerror.h.
69571
69572 2006-10-16  Bruno Haible  <bruno@clisp.org>
69573
69574         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
69575
69576 2006-10-16  Bruno Haible  <bruno@clisp.org>
69577
69578         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
69579         * lib/sigprocmask.h: Include <sys/types.h>.
69580         (sigset_t): Use the system's definition if present.
69581
69582 2006-10-17  Eric Blake  <ebb9@byu.net>
69583
69584         * lib/xvasprintf.c (includes): Assume config.h.
69585         * lib/xasprintf.c (includes): Likewise.
69586
69587 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
69588
69589         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
69590         at least as wide as intmax_t.
69591
69592 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
69593
69594         (Imported from Automake.)
69595         * build-aux/gnupload: Update to version 1.1 of directive file.
69596
69597 2006-10-16  Eric Blake  <ebb9@byu.net>
69598
69599         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
69600         match Automake 1.10a.
69601
69602 2006-10-14  Bruno Haible  <bruno@clisp.org>
69603
69604         * modules/sigprocmask: New file.
69605         * lib/sigprocmask.h: New file.
69606         * lib/sigprocmask.c: New file.
69607         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
69608         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
69609         request sigprocmask.o.
69610         (gl_PREREQ_SIGPROCMASK): New macro.
69611         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
69612         (Depends-on): Add sigprocmask.
69613         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
69614         gt_SIGNALBLOCKING. Test for 'raise' only once.
69615         * lib/fatal-signal.c: Include sigprocmask.h.
69616         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
69617         unblock_fatal_signals): Define always.
69618         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69619         sigprocmask.
69620
69621 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
69622
69623         Sync from Automake.
69624         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
69625         which incorrectly sets the mode of an existing destination
69626         directory.  In some cases the unpatched install-sh could do the
69627         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
69628         system.  We hope this is rare in practice, but it's clearly worth
69629         fixing.  Problem reported by Alex Unleashed in
69630         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
69631         Also, don't bother to check for -m bugs unless we're using -m;
69632         suggested by Stepan Kasal.
69633
69634 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69635
69636         Sync from Automake.
69637         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
69638         `-c' flag, so they appear at the same position as in %FASTDEP%
69639         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
69640         which ignores unknown options only after the first non-option.
69641         Bug report against M4 by Nelson H. F. Beebe.
69642
69643 2006-10-13  Jim Meyering  <jim@meyering.net>
69644
69645         Fix a bug in yesterday's change.
69646         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
69647         p->fts_statp->st_dev would be used uninitialized.
69648         Ensures that we always call fts_stat on the very first entry.
69649         Miklos Szeredi reported that find -xdev stopped working.
69650
69651 2006-10-12  Bruno Haible  <bruno@clisp.org>
69652
69653         * gnulib-tool (func_get_automake_snippet): Append an automatically
69654         computed EXTRA_DIST augmentation.
69655         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
69656         * modules/alloca-opt (Makefile.am): Likewise.
69657         * modules/allocsa (Makefile.am): Likewise.
69658         * modules/arcfour (Makefile.am): Likewise.
69659         * modules/arctwo (Makefile.am): Likewise.
69660         * modules/argmatch (Makefile.am): Likewise.
69661         * modules/argz (Makefile.am): Likewise.
69662         * modules/atexit (Makefile.am): Likewise.
69663         * modules/backupfile (Makefile.am): Likewise.
69664         * modules/byteswap (Makefile.am): Likewise.
69665         * modules/c-strtod (Makefile.am): Likewise.
69666         * modules/c-strtold (Makefile.am): Likewise.
69667         * modules/calloc (Makefile.am): Likewise.
69668         * modules/canon-host (Makefile.am): Likewise.
69669         * modules/canonicalize (Makefile.am): Likewise.
69670         * modules/chdir-long (Makefile.am): Likewise.
69671         * modules/chdir-safer (Makefile.am): Likewise.
69672         * modules/check-version (Makefile.am): Likewise.
69673         * modules/chown (Makefile.am): Likewise.
69674         * modules/cloexec (Makefile.am): Likewise.
69675         * modules/close-stream (Makefile.am): Likewise.
69676         * modules/closeout (Makefile.am): Likewise.
69677         * modules/crc (Makefile.am): Likewise.
69678         * modules/csharpexec (Makefile.am): Likewise.
69679         * modules/cycle-check (Makefile.am): Likewise.
69680         * modules/des (Makefile.am): Likewise.
69681         * modules/dev-ino (Makefile.am): Likewise.
69682         * modules/dirfd (Makefile.am): Likewise.
69683         * modules/dirname (Makefile.am): Likewise.
69684         * modules/dup2 (Makefile.am): Likewise.
69685         * modules/eealloc (Makefile.am): Likewise.
69686         * modules/error (Makefile.am): Likewise.
69687         * modules/euidaccess (Makefile.am): Likewise.
69688         * modules/exclude (Makefile.am): Likewise.
69689         * modules/exitfail (Makefile.am): Likewise.
69690         * modules/fcntl-safer (Makefile.am): Likewise.
69691         * modules/fcntl (Makefile.am): Likewise.
69692         * modules/file-type (Makefile.am): Likewise.
69693         * modules/fileblocks (Makefile.am): Likewise.
69694         * modules/filemode (Makefile.am): Likewise.
69695         * modules/filenamecat (Makefile.am): Likewise.
69696         * modules/fnmatch (Makefile.am): Likewise.
69697         * modules/fopen-safer (Makefile.am): Likewise.
69698         * modules/fpending (Makefile.am): Likewise.
69699         * modules/fprintftime (Makefile.am): Likewise.
69700         * modules/free (Makefile.am): Likewise.
69701         * modules/fsusage (Makefile.am): Likewise.
69702         * modules/ftruncate (Makefile.am): Likewise.
69703         * modules/fts (Makefile.am): Likewise.
69704         * modules/gc-arcfour (Makefile.am): Likewise.
69705         * modules/gc-des (Makefile.am): Likewise.
69706         * modules/gc-hmac-md5 (Makefile.am): Likewise.
69707         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
69708         * modules/gc-md4 (Makefile.am): Likewise.
69709         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69710         * modules/gc-sha1 (Makefile.am): Likewise.
69711         * modules/gc (Makefile.am): Likewise.
69712         * modules/getaddrinfo (Makefile.am): Likewise.
69713         * modules/getcwd (Makefile.am): Likewise.
69714         * modules/getdelim (Makefile.am): Likewise.
69715         * modules/getdomainname (Makefile.am): Likewise.
69716         * modules/getgroups (Makefile.am): Likewise.
69717         * modules/gethostname (Makefile.am): Likewise.
69718         * modules/gethrxtime (Makefile.am): Likewise.
69719         * modules/getline (Makefile.am): Likewise.
69720         * modules/getloadavg (Makefile.am): Likewise.
69721         * modules/getlogin_r (Makefile.am): Likewise.
69722         * modules/getndelim2 (Makefile.am): Likewise.
69723         * modules/getopt (Makefile.am): Likewise.
69724         * modules/getpagesize (Makefile.am): Likewise.
69725         * modules/getpass-gnu (Makefile.am): Likewise.
69726         * modules/getpass (Makefile.am): Likewise.
69727         * modules/getsubopt (Makefile.am): Likewise.
69728         * modules/gettime (Makefile.am): Likewise.
69729         * modules/gettimeofday (Makefile.am): Likewise.
69730         * modules/getugroups (Makefile.am): Likewise.
69731         * modules/getusershell (Makefile.am): Likewise.
69732         * modules/glob (Makefile.am): Likewise.
69733         * modules/group-member (Makefile.am): Likewise.
69734         * modules/hard-locale (Makefile.am): Likewise.
69735         * modules/hash (Makefile.am): Likewise.
69736         * modules/hmac-md5 (Makefile.am): Likewise.
69737         * modules/hmac-sha1 (Makefile.am): Likewise.
69738         * modules/human (Makefile.am): Likewise.
69739         * modules/idcache (Makefile.am): Likewise.
69740         * modules/imaxabs (Makefile.am): Likewise.
69741         * modules/imaxdiv (Makefile.am): Likewise.
69742         * modules/inet_ntop (Makefile.am): Likewise.
69743         * modules/inet_pton (Makefile.am): Likewise.
69744         * modules/intprops (Makefile.am): Likewise.
69745         * modules/inttostr (Makefile.am): Likewise.
69746         * modules/inttypes (Makefile.am): Likewise.
69747         * modules/isapipe (Makefile.am): Likewise.
69748         * modules/javaversion (Makefile.am): Likewise.
69749         * modules/lchmod (Makefile.am): Likewise.
69750         * modules/lchown (Makefile.am): Likewise.
69751         * modules/localcharset (Makefile.am): Likewise.
69752         * modules/long-options (Makefile.am): Likewise.
69753         * modules/lstat (Makefile.am): Likewise.
69754         * modules/malloc (Makefile.am): Likewise.
69755         * modules/mathl (Makefile.am): Likewise.
69756         * modules/mbchar (Makefile.am): Likewise.
69757         * modules/md2 (Makefile.am): Likewise.
69758         * modules/md4 (Makefile.am): Likewise.
69759         * modules/md5 (Makefile.am): Likewise.
69760         * modules/memcasecmp (Makefile.am): Likewise.
69761         * modules/memchr (Makefile.am): Likewise.
69762         * modules/memcmp (Makefile.am): Likewise.
69763         * modules/memcoll (Makefile.am): Likewise.
69764         * modules/memcpy (Makefile.am): Likewise.
69765         * modules/memmem (Makefile.am): Likewise.
69766         * modules/memmove (Makefile.am): Likewise.
69767         * modules/mempcpy (Makefile.am): Likewise.
69768         * modules/memrchr (Makefile.am): Likewise.
69769         * modules/memset (Makefile.am): Likewise.
69770         * modules/memxor (Makefile.am): Likewise.
69771         * modules/mkancesdirs (Makefile.am): Likewise.
69772         * modules/mkdir-p (Makefile.am): Likewise.
69773         * modules/mkdir (Makefile.am): Likewise.
69774         * modules/mkdtemp (Makefile.am): Likewise.
69775         * modules/mkstemp (Makefile.am): Likewise.
69776         * modules/mktime (Makefile.am): Likewise.
69777         * modules/modechange (Makefile.am): Likewise.
69778         * modules/mountlist (Makefile.am): Likewise.
69779         * modules/nanosleep (Makefile.am): Likewise.
69780         * modules/obstack (Makefile.am): Likewise.
69781         * modules/openat (Makefile.am): Likewise.
69782         * modules/pagealign_alloc (Makefile.am): Likewise.
69783         * modules/pathmax (Makefile.am): Likewise.
69784         * modules/physmem (Makefile.am): Likewise.
69785         * modules/poll (Makefile.am): Likewise.
69786         * modules/posixtm (Makefile.am): Likewise.
69787         * modules/posixver (Makefile.am): Likewise.
69788         * modules/putenv (Makefile.am): Likewise.
69789         * modules/quote (Makefile.am): Likewise.
69790         * modules/quotearg (Makefile.am): Likewise.
69791         * modules/raise (Makefile.am): Likewise.
69792         * modules/read-file (Makefile.am): Likewise.
69793         * modules/readline (Makefile.am): Likewise.
69794         * modules/readlink (Makefile.am): Likewise.
69795         * modules/readtokens (Makefile.am): Likewise.
69796         * modules/readutmp (Makefile.am): Likewise.
69797         * modules/realloc (Makefile.am): Likewise.
69798         * modules/regex (Makefile.am): Likewise.
69799         * modules/rename-dest-slash (Makefile.am): Likewise.
69800         * modules/rename (Makefile.am): Likewise.
69801         * modules/rijndael (Makefile.am): Likewise.
69802         * modules/rmdir (Makefile.am): Likewise.
69803         * modules/rpmatch (Makefile.am): Likewise.
69804         * modules/safe-read (Makefile.am): Likewise.
69805         * modules/safe-write (Makefile.am): Likewise.
69806         * modules/same-inode (Makefile.am): Likewise.
69807         * modules/same (Makefile.am): Likewise.
69808         * modules/save-cwd (Makefile.am): Likewise.
69809         * modules/savedir (Makefile.am): Likewise.
69810         * modules/setenv (Makefile.am): Likewise.
69811         * modules/settime (Makefile.am): Likewise.
69812         * modules/sha1 (Makefile.am): Likewise.
69813         * modules/sig2str (Makefile.am): Likewise.
69814         * modules/snprintf (Makefile.am): Likewise.
69815         * modules/stat-macros (Makefile.am): Likewise.
69816         * modules/stat-time (Makefile.am): Likewise.
69817         * modules/stdbool (Makefile.am): Likewise.
69818         * modules/stdint (Makefile.am): Likewise.
69819         * modules/stdlib-safer (Makefile.am): Likewise.
69820         * modules/stpcpy (Makefile.am): Likewise.
69821         * modules/stpncpy (Makefile.am): Likewise.
69822         * modules/strcase (Makefile.am): Likewise.
69823         * modules/strcasestr (Makefile.am): Likewise.
69824         * modules/strchrnul (Makefile.am): Likewise.
69825         * modules/strcspn (Makefile.am): Likewise.
69826         * modules/strdup (Makefile.am): Likewise.
69827         * modules/strerror (Makefile.am): Likewise.
69828         * modules/strftime (Makefile.am): Likewise.
69829         * modules/strndup (Makefile.am): Likewise.
69830         * modules/strnlen (Makefile.am): Likewise.
69831         * modules/strpbrk (Makefile.am): Likewise.
69832         * modules/strsep (Makefile.am): Likewise.
69833         * modules/strstr (Makefile.am): Likewise.
69834         * modules/strtod (Makefile.am): Likewise.
69835         * modules/strtoimax (Makefile.am): Likewise.
69836         * modules/strtok_r (Makefile.am): Likewise.
69837         * modules/strtol (Makefile.am): Likewise.
69838         * modules/strtoll (Makefile.am): Likewise.
69839         * modules/strtoul (Makefile.am): Likewise.
69840         * modules/strtoull (Makefile.am): Likewise.
69841         * modules/strtoumax (Makefile.am): Likewise.
69842         * modules/strverscmp (Makefile.am): Likewise.
69843         * modules/sys_socket (Makefile.am): Likewise.
69844         * modules/sys_stat (Makefile.am): Likewise.
69845         * modules/sysexits (Makefile.am): Likewise.
69846         * modules/time_r (Makefile.am): Likewise.
69847         * modules/timegm (Makefile.am): Likewise.
69848         * modules/timespec (Makefile.am): Likewise.
69849         * modules/tmpfile-safer (Makefile.am): Likewise.
69850         * modules/trim (Makefile.am): Likewise.
69851         * modules/unistd-safer (Makefile.am): Likewise.
69852         * modules/unlinkdir (Makefile.am): Likewise.
69853         * modules/unlocked-io (Makefile.am): Likewise.
69854         * modules/userspec (Makefile.am): Likewise.
69855         * modules/utime (Makefile.am): Likewise.
69856         * modules/utimecmp (Makefile.am): Likewise.
69857         * modules/utimens (Makefile.am): Likewise.
69858         * modules/vasnprintf (Makefile.am): Likewise.
69859         * modules/vasprintf (Makefile.am): Likewise.
69860         * modules/vsnprintf (Makefile.am): Likewise.
69861         * modules/xalloc (Makefile.am): Likewise.
69862         * modules/xgetcwd (Makefile.am): Likewise.
69863         * modules/xnanosleep (Makefile.am): Likewise.
69864         * modules/xreadlink (Makefile.am): Likewise.
69865         * modules/xstrtod (Makefile.am): Likewise.
69866         * modules/xstrtol (Makefile.am): Likewise.
69867         * modules/xstrtold (Makefile.am): Likewise.
69868         * modules/yesno (Makefile.am): Likewise.
69869         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
69870
69871 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
69872
69873         * modules/error (Makefile.am): Distribute files through
69874         EXTRA_DIST, not lib_SOURCES.
69875
69876 2006-10-12  Eric Blake  <ebb9@byu.net>
69877
69878         * modules/error (Makefile.am): Distribute files in /lib.
69879         * modules/obstack (Makefile.am): Likewise.
69880
69881 2006-10-12  Bruno Haible  <bruno@clisp.org>
69882
69883         * modules/acl (Makefile.am): Distribute all files in lib/ through
69884         EXTRA_DIST.
69885         * modules/arcfour (Makefile.am): Likewise.
69886         * modules/arctwo (Makefile.am): Likewise.
69887         * modules/argmatch (Makefile.am): Likewise.
69888         * modules/argz (Makefile.am): Likewise.
69889         * modules/atexit (Makefile.am): Likewise.
69890         * modules/backupfile (Makefile.am): Likewise.
69891         * modules/c-strtod (Makefile.am): Likewise.
69892         * modules/c-strtold (Makefile.am): Likewise.
69893         * modules/calloc (Makefile.am): Likewise.
69894         * modules/canon-host (Makefile.am): Likewise.
69895         * modules/canonicalize (Makefile.am): Likewise.
69896         * modules/chdir-long (Makefile.am): Likewise.
69897         * modules/chdir-safer (Makefile.am): Likewise.
69898         * modules/check-version (Makefile.am): Likewise.
69899         * modules/chown (Makefile.am): Likewise.
69900         * modules/cloexec (Makefile.am): Likewise.
69901         * modules/close-stream (Makefile.am): Likewise.
69902         * modules/closeout (Makefile.am): Likewise.
69903         * modules/crc (Makefile.am): Likewise.
69904         * modules/cycle-check (Makefile.am): Likewise.
69905         * modules/des (Makefile.am): Likewise.
69906         * modules/dirfd (Makefile.am): Likewise.
69907         * modules/dirname (Makefile.am): Likewise.
69908         * modules/dup2 (Makefile.am): Likewise.
69909         * modules/euidaccess (Makefile.am): Likewise.
69910         * modules/exclude (Makefile.am): Likewise.
69911         * modules/exitfail (Makefile.am): Likewise.
69912         * modules/fcntl-safer (Makefile.am): Likewise.
69913         * modules/file-type (Makefile.am): Likewise.
69914         * modules/fileblocks (Makefile.am): Likewise.
69915         * modules/filemode (Makefile.am): Likewise.
69916         * modules/filenamecat (Makefile.am): Likewise.
69917         * modules/fnmatch (Makefile.am): Likewise.
69918         * modules/fopen-safer (Makefile.am): Likewise.
69919         * modules/fpending (Makefile.am): Likewise.
69920         * modules/fprintftime (Makefile.am): Likewise.
69921         * modules/free (Makefile.am): Likewise.
69922         * modules/fsusage (Makefile.am): Likewise.
69923         * modules/ftruncate (Makefile.am): Likewise.
69924         * modules/fts (Makefile.am): Likewise.
69925         * modules/gc (Makefile.am): Likewise.
69926         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69927         * modules/getaddrinfo (Makefile.am): Likewise.
69928         * modules/getcwd (Makefile.am): Likewise.
69929         * modules/getdelim (Makefile.am): Likewise.
69930         * modules/getdomainname (Makefile.am): Likewise.
69931         * modules/getgroups (Makefile.am): Likewise.
69932         * modules/gethostname (Makefile.am): Likewise.
69933         * modules/gethrxtime (Makefile.am): Likewise.
69934         * modules/getline (Makefile.am): Likewise.
69935         * modules/getloadavg (Makefile.am): Likewise.
69936         * modules/getlogin_r (Makefile.am): Likewise.
69937         * modules/getopt (Makefile.am): Likewise.
69938         * modules/getpass (Makefile.am): Likewise.
69939         * modules/getpass-gnu (Makefile.am): Likewise.
69940         * modules/getsubopt (Makefile.am): Likewise.
69941         * modules/gettime (Makefile.am): Likewise.
69942         * modules/gettimeofday (Makefile.am): Likewise.
69943         * modules/getugroups (Makefile.am): Likewise.
69944         * modules/getusershell (Makefile.am): Likewise.
69945         * modules/glob (Makefile.am): Likewise.
69946         * modules/group-member (Makefile.am): Likewise.
69947         * modules/hard-locale (Makefile.am): Likewise.
69948         * modules/hash (Makefile.am): Likewise.
69949         * modules/hmac-md5 (Makefile.am): Likewise.
69950         * modules/hmac-sha1 (Makefile.am): Likewise.
69951         * modules/human (Makefile.am): Likewise.
69952         * modules/idcache (Makefile.am): Likewise.
69953         * modules/imaxabs (Makefile.am): Likewise.
69954         * modules/imaxdiv (Makefile.am): Likewise.
69955         * modules/inet_ntop (Makefile.am): Likewise.
69956         * modules/inet_pton (Makefile.am): Likewise.
69957         * modules/inttostr (Makefile.am): Likewise.
69958         * modules/isapipe (Makefile.am): Likewise.
69959         * modules/lchown (Makefile.am): Likewise.
69960         * modules/long-options (Makefile.am): Likewise.
69961         * modules/lstat (Makefile.am): Likewise.
69962         * modules/malloc (Makefile.am): Likewise.
69963         * modules/mathl (Makefile.am): Likewise.
69964         * modules/mbchar (Makefile.am): Likewise.
69965         * modules/md2 (Makefile.am): Likewise.
69966         * modules/md4 (Makefile.am): Likewise.
69967         * modules/md5 (Makefile.am): Likewise.
69968         * modules/memcasecmp (Makefile.am): Likewise.
69969         * modules/memchr (Makefile.am): Likewise.
69970         * modules/memcmp (Makefile.am): Likewise.
69971         * modules/memcoll (Makefile.am): Likewise.
69972         * modules/memcpy (Makefile.am): Likewise.
69973         * modules/memmem (Makefile.am): Likewise.
69974         * modules/memmove (Makefile.am): Likewise.
69975         * modules/mempcpy (Makefile.am): Likewise.
69976         * modules/memrchr (Makefile.am): Likewise.
69977         * modules/memset (Makefile.am): Likewise.
69978         * modules/memxor (Makefile.am): Likewise.
69979         * modules/mkancesdirs (Makefile.am): Likewise.
69980         * modules/mkdir (Makefile.am): Likewise.
69981         * modules/mkdir-p (Makefile.am): Likewise.
69982         * modules/mkdtemp (Makefile.am): Likewise.
69983         * modules/mkstemp (Makefile.am): Likewise.
69984         * modules/mktime (Makefile.am): Likewise.
69985         * modules/modechange (Makefile.am): Likewise.
69986         * modules/mountlist (Makefile.am): Likewise.
69987         * modules/nanosleep (Makefile.am): Likewise.
69988         * modules/openat (Makefile.am): Likewise.
69989         * modules/pagealign_alloc (Makefile.am): Likewise.
69990         * modules/physmem (Makefile.am): Likewise.
69991         * modules/poll (Makefile.am): Likewise.
69992         * modules/posixtm (Makefile.am): Likewise.
69993         * modules/posixver (Makefile.am): Likewise.
69994         * modules/putenv (Makefile.am): Likewise.
69995         * modules/quote (Makefile.am): Likewise.
69996         * modules/quotearg (Makefile.am): Likewise.
69997         * modules/raise (Makefile.am): Likewise.
69998         * modules/read-file (Makefile.am): Likewise.
69999         * modules/readline (Makefile.am): Likewise.
70000         * modules/readlink (Makefile.am): Likewise.
70001         * modules/readtokens (Makefile.am): Likewise.
70002         * modules/readutmp (Makefile.am): Likewise.
70003         * modules/realloc (Makefile.am): Likewise.
70004         * modules/regex (Makefile.am): Likewise.
70005         * modules/rename (Makefile.am): Likewise.
70006         * modules/rename-dest-slash (Makefile.am): Likewise.
70007         * modules/rijndael (Makefile.am): Likewise.
70008         * modules/rmdir (Makefile.am): Likewise.
70009         * modules/rpmatch (Makefile.am): Likewise.
70010         * modules/safe-read (Makefile.am): Likewise.
70011         * modules/safe-write (Makefile.am): Likewise.
70012         * modules/same (Makefile.am): Likewise.
70013         * modules/save-cwd (Makefile.am): Likewise.
70014         * modules/savedir (Makefile.am): Likewise.
70015         * modules/setenv (Makefile.am): Likewise.
70016         * modules/settime (Makefile.am): Likewise.
70017         * modules/sha1 (Makefile.am): Likewise.
70018         * modules/sig2str (Makefile.am): Likewise.
70019         * modules/snprintf (Makefile.am): Likewise.
70020         * modules/stdlib-safer (Makefile.am): Likewise.
70021         * modules/stpcpy (Makefile.am): Likewise.
70022         * modules/stpncpy (Makefile.am): Likewise.
70023         * modules/strcase (Makefile.am): Likewise.
70024         * modules/strcasestr (Makefile.am): Likewise.
70025         * modules/strchrnul (Makefile.am): Likewise.
70026         * modules/strcspn (Makefile.am): Likewise.
70027         * modules/strdup (Makefile.am): Likewise.
70028         * modules/strerror (Makefile.am): Likewise.
70029         * modules/strftime (Makefile.am): Likewise.
70030         * modules/strndup (Makefile.am): Likewise.
70031         * modules/strnlen (Makefile.am): Likewise.
70032         * modules/strpbrk (Makefile.am): Likewise.
70033         * modules/strsep (Makefile.am): Likewise.
70034         * modules/strstr (Makefile.am): Likewise.
70035         * modules/strtod (Makefile.am): Likewise.
70036         * modules/strtoimax (Makefile.am): Likewise.
70037         * modules/strtok_r (Makefile.am): Likewise.
70038         * modules/strtol (Makefile.am): Likewise.
70039         * modules/strtoll (Makefile.am): Likewise.
70040         * modules/strtoul (Makefile.am): Likewise.
70041         * modules/strtoull (Makefile.am): Likewise.
70042         * modules/strtoumax (Makefile.am): Likewise.
70043         * modules/strverscmp (Makefile.am): Likewise.
70044         * modules/time_r (Makefile.am): Likewise.
70045         * modules/timegm (Makefile.am): Likewise.
70046         * modules/tmpfile-safer (Makefile.am): Likewise.
70047         * modules/unistd-safer (Makefile.am): Likewise.
70048         * modules/unlinkdir (Makefile.am): Likewise.
70049         * modules/userspec (Makefile.am): Likewise.
70050         * modules/utime (Makefile.am): Likewise.
70051         * modules/utimecmp (Makefile.am): Likewise.
70052         * modules/utimens (Makefile.am): Likewise.
70053         * modules/vasnprintf (Makefile.am): Likewise.
70054         * modules/vasprintf (Makefile.am): Likewise.
70055         * modules/vsnprintf (Makefile.am): Likewise.
70056         * modules/xalloc (Makefile.am): Likewise.
70057         * modules/xgetcwd (Makefile.am): Likewise.
70058         * modules/xnanosleep (Makefile.am): Likewise.
70059         * modules/xreadlink (Makefile.am): Likewise.
70060         * modules/xstrtod (Makefile.am): Likewise.
70061         * modules/xstrtol (Makefile.am): Likewise.
70062         * modules/xstrtold (Makefile.am): Likewise.
70063         * modules/yesno (Makefile.am): Likewise.
70064
70065 2006-10-12  Jim Meyering  <jim@meyering.net>
70066
70067         * m4/getloadavg.m4: Revert the change below.
70068
70069         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
70070         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
70071         fail with a symlink, which is what coreutils' ./bootstrap now
70072         creates by default.
70073
70074 2006-10-12  Bruno Haible  <bruno@clisp.org>
70075
70076         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
70077         mingw.
70078         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
70079         MSVC and mingw explicitly.
70080
70081 2006-10-11  Simon Josefsson  <jas@extundo.com>
70082             Bruno Haible  <bruno@clisp.org>
70083
70084         Add support for multiple gnulib-tool invocations in the scope of a
70085         single configure.ac file.
70086         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
70087         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
70088         with the same contents as the _LIBADD variable.
70089         (func_emit_initmacro_start, func_emit_initmacro_end,
70090         func_emit_initmacro_done): New functions.
70091         (func_import, func_create_testdir): Invoke them. Allow the identifiers
70092         gl_LIBOBJS and gl_LTLIBOBJS.
70093
70094 2006-10-11  Bruno Haible  <bruno@clisp.org>
70095
70096         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
70097         (func_create_testdir): Don't create po/Makefile.am, don't invoke
70098         autoreconf. Instead, invoke autopoint explicitly but move back the
70099         *.m4 files from gnulib.
70100
70101 2006-10-11  Bruno Haible  <bruno@clisp.org>
70102
70103         * gnulib-tool (func_usage): Make module names after --create-testdir
70104         optional.
70105         (func_create_testdir): If no module was specified, use nearly all
70106         modules.
70107
70108 2006-10-12  Jim Meyering  <jim@meyering.net>
70109
70110         Big performance improvement for fts-based tools that use FTS_NOSTAT.
70111         Avoid spurious inode-mismatch problems on non-POSIX file systems.
70112         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
70113         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
70114         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
70115         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
70116         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
70117         (fts_set_stat_required): New function.
70118         (fts_open): Defer the calls to fts_stat, if possible or requested.
70119         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
70120         into fts_stat itself.
70121         (fts_read): Perform any required (deferred) fts_stat call.
70122         (fts_build): Likewise, for the directory we're about to open and read.
70123         In the readdir loop, carefully decide whether each entry will require
70124         an eventual call to fts_stat, using dirent.d_type info if available.
70125         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
70126         a command line argument into this function.  Update all callers.
70127         Map a return value of FTS_DOT to FTS_D for a command line argument.
70128         * modules/fts (Depends-on): Add d-type.  Alphabetize.
70129         Thanks to Miklos Szeredi for his tenacity and for the initial
70130         bug report about "find" failing on a FUSE-based file system.
70131
70132         * lib/fts.c (fts_open): Use consistent indentation.
70133
70134 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
70135
70136         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
70137         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
70138         reported by Jim Meyering.  All uses of cache variables renamed
70139         to match Autoconf's.
70140         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
70141         the other one.
70142
70143         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
70144         Fix misspelling in diagnostic.
70145
70146 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
70147
70148         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
70149         defined.  Problem reported by Matthew Woehlke.
70150
70151         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
70152         Add support for Tandem NonStop R series.
70153         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
70154         Use new macro.
70155
70156         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
70157         (has_trailing_slash): Omit size arg; all callers changed.
70158         Omit 'inline', since it doesn't help performance and we'd
70159         need to configure it.
70160         Don't count //, ///, etc. as having a trailing slash.
70161         As a side effect, this removes a C99ism reported by Matthew Woehlke.
70162         (rpl_rename_dest_slash): On failure, use rename's errno rather
70163         than (in some cases) an incorrect or junk errno.
70164         Simplify code by removing need to compute length; this does
70165         cause it to make two passes instead of one over the file name,
70166         but it's worth it.
70167
70168         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
70169         change, since Autoconf's version may no longer be appropriate now
70170         that we are using CVS Autoconf's version.  Add support for Tandem.
70171
70172 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
70173             Bruno Haible  <bruno@clisp.org>
70174
70175         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
70176         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
70177         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
70178         gl_AC_TYPE_LONG_LONG.
70179
70180         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
70181         instead of HAVE_LONG_LONG.
70182         * lib/printf-args.c (printf_fetchargs): Likewise.
70183         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
70184         * lib/vasnprintf.c (VASNPRINTF): Likewise.
70185         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
70186         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
70187         gl_AC_TYPE_LONG_LONG.
70188
70189 2006-10-11  Bruno Haible  <bruno@clisp.org>
70190
70191         * m4/longlong.m4: Add comments.
70192         * m4/ulonglong.m4: Likewise.
70193
70194 2006-10-10  Bruno Haible  <bruno@clisp.org>
70195
70196         Make it possible to #define stpcpy, strdup to aliases.
70197         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
70198         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
70199
70200 2006-10-10  Bruno Haible  <bruno@clisp.org>
70201
70202         Make it possible to #define gcd to an alias.
70203         * lib/gcd.c: Include config.h.
70204
70205 2006-10-10  Bruno Haible  <bruno@clisp.org>
70206
70207         Make it possible to #define c_isascii to an alias.
70208         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
70209         defined. Undefine the macros before defining them, to avoid gcc
70210         warnings.
70211         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
70212         define NO_C_CTYPE_MACROS early.
70213
70214 2006-10-10  Bruno Haible  <bruno@clisp.org>
70215
70216         Make it possible to #define set_program_name to an alias.
70217         * lib/progname.c: Don't undefine set_program_name; instead, undefine
70218         ENABLE_RELOCATABLE early.
70219
70220 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
70221
70222         Port to Tandem NSK OSS, which has 64-bit signed int but at most
70223         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
70224         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
70225         More generally, don't assume that 64-bit signed int is available
70226         if unsigned int is, and vice versa.
70227         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
70228         unsigned symbols, not on their signed counterparts.
70229         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
70230         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
70231         (UINT64_C, UINTMAX_C):
70232         Likewise.
70233         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
70234         unsigned counterparts.
70235         (Have_long_long, Unsigned): New macros.
70236         (Int): Renamed from INT.
70237         (strtoimax): Use the new macros.
70238         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
70239         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
70240         * modules/inttypes (inttypes.h): Substitute
70241         HAVE_UNSIGNED_LONG_LONG_INT.
70242         * modules/stdint (stdint.h): Likewise.
70243         (Files): Add m4/ulonglong.m4.
70244
70245 2006-10-10  Bruno Haible  <bruno@clisp.org>
70246
70247         Fix a gcc -Wshadow warning.
70248         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
70249         to 'bucket'.
70250         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
70251         gl_linked_indexof_from_to): Likewise.
70252         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
70253         Likewise.
70254         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
70255         Likewise.
70256         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
70257         Reported by Eric Blake.
70258
70259 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
70260
70261         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
70262         for NetBSD.  Problem reported by Bruno Haible.
70263
70264 2006-10-09  Jim Meyering  <jim@meyering.net>
70265
70266         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
70267         Patch from Bruno Haible.
70268
70269 2006-10-09  Jim Meyering  <jim@meyering.net>
70270
70271         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
70272         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
70273         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
70274
70275 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
70276
70277         Don't include <config.h> twice; this doesn't work in some cases,
70278         e.g., when config.h has "#define intmax_t long long int" and
70279         we include <config.h>, <inttypes.h>, <config.h> in that order.
70280         Problem reported by Matthew Woehlke in:
70281         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
70282         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
70283         * lib/fts-cycle.c: Don't include config.h.
70284         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
70285         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
70286         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
70287         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
70288         inttypes.h.
70289         * lib/xstrtoumax.c: Likewise.
70290         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
70291         __strtol and the like, so that this module is more like its siblings.
70292         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
70293         Remove; no longer needed now that we assume gnulib inttypes.h.
70294
70295 2006-10-08  Bruno Haible  <bruno@clisp.org>
70296
70297         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
70298         option.
70299
70300 2006-10-07  Jim Meyering  <jim@meyering.net>
70301
70302         * modules/inttypes (inttypes.h): Revert what seems to have been
70303         an inadvertent part of today's change: use "|", not "/" in the
70304         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
70305
70306 2006-10-07  Bruno Haible  <bruno@clisp.org>
70307
70308         * modules/sublist: New file.
70309
70310 2006-10-07  Bruno Haible  <bruno@clisp.org>
70311
70312         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
70313         * modules/argz (argz.h): Likewise.
70314         * modules/arpa_inet (arpa/inet.h): Likewise.
70315         * modules/byteswap (byteswap.h): Likewise.
70316         * modules/configmake (configmake.h): Likewise.
70317         * modules/fcntl (fcntl.h): Likewise.
70318         * modules/fnmatch (fnmatch.h): Likewise.
70319         * modules/getopt (getopt.h): Likewise.
70320         * modules/glob (glob.h): Likewise.
70321         * modules/inttypes (inttypes.h): Likewise.
70322         * modules/netinet_in (netinet/in.h): Likewise.
70323         * modules/poll (poll.h): Likewise.
70324         * modules/stdbool (stdbool.h): Likewise.
70325         * modules/stdint (stdint.h): Likewise.
70326         * modules/sys_select (sys/select.h): Likewise.
70327         * modules/sys_socket (sys/socket.h): Likewise.
70328         * modules/sys_stat (sys/stat.h): Likewise.
70329         * modules/sysexits (sysexits.h): Likewise.
70330         * modules/unistd (unistd.h): Likewise.
70331         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70332         Add a "DO NOT EDIT" comment to the generated file.
70333         (func_import): Likewise for gnulib-comp.m4.
70334
70335 2006-10-07  Bruno Haible  <bruno@clisp.org>
70336
70337         * lib/gl_sublist.h: New file.
70338         * lib/gl_sublist.c: New file.
70339
70340 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70341
70342         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
70343         name (relative to the original working directory) and the file
70344         name component (relative to the temporary working directory).  All
70345         callers changed.
70346         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
70347         * lib/mkdir-p.c (make_dir_parents): Likewise.
70348         * lib/mkdir-p.h (make_dir_parents): Likewise.
70349
70350 2006-10-06  Eric Blake  <ebb9@byu.net>
70351
70352         Define several macros for use by the clean-temp module.
70353         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
70354         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
70355         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
70356
70357         * lib/clean-temp.h (close_stream_temp): New declaration.
70358         * lib/clean-temp.c (includes): Pull in headers according to what
70359         other modules are in use.
70360         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
70361
70362 2006-10-06  Bruno Haible  <bruno@clisp.org>
70363
70364         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
70365         instead of fopen, fwriteerror.
70366
70367 2006-10-06  Bruno Haible  <bruno@clisp.org>
70368
70369         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
70370         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
70371         int.
70372         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
70373         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
70374         Return an error indicator.
70375         Suggested by Eric Blake.
70376
70377 2006-10-06  Bruno Haible  <bruno@clisp.org>
70378
70379         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
70380         Reported by Eric Blake.
70381
70382 2006-10-06  Bruno Haible  <bruno@clisp.org>
70383
70384         * modules/closeout (Description): Mention stderr too.
70385
70386 2006-10-06  Bruno Haible  <bruno@clisp.org>
70387         and Paul Eggert  <eggert@cs.ucla.edu>
70388
70389         * lib/closeout.c (close_stdout): Also close stderr.
70390         * lib/closeout.h: Update comment.
70391
70392 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
70393
70394         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
70395         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
70396         * lib/dirchownmod.c: Include lchown.h.
70397         * lib/lchown.c: Don't include files that lchown.h now includes.
70398         Don't declare chown, since lchown.h now does that.
70399         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
70400         (lchown): Define to rpl_chown if lchown is declared but
70401         does not exist.  Declare using a prototype if lchown is not
70402         declared.  Add a copyright notice.
70403         * lib/mkstemp.h: Include <unistd.h>.
70404         * lib/openat.c: Include lchown.h.
70405
70406         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
70407         we now test for that separately.
70408         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
70409         rather than O_NOFOLLOW, when testing whether it's possible to
70410         avoid a race condition reliably.
70411         * lib/savewd.c (savewd_chdir): Likewise.
70412
70413         Remove macros that are no longer needed now that stdint.h is
70414         reliable.
70415         * lib/fsusage.c (UINTMAX_MAX): Remove.
70416         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
70417         * lib/utimecmp.c (SIZE_MAX): Remove.
70418
70419         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
70420
70421         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
70422         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
70423         O_NOATIME works.
70424
70425 2006-10-05  Bruno Haible  <bruno@clisp.org>
70426
70427         * lib/gl_list.h (gl_sortedlist_search_from_to,
70428         gl_sortedlist_indexof_from_to): New declarations.
70429         (gl_list_implementation): New fields sortedlist_search_from_to,
70430         sortedlist_indexof_from_to.
70431         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
70432         inline functions.
70433         * lib/gl_list.c (gl_sortedlist_search_from_to,
70434         gl_sortedlist_indexof_from_to): New functions.
70435         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
70436         function.
70437         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
70438         (gl_array_sortedlist_search_from_to): New function.
70439         (gl_array_list_implementation): Update.
70440         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
70441         function.
70442         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
70443         (gl_carray_sortedlist_search_from_to): New function.
70444         (gl_carray_list_implementation): Update.
70445         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
70446         gl_linked_sortedlist_indexof_from_to): New functions.
70447         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
70448         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
70449         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
70450         gl_tree_sortedlist_indexof_from_to): New functions.
70451         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
70452         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
70453         Update.
70454         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
70455         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
70456         Update.
70457
70458 2006-10-05  Bruno Haible  <bruno@clisp.org>
70459
70460         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
70461         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
70462         (struct gl_list_implementation): Add fields search_from_to,
70463         indexof_from_to. Remove fields search, indexof.
70464         (gl_list_search): Use the search_from_to method.
70465         (gl_list_search_from, gl_list_search_from_to): New functions.
70466         (gl_list_indexof): Use the indexof_from_to method.
70467         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
70468         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
70469         (gl_list_search_from, gl_list_search_from_to): New functions.
70470         (gl_list_indexof): Use the indexof_from_to method.
70471         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
70472         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
70473         gl_array_indexof. Add start_index, end_index arguments.
70474         (gl_array_search_from_to): Renamed from gl_array_search. Add
70475         start_index, end_index arguments.
70476         (gl_array_remove, gl_array_list_implementation): Update.
70477         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
70478         gl_carray_indexof. Add start_index, end_index arguments.
70479         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
70480         start_index, end_index arguments.
70481         (gl_carray_remove, gl_carray_list_implementation): Update.
70482         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
70483         gl_linked_search. Add start_index, end_index arguments.
70484         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
70485         start_index, end_index arguments.
70486         (gl_linked_remove): Update.
70487         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
70488         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
70489         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
70490         field to 'size_t'.
70491         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
70492         gl_tree_search. Add start_index, end_index arguments.
70493         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
70494         start_index, end_index arguments.
70495         (gl_tree_remove): Update.
70496         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
70497         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
70498         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
70499         function.
70500         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
70501         gl_tree_search. Add start_index, end_index arguments.
70502         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
70503         start_index, end_index arguments.
70504         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
70505         Update.
70506         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
70507
70508 2006-10-05  Bruno Haible  <bruno@clisp.org>
70509
70510         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
70511
70512         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
70513         fwriteerror_temp): New declarations.
70514         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
70515         (descriptors): New variable.
70516         (cleanup): First, close the descriptors.
70517         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
70518         fclose_temp, fwriteerror_temp): New functions.
70519
70520 2006-10-04  Jim Meyering  <jim@meyering.net>
70521
70522         * lib/fts.c (fts_open): Tiny comment change.
70523
70524 2006-10-04  Bruno Haible  <bruno@clisp.org>
70525
70526         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
70527         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
70528         gl_LOCK_BODY.
70529         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
70530         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
70531         gl_LOCK_EARLY_BODY.
70532         (gl_LOCK): Require gl_LOCK_BODY.
70533
70534 2006-10-04  Bruno Haible  <bruno@clisp.org>
70535
70536         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
70537         (gl_oset_search_atleast): New declaration.
70538         (struct gl_oset_implementation): Add field 'search_atleast'.
70539         (gl_oset_search_atleast): New inline function.
70540         * lib/gl_oset.c (gl_oset_search_atleast): New function.
70541         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
70542         (gl_array_oset_implementation): Update.
70543         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
70544         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
70545         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
70546
70547 2006-10-04  Bruno Haible  <bruno@clisp.org>
70548
70549         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
70550
70551 2006-10-03  Bruno Haible  <bruno@clisp.org>
70552
70553         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
70554         from gl_avltreehash_list_implementation.
70555
70556 2006-10-03  Bruno Haible  <bruno@clisp.org>
70557
70558         * lib/gl_oset.c (gl_oset_add): Fix return type.
70559
70560 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
70561
70562         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
70563
70564 2006-10-02  Eric Blake  <ebb9@byu.net>
70565
70566         * modules/strnlen (Depends-on): Add extensions.
70567
70568 2006-10-02  Eric Blake  <ebb9@byu.net>
70569
70570         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
70571         definition in 2.60+.
70572
70573 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
70574
70575         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
70576         checks.
70577
70578 2006-10-02  Bruno Haible  <bruno@clisp.org>
70579
70580         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
70581         to the AUTOMAKE_OPTIONS.
70582         Reported by Jim Meyering.
70583
70584 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
70585
70586         Work around bug in Solaris 10 /proc file system:
70587         /proc/self/fd/NNN/.. isn't the parent directory of
70588         the directory whose file descriptor is NNN.  This needs to
70589         be worked around at run time, not compile time, since a
70590         program might be built on Solaris 8, where things work, and
70591         run on Solaris 10.
70592         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
70593         to use the following interface instead:
70594         (OPENAT_BUFFER_SIZE): New macro.
70595         (openat_proc_name): New function.
70596         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
70597         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
70598         Likewise.
70599         * lib/openat-proc.c: New file.
70600         * modules/openat (Files): Add lib/openat-proc.c.
70601         (Depends-on): Add same-inode, stdbool.
70602         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
70603
70604 2006-09-29  Bruno Haible  <bruno@clisp.org>
70605
70606         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
70607         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
70608         argument. Set stdout_closed before testing for ferror, not after.
70609         (fwriteerror, fwriteerror_no_ebadf): New functions.
70610
70611 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70612
70613         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
70614
70615 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
70616
70617         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
70618         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
70619
70620 2006-09-28  Jim Meyering  <jim@meyering.net>
70621
70622         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
70623         Include <unistd.h>.
70624
70625 2006-09-28  Bruno Haible  <bruno@clisp.org>
70626
70627         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
70628         * modules/linkedhash-list (Depends-on): Likewise.
70629         * modules/rbtreehash-list (Depends-on): Likewise.
70630
70631 2006-09-28  Bruno Haible  <bruno@clisp.org>
70632
70633         * lib/strndup.h: Simplify the redefinition of strndup.
70634         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
70635         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
70636
70637 2006-09-28  Bruno Haible  <bruno@clisp.org>
70638
70639         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
70640         * lib/gl_linkedhash_list.c: Likewise.
70641         * lib/gl_rbtreehash_list.c: Likewise.
70642
70643 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
70644
70645         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
70646         getaddrinfo.
70647
70648         * lib/__fpending.h: Don't include <stdio_ext.h> unless
70649         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
70650         it causes <stdio_ext.h> to cause a compile-time error.
70651         Problem reported by Nelson H. F. Beebe.
70652         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
70653         of HAVE_DECL___PENDING.
70654
70655         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
70656         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
70657         declaration.
70658
70659 2006-09-27  Jim Meyering  <jim@meyering.net>
70660
70661         This file could end up with a definition for a function
70662         named __strndup, rather than rpl_strndup on a system with
70663         incomplete weak_alias support.
70664         * lib/strndup.c (strndup): Rename from __strndup.
70665         Remove #defines that used to map __strndup to strndup.
70666         Don't use K&R prototypes.
70667         Remove LIBC-related code, since this file is not sync'd with glibc.
70668         * lib/strndup.h: Revamp, accordingly.
70669         * m4/strndup.m4: Modernize.
70670
70671 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
70672
70673         * modules/savewd (Depends-on): Add 'raise'.
70674         * lib/savewd.c: Include <signal.h>, for 'raise'.
70675
70676 2006-09-26  Jim Meyering  <jim@meyering.net>
70677
70678         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
70679         when we detect Darwin 8.7.0's acl_get_file bug.
70680         Rearrange to perform the new (below) run-test while $LIBS
70681         contains any acl-related library.  Set USE_ACL at the end.
70682         (gl_ACL_GET_FILE): New function.
70683
70684 2006-09-26  Eric Blake  <ebb9@byu.net>
70685
70686         * lib/verror.c: Include <config.h> unconditionally.
70687
70688 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
70689
70690         * modules/clock-time (Maintainer): Add self.
70691         * modules/getlogin_r (Depends-on): Add extensions.
70692
70693 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70694
70695         * modules/clock-time: New module.
70696         * modules/nanosleep (Depends-on): Add clock-time.
70697         * modules/gethrxtime (Depends-on): Likewise.
70698         * modules/gettime (Depends-on): Likewise.
70699         * modules/settime (Depends-on): Likewise.
70700
70701         * modules/fts-lgpl: Depend on openat.
70702         * modules/mkancesdirs: Depend on savewd.
70703         * modules/mkdir-p: Likewise.
70704
70705 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70706
70707         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
70708
70709         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
70710         `gl_have_arbitrary_file_name_length_limit' to
70711         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
70712         actually works between configure runs.
70713
70714 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70715             Bruno Haible  <bruno@clisp.org>
70716
70717         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
70718
70719 2006-09-25  Jim Meyering  <jim@meyering.net>
70720
70721         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
70722         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
70723
70724 2006-09-25  Eric Blake  <ebb9@byu.net>
70725
70726         * gnulib-tool (func_import, func_create_testdir): Fix typos in
70727         exec's in 2006-09-18 patch when shuffling fds.
70728
70729 2006-09-25  Bruno Haible  <bruno@clisp.org>
70730
70731         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
70732         Reported by Jim Meyering.
70733
70734 2006-09-24  Jim Meyering  <jim@meyering.net>
70735
70736         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
70737         compare a pointer against a literal "0".  That caused failures with
70738         at least HP-UX's hpcc.
70739
70740 2006-09-22  Simon Josefsson  <jas@extundo.com>
70741
70742         * modules/gc-sha1:
70743         * modules/gc-md4:
70744         * modules/gc-hmac-sha1:
70745         * modules/gc-hmac-md5:
70746         * modules/gc-des:
70747         * modules/gc-arcfour: Distribute more files.
70748
70749 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70750
70751         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
70752         (gl_linked_iterator_from_to): Initialize struct completely.
70753         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
70754         (gl_tree_iterator_from_to): Likewise
70755         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
70756         * lib/gl_array_list.c [lint] (gl_array_iterator)
70757         (gl_array_iterator_from_to): Likewise.
70758         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
70759         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
70760         (gl_carray_iterator_from_to): Likewise.
70761
70762         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
70763         * lib/md4.c (md4_process_block): Remove unused variable.
70764         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
70765         parentheses for clarity.
70766
70767 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70768
70769         * modules/bison-i18n (Depends-on): Add gettext.
70770
70771 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70772
70773         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
70774         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
70775         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
70776         also add missing comma that caused broken test.
70777         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
70778         stdlib.h, for `abort'.
70779         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
70780         variables.
70781         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
70782         include unistd.h if present, for `rmdir'.
70783         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
70784         variables.
70785         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
70786         in the process include standard headers for prototypes.
70787         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
70788         gets declared on GNU/Linux.
70789         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
70790         unistd.h, for `rmdir'.
70791         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
70792
70793         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
70794         always true.
70795         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
70796
70797         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
70798
70799 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70800
70801         * gnulib-tool (func_version): Create output all at once.  This
70802         may help avoid triggering unnecessary SIGPIPEs, and at any
70803         rate it doesn't hurt.
70804
70805 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70806             Bruno Haible  <bruno@clisp.org>
70807
70808         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
70809         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
70810         * m4/signed.m4 (bh_C_SIGNED): Likewise.
70811
70812         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
70813         (gl_FUNC_VASPRINTF): Invoke it.
70814
70815 2006-09-22  Bruno Haible  <bruno@clisp.org>
70816
70817         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
70818         getloadavg.c as first argument.
70819
70820 2006-09-22  Bruno Haible  <bruno@clisp.org>
70821
70822         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
70823         at the beginning of the gl_INIT macro.
70824         * modules/getloadavg (configure.ac): Pass $gl_source_base to
70825         gl_GETLOADAVG.
70826
70827 2006-09-22  Bruno Haible  <bruno@clisp.org>
70828
70829         * gnulib-tool (func_create_megatestdir): Don't include the config-h
70830         module.
70831         Suggested by Ralf Wildenhues.
70832
70833 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70834
70835         Import this patch from libc:
70836
70837         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
70838
70839         * lib/regex_internal.c (re_string_reconstruct): Handle
70840         offset < pstr->valid_raw_len && pstr->offsets_needed case.
70841         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
70842         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
70843         re_string_context_at.
70844
70845         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
70846         now requires it.
70847         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
70848         gl_REGEX now does it for us.
70849         (gl_REGEX): Add test taken from
70850         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
70851
70852         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
70853         Check that large offsets work.  Modernize Autoconf usages.
70854         Prefer "yes" to mean a good thing rather than a bad.
70855         Don't put "#define mkstemp" in config.h, as this might interfere
70856         with standard system headers that "#define mkstemp mkstemp64".
70857
70858         * modules/mkstemp (Depends-on): Add extensions, so that
70859         mkstemp is visible on some platforms.
70860         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
70861         (Include): Change to "mkstemp.h" from <stdlib.h>.
70862         (Files): Add mkstemp.h.
70863
70864         * lib/mkstemp.h: New file, since some standard headers
70865         #define mkstemp.
70866         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
70867         Include "mkstemp.h".
70868         Make the _LIBC code resemble glibc original more,
70869         e.g., use K&R style.
70870         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
70871         (mkstemp): Remove, since mkstemp.h does this for us.
70872         * lib/stdlib--.h: Include mkstemp.h.
70873
70874         Import this patch from libc:
70875
70876         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70877
70878         * lib/tempname.c (__gen_tempname): Change attempts_min
70879         into a macro.  Use preprocessor to decide how to initialize
70880         attempts [Coverity CID 67].
70881
70882 2006-09-20  Bruno Haible  <bruno@clisp.org>
70883
70884         * lib/mkdtemp.c: Import from libc.
70885         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70886                 * sysdeps/posix/tempname.c (__gen_tempname): Change
70887                 attempts_min into a macro.  Use preprocessor to decide how to
70888                 initialize attempts [Coverity CID 67].
70889         2001-11-27  Paul Eggert  <eggert@twinsun.com>
70890                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
70891                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
70892
70893 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70894
70895         * gnulib-tool (func_exit): New function, to allow to pass the
70896         exit status portably through the trap.  Use everywhere.
70897         (--help, --version): Signal a write error.
70898         (trap): catch SIGPIPE, for write errors.
70899         Exit at the end of the trap, with the correct exit status.
70900
70901 2006-09-19  Karl Berry  <karl@gnu.org>
70902
70903         * doc/gnulib.texi: note about the license texinfo files.
70904
70905 2006-09-19  Eric Blake  <ebb9@byu.net>
70906
70907         * gnulib-tool: Avoid space-tab.
70908
70909 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70910
70911         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
70912         that prevented coreutils 6.1 from building.  Problem reported
70913         by Petter Reinholdtsen.
70914
70915 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70916
70917         * gnulib-tool (avoidlist): Fix typo that broke options like
70918         --avoid=lock that are used by coreutils bootstrap.
70919
70920 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
70921
70922         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
70923         more systematically.
70924
70925 2006-09-18  Jim Meyering  <jim@meyering.net>
70926
70927         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
70928
70929 2006-09-18  Bruno Haible  <bruno@clisp.org>
70930
70931         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
70932
70933 2006-09-18  Bruno Haible  <bruno@clisp.org>
70934
70935         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
70936         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
70937         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
70938         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
70939         * m4/gettext.m4: Require autoconf >= 2.52.
70940         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
70941         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
70942         of gl_cv_header_inttypes_h.
70943
70944 2006-09-18  Bruno Haible  <bruno@clisp.org>
70945
70946         * lib/javaversion.c: Include configmake.h.
70947
70948 2006-09-18  Bruno Haible  <bruno@clisp.org>
70949
70950         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
70951         avoid that the while loops be executed in a subshell.
70952
70953 2006-09-18  Bruno Haible  <bruno@clisp.org>
70954
70955         * MODULES.html.sh (func_module): Break long lines.
70956         Suggested by Bruce Korb <bkorb@gnu.org>.
70957
70958 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70959
70960         Speed up by a factor of 1.12.
70961         * gnulib-tool (nl): New variable.
70962         (func_import): Rewrite include directive extraction to only read each
70963         directive once.
70964
70965 2006-09-17  Bruno Haible  <bruno@clisp.org>
70966
70967         * modules/javaversion (Makefile.am): Remove DEFS setting.
70968         (Depends-on): Add configmake, for PKGDATADIR definition.
70969
70970 2006-09-17  Bruno Haible  <bruno@clisp.org>
70971
70972         * gnulib-tool (func_create_testdir): Rewrite all files at once.
70973
70974 2006-09-17  Bruno Haible  <bruno@clisp.org>
70975
70976         * gnulib-tool (func_append): New function, stolen from libtool.m4.
70977         (func_modules_transitive_closure, func_modules_add_dummy,
70978         func_modules_to_filelist, func_import, func_create_testdir,
70979         func_create_megatestdir, ...): Use it wherever possible.
70980         Suggested by Ralf Wildenhues.
70981
70982 2006-09-16  Karl Berry  <karl@gnu.org>
70983
70984         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
70985         to avoid sectioning errors.
70986         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
70987         [ifinfo]: blank line after @center-ed titles.
70988         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
70989         Spell FSF address consistently with others.
70990         (These changes approved by rms.)
70991
70992 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70993
70994         Speed up by a factor of 1.61.
70995         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
70996         already checked module names again.
70997
70998 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70999
71000         Speed up by a factor of 1.13.
71001         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
71002         for new_files, and the input to func_add_or_update.
71003
71004 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71005
71006         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
71007         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
71008
71009 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71010
71011         * modules/mkancesdirs (Depends-on): Add fcntl.
71012         * modules/savewd: New file.
71013         * MODULES.html.sh (File system functions): Add savewd.
71014
71015         * modules/configmake (Makefile.am): Add support for the
71016         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
71017
71018 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71019
71020         * m4/savewd.m4: New file.
71021
71022 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71023
71024         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
71025         (dirchownmod): New arg FD.  All callers changed.
71026         Use FD rather than opening the directory ourself, as opening is
71027         now the caller's responsibility.
71028         * lib/dirchownmod.h: Likewise.
71029         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
71030         hosts that require <sys/types.h> before <sys/stat.h>.  Include
71031         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
71032         (test_dir): Remove.
71033         (mkancesdirs): Return length of prefix of FILE that has already
71034         been made, or -2 if there is a child doing the work.  Redo
71035         algorithm so that it is O(N) rather than O(N**2).  Optimize away
71036         ".", and treat ".." specially since it might stray back into
71037         already-created areas.  Use a subprocess if necessary.  New arg
71038         WD; all users changed.  MAKE_DIR function should now return 1
71039         if it creates a directory that is not readable.  Return -2 if
71040         a child process is spun off.
71041         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
71042         Adjust signature to match code.
71043         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
71044         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
71045         all users changed.
71046         * lib/savewd.c, lib/savewd.h: New files.
71047
71048 2006-09-15  Jim Meyering  <jim@meyering.net>
71049
71050         * modules/rename-dest-slash: New module.
71051         * MODULES.html.sh (posix_compat): Add it here.
71052
71053         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
71054
71055 2006-09-15  Jim Meyering  <jim@meyering.net>
71056
71057         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
71058         file.
71059
71060         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
71061
71062 2006-09-15  Jim Meyering  <jim@meyering.net>
71063
71064         * lib/rename-dest-slash.c (has_trailing_slash): Use
71065         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
71066         (rpl_rename_dest_slash): Perform the cheaper trailing slash
71067         test before testing whether SRC is a directory.
71068         Suggestions from Bruno Haible.
71069
71070         Avoid a warning about an unused variable.
71071         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
71072         into the #ifdef block where it's used.
71073
71074         * lib/rename-dest-slash.c: New file.
71075
71076 2006-09-14  Bruno Haible  <bruno@clisp.org>
71077
71078         * lib/allocsa.c: Include <config.h> unconditionally.
71079         * lib/asnprintf.c: Likewise.
71080         * lib/asprintf.c: Likewise.
71081         * lib/c-strcasecmp.c: Likewise.
71082         * lib/c-strcasestr.c: Likewise.
71083         * lib/c-strncasecmp.c: Likewise.
71084         * lib/c-strstr.c: Likewise.
71085         * lib/classpath.c: Likewise.
71086         * lib/clean-temp.c: Likewise.
71087         * lib/concatpath.c: Likewise.
71088         * lib/copy-file.c: Likewise.
71089         * lib/csharpcomp.c: Likewise.
71090         * lib/csharpexec.c: Likewise.
71091         * lib/execute.c: Likewise.
71092         * lib/fatal-signal.c: Likewise.
71093         * lib/findprog.c: Likewise.
71094         * lib/fwriteerror.c: Likewise.
71095         * lib/gl_array_list.c: Likewise.
71096         * lib/gl_array_oset.c: Likewise.
71097         * lib/gl_avltree_list.c: Likewise.
71098         * lib/gl_avltree_oset.c: Likewise.
71099         * lib/gl_avltreehash_list.c: Likewise.
71100         * lib/gl_carray_list.c: Likewise.
71101         * lib/gl_linked_list.c: Likewise.
71102         * lib/gl_linkedhash_list.c: Likewise.
71103         * lib/gl_list.c: Likewise.
71104         * lib/gl_oset.c: Likewise.
71105         * lib/gl_rbtree_list.c: Likewise.
71106         * lib/gl_rbtree_oset.c: Likewise.
71107         * lib/gl_rbtreehash_list.c: Likewise.
71108         * lib/imaxabs.c: Likewise.
71109         * lib/imaxdiv.c: Likewise.
71110         * lib/javacomp.c: Likewise.
71111         * lib/javaexec.c: Likewise.
71112         * lib/javaversion.c: Likewise.
71113         * lib/linebreak.c: Likewise.
71114         * lib/localcharset.c: Likewise.
71115         * lib/lock.c: Likewise.
71116         * lib/mbchar.c: Likewise.
71117         * lib/mbswidth.c: Likewise.
71118         * lib/mkdtemp.c: Likewise.
71119         * lib/pipe.c: Likewise.
71120         * lib/printf-args.c: Likewise.
71121         * lib/printf-parse.c: Likewise.
71122         * lib/progname.c: Likewise.
71123         * lib/progreloc.c: Likewise.
71124         * lib/readlink.c: Likewise.
71125         * lib/sh-quote.c: Likewise.
71126         * lib/stpcpy.c: Likewise.
71127         * lib/stpncpy.c: Likewise.
71128         * lib/strcasecmp.c: Likewise.
71129         * lib/strcasestr.c: Likewise.
71130         * lib/strcspn.c: Likewise.
71131         * lib/striconv.c: Likewise.
71132         * lib/strncasecmp.c: Likewise.
71133         * lib/strnlen1.c: Likewise.
71134         * lib/strstr.c: Likewise.
71135         * lib/strtok_r.c: Likewise.
71136         * lib/tls.c: Likewise.
71137         * lib/tmpdir.c: Likewise.
71138         * lib/unicodeio.c: Likewise.
71139         * lib/unsetenv.c: Likewise.
71140         * lib/vasnprintf.c: Likewise.
71141         * lib/vasprintf.c: Likewise.
71142         * lib/wait-process.c: Likewise.
71143         * lib/xallocsa.c: Likewise.
71144         * lib/xsetenv.c: Likewise.
71145         * lib/xstriconv.c: Likewise.
71146
71147 2006-09-13  Simon Josefsson  <jas@extundo.com>
71148
71149         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
71150         that internally, suggested by Ralf Wildenhues
71151         <Ralf.Wildenhues@gmx.de>.
71152
71153 2006-09-13  Simon Josefsson  <jas@extundo.com>
71154
71155         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
71156         @LIBOBJS@.
71157         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71158
71159 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
71160
71161         * lib/_fpending.c: Include <config.h> unconditionally, since we no
71162         longer worry about uses that don't define HAVE_CONFIG_H.
71163         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
71164         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
71165         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
71166         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
71167         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
71168         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
71169         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
71170         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
71171         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
71172         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
71173         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
71174         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
71175         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
71176         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
71177         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
71178         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
71179         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
71180         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
71181         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
71182         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
71183         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
71184         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
71185         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
71186         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
71187         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
71188         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
71189         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
71190         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
71191         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
71192         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
71193         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
71194         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
71195         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
71196         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
71197         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
71198         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
71199         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
71200         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
71201         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
71202         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
71203         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
71204         Likewise.
71205
71206 2006-09-13  Eric Blake  <ebb9@byu.net>
71207
71208         * lib/getopt.c: Fix typo in last commit.
71209
71210 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
71211
71212         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
71213         dgettext.
71214
71215 2006-09-12  Jim Meyering  <jim@meyering.net>
71216
71217         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
71218         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
71219         Reported by Nelson H. F. Beebe.
71220
71221 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
71222
71223         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
71224         program_invocation_name and program_invocation_short_name are
71225         initialized.
71226         * lib/argp-namefrob.h: Move declarations of program_invocation_name
71227         and program_invocation_short_name to argp.h, so they are visible
71228         to user programs.
71229         * lib/argp.h: Likewise
71230
71231 2006-09-10  Bruno Haible  <bruno@clisp.org>
71232
71233         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
71234         m4/inttypes_h.m4, m4/uintmax_t.m4.
71235
71236 2006-09-10  Bruno Haible  <bruno@clisp.org>
71237
71238         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
71239         gl_AC_TYPE_UINTMAX_T.
71240
71241 2006-09-10  Bruno Haible  <bruno@clisp.org>
71242
71243         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
71244
71245 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71246
71247         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
71248         convention.  Text proposed by Bruno Haible.
71249         (struct argp_option): Document the use of N_() wrappers.
71250
71251         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
71252         '\v', and translate the two parts separately, instead of feeding
71253         the whole string to gettext.  This allows to exclude
71254         '\v' from the strings visible to the translator by writing doc
71255         strings as N_("..") "\v" N_("..").
71256
71257 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
71258
71259         * config/srclist.txt: Undo latest change; the bug was fixed.
71260
71261 2006-09-09  Bruno Haible  <bruno@clisp.org>
71262
71263         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
71264         assignments if building a library without libtool.
71265         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
71266         in func_emit_lib_Makefile_am.
71267         (func_import): When building a static library libfoo.a, arrange to
71268         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
71269         (func_create_testdir): Likewise.
71270         * modules/gc (configure.ac, Makefile.am): If building statically,
71271         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
71272         * modules/iconvme (configure.ac, Makefile.am): Likewise.
71273         * modules/striconv (configure.ac, Makefile.am): Likewise.
71274         Based on a suggestion by Ralf Wildenhues.
71275
71276 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71277
71278         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71279         Check for unistd.h too, since Autoconf doesn't assume POSIX.
71280         Also:
71281
71282         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71283         Add year_2050_test to catch glibc bug 2821
71284         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
71285
71286         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71287         Prefer #ifdef to #if.
71288
71289         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
71290         Return from 'main' instead of calling 'exit'.
71291
71292 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71293
71294         * lib/mktime.c (guess_time_tm): Fix bug where mktime
71295         returned the maximum time_t value rather than (time_t) -1.
71296         Problem originally reported by William Bardwell
71297         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
71298
71299         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
71300         Moved to here ...
71301         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
71302         ... from here.
71303
71304 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71305
71306         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
71307         2821 is fixed.
71308
71309 2006-09-08  Jim Meyering  <jim@meyering.net>
71310
71311         Don't make generated files read-only.  That would bother too many
71312         people.  However, do retain the ability to work when targets are
71313         read-only: remove the destination and temporary files before writing
71314         them (when generated via sed or echo), or by using the -f option for
71315         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
71316         * modules/alloca-opt, modules/argz, modules/arpa_inet:
71317         * modules/byteswap, modules/configmake, modules/fcntl:
71318         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
71319         * modules/localcharset, modules/netinet_in, modules/poll:
71320         * modules/stdbool, modules/stdint, modules/sys_select:
71321         * modules/sys_socket, modules/sys_stat, modules/sysexits:
71322
71323 2006-09-08  Jim Meyering  <jim@meyering.net>
71324
71325         Avoid new build failure on FreeBSD 6.0.
71326         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
71327         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
71328         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
71329
71330 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71331
71332         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
71333
71334 2006-09-07  Jim Meyering  <jim@meyering.net>
71335
71336         Fix global typo in last change: use chmod u-w, not chmod u-x.
71337         Spotted by Paul Eggert and Bruce Korb.
71338         * modules/alloca-opt, modules/argz, modules/arpa_inet:
71339         * modules/byteswap, modules/configmake, modules/fcntl:
71340         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
71341         * modules/localcharset, modules/netinet_in, modules/poll:
71342         * modules/stdbool, modules/stdint, modules/sys_select:
71343         * modules/sys_socket, modules/sys_stat, modules/sysexits:
71344
71345 2006-09-06  Jim Meyering  <jim@meyering.net>
71346
71347         Make generated files be read-only.
71348         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
71349         Ensure that each generated file is now read-only.
71350         * modules/argz: Likewise.
71351         * modules/arpa_inet: Likewise.
71352         * modules/byteswap: Likewise.
71353         * modules/configmake: Likewise.
71354         * modules/fcntl: Likewise.
71355         * modules/fnmatch: Likewise.
71356         * modules/getopt: Likewise.
71357         * modules/glob: Likewise.
71358         * modules/inttypes: Likewise.
71359         * modules/netinet_in: Likewise.
71360         * modules/poll: Likewise.
71361         * modules/stdbool: Likewise.
71362         * modules/stdint: Likewise.
71363         * modules/sys_select: Likewise.
71364         * modules/sys_socket: Likewise.
71365         * modules/sys_stat: Likewise.
71366         * modules/sysexits: Likewise.
71367         * modules/localcharset: Same as above, but continue using temporary
71368         file named "t-$@" (why different?) rather than the "$@-t" used
71369         everywhere else.
71370
71371         * modules/sysexits (Makefile.am): Replace literal occurrences
71372         of "sysexit.h" more readable, and more consistent, "$@".
71373
71374 2006-09-06  Bruno Haible  <bruno@clisp.org>
71375
71376         * modules/striconv: New file.
71377         * modules/xstriconv: New file.
71378         * MODULES.html.sh (Internationalization functions): Add striconv,
71379         xstriconv.
71380
71381 2006-09-06  Bruno Haible  <bruno@clisp.org>
71382
71383         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
71384         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
71385         not using libtool correctly.
71386
71387 2006-09-06  Bruno Haible  <bruno@clisp.org>
71388
71389         * lib/striconv.h: New file.
71390         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
71391         iconvstring.c.
71392         * lib/xstriconv.h: New file.
71393         * lib/xstriconv.c: New file.
71394
71395 2006-09-06  Bruno Haible  <bruno@clisp.org>
71396
71397         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71398         lib_..._LDFLAGS.
71399
71400 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71401
71402         * lib/argz_.h: Sync from Libtool.
71403
71404         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
71405                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
71406
71407         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
71408
71409 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
71410
71411         * modules/trim: New file.
71412
71413 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
71414
71415         * lib/trim.h: New file.
71416         * lib/trim.c: New file.
71417
71418 2006-09-05  Bruno Haible  <bruno@clisp.org>
71419
71420         * MODULES.html.sh (String handling): Add trim.
71421
71422 2006-09-04  Karl Berry  <karl@gnu.org>
71423
71424         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
71425         until next release.
71426
71427 2006-09-03  Bruno Haible  <bruno@clisp.org>
71428
71429         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
71430         correctly.
71431
71432 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71433
71434         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
71435         not gl_GETLOADAVG.  Omit unneeded semicolons.
71436         Problems reported by Ralf Wildenhues in
71437         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
71438         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
71439         at the end, which is the usual gnulib style.
71440
71441         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
71442         of doing all the work ourselves.
71443         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
71444         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
71445
71446 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71447
71448         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
71449         Problem reported by Ralf Wildenhues in
71450         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
71451
71452         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
71453         HAVE_STRUCT_STATFS_F_FSTYPENAME.
71454
71455 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71456
71457         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
71458         yesterday's patch by changing test -n to test -z.
71459
71460 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71461
71462         * modules/getloadavg (Files): Add m4/getloadavg.m4.
71463         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
71464         the former is now obsolescent.
71465
71466         * modules/chdir-long (Depends-on): Add fcntl.
71467
71468 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71469
71470         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
71471         obsolescent, and programs should use gnulib instead.
71472         * m4/getloadavg.m4: New file, with contents taken from Autoconf
71473         but with prefixes changed.
71474
71475 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71476
71477         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
71478         or stdbool.h, because they might not exist while configuring.
71479
71480         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
71481         Don't include unistd.h or limits.h; not needed, since chdir-long.h
71482         does that for us.
71483         (O_DIRECTORY): Remove.
71484
71485 2006-08-31  Eric Blake  <ebb9@byu.net>
71486
71487         * gnulib-tool: Don't let emacs change spaces to TAB.
71488
71489 2006-08-31  Bruno Haible  <bruno@clisp.org>
71490
71491         * gnulib-tool: When calling func_import more than once, do it in a
71492         subshell.
71493         Reported by Eric Blake <ebb9@byu.net>.
71494
71495 2006-08-31  Bruno Haible  <bruno@clisp.org>
71496
71497         * gnulib-tool (nl): Remove variable.
71498         (sed_transform_lib_file): Use more robust test for config-h module.
71499         (func_import): Fix typo in 2006-08-25 patch.
71500
71501 2006-08-31  Bruno Haible  <bruno@clisp.org>
71502
71503         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
71504         specified, augment Makefile.am variables instead of assigning them.
71505
71506 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71507
71508         Work around a bug in both the Linux and SunOS 64-bit kernels:
71509         nanosleep mishandles sleeps for longer than 2**31 seconds.
71510         Problem reported by Frank v Waveren in
71511         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
71512         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
71513         Check for nanosleep bug.
71514         (LIB_NANOSLEEP): Append clock_gettime library if needed.
71515
71516 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71517
71518         Work around a bug in both the Linux and SunOS 64-bit kernels:
71519         nanosleep mishandles sleeps for longer than 2**31 seconds.
71520         Problem reported by Frank v Waveren in
71521         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
71522         * lib/nanosleep.c (BILLION): New constant.
71523         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
71524         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
71525         implementation.
71526
71527 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71528
71529         * modules/nanosleep (Depends-on): Add gettime.
71530
71531 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71532         and Simon Josefsson  <jas@extundo.com>
71533         and Oskar Liljeblad  <oskar@osk.mine.nu>
71534
71535         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
71536         * gnulib-tool (func_import): New license type 'unmodifiable license
71537         text'.
71538         * modules/fdl: Use it.  Longer description.
71539         * module/gpl, module/lgpl: New files.
71540
71541 2006-08-30  Jim Meyering  <jim@meyering.net>
71542
71543         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
71544         shadowing the parameter.
71545
71546 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71547
71548         Sync from Libtool:
71549
71550         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71551
71552         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
71553         sharing with gnulib.  Report by Eric Blake.
71554
71555 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71556
71557         * modules/isapipe: New file.
71558         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
71559
71560 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71561
71562         * modules/configmake (Makefile.am): Add a comment, and omit
71563         the CONFIGMAKE_ prefix from generated macro names.  Suggested
71564         by Bruno Haible.
71565
71566 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71567
71568         * m4/isapipe.m4: New file.
71569
71570 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71571
71572         * lib/isapipe.c, lib/isapipe.h: New files.
71573
71574 2006-08-29  Jim Meyering  <jim@meyering.net>
71575
71576         * modules/configmake (Makefile.am): Make configmake.h depend on
71577         Makefile.  Otherwise, a stale configmake.h could hang around.
71578
71579 2006-08-29  Eric Blake  <ebb9@byu.net>
71580
71581         * lib/error.c (error_at_line, print_errno_message): Match libc, after
71582         resolution of upstream bug 3044.
71583
71584 2006-08-29  Bruno Haible  <bruno@clisp.org>
71585
71586         * modules/localcharset (Depends-on): Add configmake.
71587         (Makefile.am): Remove setting of LIBDIR through DEFS.
71588
71589 2006-08-29  Bruno Haible  <bruno@clisp.org>
71590
71591         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
71592         defined.
71593
71594 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71595
71596         * modules/fcntl: New file.
71597         * modules/chdir-safer (Depends-on): Add fcntl.
71598         * modules/fts: Likewise.
71599         * modules/mkdir-p: Likewise.
71600
71601         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
71602         This undoes the most recent change, since we're now addressing the
71603         problem in a different way.
71604
71605         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
71606         into output, since the output might be called Makefile.am even
71607         if $makefile_name is something different.
71608         (func_import): Use $makefile_am rather than
71609         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
71610         empty.
71611
71612         * modules/inttypes (Files): Add m4/inttypes-h.m4.
71613
71614 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71615
71616         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
71617         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
71618         recent change to stdint.m4, since we're now addressing the problem in a
71619         different way.
71620
71621 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71622
71623         * m4/fcntl_h.m4: New file.
71624
71625 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71626
71627         * lib/fcntl_.h: New file.
71628         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
71629         the fcntl module.
71630         * lib/dirchownmod.c: Likewise.
71631         * lib/fts.c: Likewise.
71632
71633         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
71634         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
71635         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
71636         just before including <inttypes.h>, to avoid circular inclusion.
71637
71638 2006-08-28  Jim Meyering  <jim@meyering.net>
71639
71640         * doc/visibility.texi: Actually read and correct the grammar of the
71641         sentence affected by yesterday's change.
71642
71643 2006-08-28  Eric Blake  <ebb9@byu.net>
71644
71645         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
71646         needs wrapper.
71647
71648 2006-08-28  Eric Blake  <ebb9@byu.net>
71649
71650         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
71651
71652 2006-08-28  Eric Blake  <ebb9@byu.net>
71653
71654         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
71655
71656 2006-08-28  Bruno Haible  <bruno@clisp.org>
71657
71658         * modules/c-strstr: New file, from GNU gettext.
71659         * MODULES.html.sh (String handling): Add c-strstr.
71660
71661 2006-08-28  Bruno Haible  <bruno@clisp.org>
71662
71663         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
71664         macros.
71665         Reported by Eric Blake.
71666
71667 2006-08-28  Bruno Haible  <bruno@clisp.org>
71668
71669         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
71670         (VASNPRINTF): Return a string of length > INT_MAX without failing.
71671         * lib/vasprintf.c: Include errno.h, limits.h.
71672         (EOVERFLOW): New fallback definition.
71673         (vasprintf): Test here whether the string length is > INT_MAX.
71674         * lib/vsnprintf.c: Include errno.h, limits.h.
71675         (EOVERFLOW): New fallback definition.
71676         (vsnprintf): Fix bug when generated string was too long for the buffer.
71677         Test here whether the string length is > INT_MAX.
71678
71679 2006-08-28  Bruno Haible  <bruno@clisp.org>
71680
71681         * lib/inttypes_.h (SCNX*): Remove definitions.
71682         Reported by Eric Blake.
71683
71684 2006-08-28  Bruno Haible  <bruno@clisp.org>
71685
71686         * lib/c-strstr.h: New file, from GNU gettext.
71687         * lib/c-strstr.c: New file, from GNU gettext.
71688
71689 2006-08-28  Bruno Haible  <bruno@clisp.org>
71690
71691         * gnulib-tool: Reorder some statements.
71692
71693 2006-08-28  Bruno Haible  <bruno@clisp.org>
71694
71695         * gnulib-tool: New option --makefile-name.
71696         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
71697         $makefile_name.
71698         (func_import): Write $makefile_name to the cache file, and read it from
71699         there unless explicitly specified. Use $makefile_name as file name
71700         instead of Makefile.am. Adjust the recommendations accordingly.
71701
71702 2006-08-28  Bruno Haible  <bruno@clisp.org>
71703
71704         * gnulib-tool (func_verify_module): Check against misapplying patch.
71705
71706 2006-08-28  Bruno Haible  <bruno@clisp.org>
71707
71708         * gnulib-tool (func_relativize, func_relconcat): New functions.
71709         Give an error if --local-dir is given with --update.
71710         Remove trailing slashes from $local_gnulib_dir.
71711         (func_import): Store the relativized $local_gnulib_dir in
71712         gnulib-cache.m4, and read it from there if not specified explicitly.
71713
71714 2006-08-28  Bruno Haible  <bruno@clisp.org>
71715
71716         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
71717         is the current directory. Respect also $local_gnulib_dir.
71718
71719 2006-08-28  Bruno Haible  <bruno@clisp.org>
71720             Simon Josefsson  <jas@extundo.com>
71721
71722         BeOS portability.
71723         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
71724
71725 2006-08-27  Jim Meyering  <jim@meyering.net>
71726
71727         * doc/visibility.texi: Remove duplicate word: "pointer".
71728
71729 2006-08-26  Bruno Haible  <bruno@clisp.org>
71730
71731         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
71732         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
71733         (Makefile.am): Create inttypes.h from inttypes_.h.
71734         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
71735
71736         * modules/imaxabs: New file.
71737
71738         * modules/imaxdiv: New file.
71739
71740 2006-08-26  Bruno Haible  <bruno@clisp.org>
71741
71742         * m4/inttypes.m4: New file.
71743         * m4/_inttypes_h.m4: Remove file.
71744         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
71745         PRI_MACROS_BROKEN.
71746         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
71747
71748         * m4/imaxabs.m4: New file.
71749
71750         * m4/imaxdiv.m4: New file.
71751
71752 2006-08-26  Bruno Haible  <bruno@clisp.org>
71753
71754         * lib/inttypes_.h: New file.
71755         * lib/inttypes.h: Remove file.
71756         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
71757
71758         * lib/imaxabs.c: New file.
71759
71760         * lib/imaxdiv.c: New file.
71761
71762 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71763
71764         New config-h module, so that "make" output needn't be cluttered
71765         by -DHAVE_CONFIG_H.
71766         * MODULES.html.sh (Support for building libraries and executables):
71767         Add config-h.
71768         * modules/config-h: New file.
71769         * gnulib-tool (nl, sed_transform_lib_file): New vars.
71770         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
71771         the config-h module is used.
71772
71773         New configmake module, so that "make" output needn't be cluttered
71774         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
71775         * MODULES.html.sh (Support for building libraries and executables):
71776         Add configmake.
71777         * modules/configmake: New file.
71778
71779 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71780
71781         * m4/config-h.m4: New file.
71782
71783 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71784
71785         * config/srclist.txt: Add elisp-comp.
71786
71787 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71788
71789         * MODULES.html.sh (Support for building libraries and executables):
71790         Add elisp-comp.
71791         * build-aux/elisp-comp: New file.
71792         * modules/elisp-comp: New file.
71793
71794 2006-08-24  Bruno Haible  <bruno@clisp.org>
71795
71796         * gnulib-tool (func_create_testdir): Use non-default values of
71797         sourcebase and m4base.
71798
71799 2006-08-24  Bruno Haible  <bruno@clisp.org>
71800
71801         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
71802         HTML structure.
71803
71804 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71805
71806         * modules/openat (Depends-on): Add lchown.
71807
71808 2006-08-23  Bruno Haible  <bruno@clisp.org>
71809
71810         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
71811         of gl_LOCK_EARLY instead of gl_LOCK.
71812
71813 2006-08-23  Bruno Haible  <bruno@clisp.org>
71814
71815         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
71816         on OSF/1 to no.
71817         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
71818
71819 2006-08-23  Bruno Haible  <bruno@clisp.org>
71820
71821         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
71822         as unusable.
71823
71824         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
71825         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
71826         (gl_LOCK): New macro.
71827
71828 2006-08-22  Simon Josefsson  <jas@extundo.com>
71829
71830         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
71831         to md5 module.
71832
71833 2006-08-22  Simon Josefsson  <jas@extundo.com>
71834
71835         * MODULES.html.sh: Add "Support for maintaining and release
71836         projects".
71837
71838         * build-aux/gnupload: New file, from coreutils.
71839
71840 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71841
71842         Avoid the need for AC_LIBSOURCES in m4 macros.
71843         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
71844         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
71845         * modules/check-version (EXTRA_DIST): Add check-version.h.
71846         * modules/crc (EXTRA_DIST): Add crc.h.
71847         * modules/des (EXTRA_DIST): Add des.h.
71848         * modules/gc (EXTRA_DIST): Add gc.h.
71849         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
71850         * modules/getline (EXTRA_DIST): Add getline.h.
71851         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
71852         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
71853         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
71854         * modules/md2 (EXTRA_DIST): Add md2.h.
71855         * modules/md4 (EXTRA_DIST): Add md4.h.
71856         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
71857         * modules/read-file (EXTRA_DIST): Add read-file.h.
71858         * modules/readline (EXTRA_DIST): Add readline.h.
71859         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
71860         rijndael-api-fst.h.
71861
71862 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71863
71864         * m4/rijndael.m4 (gl_ARCFOUR):
71865         * m4/arctwo.m4 (gl_ARCTWO):
71866         * m4/check-version.m4 (gl_CHECK_VERSION):
71867         * m4/crc.m4 (gl_CRC):
71868         * m4/des.m4 (gl_DES):
71869         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
71870         * m4/gc.m4 (gl_GC):
71871         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
71872         * m4/getline.m4 (gl_FUNC_GETLINE):
71873         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
71874         * m4/hmac-md5.m4 (gl_HMAC_MD5):
71875         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
71876         * m4/md2.m4 (gl_MD2):
71877         * m4/md4.m4 (gl_MD4):
71878         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
71879         * m4/read-file.m4 (gl_FUNC_READ_FILE):
71880         * m4/readline.m4 (gl_FUNC_READLINE):
71881         * m4/rijndael.m4 (gl_RIJNDAEL):
71882         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
71883         to get the necessary .h files and whatnot.
71884
71885 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71886
71887         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
71888         gnulib rather than the other way around.
71889         * config/srclistvars.sh (COREUTILS): Remove.
71890
71891 2006-08-22  Jim Meyering  <jim@meyering.net>
71892
71893         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
71894
71895         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
71896
71897 2006-08-22  Eric Blake  <ebb9@byu.net>
71898
71899         * modules/regexprops-generic: New file.
71900         * MODULES.html.sh (Support for building documentation): List it.
71901
71902 2006-08-22  Eric Blake  <ebb9@byu.net>
71903
71904         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
71905         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
71906         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
71907         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
71908
71909 2006-08-22  Bruno Haible  <bruno@clisp.org>
71910
71911         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
71912         and lib_LTLIBRARIES like the other lib_* variables.
71913
71914 2006-08-22  Bruno Haible  <bruno@clisp.org>
71915
71916         * build-aux/x-to-1.in: New file, from GNU gettext.
71917
71918 2006-08-22  Bruno Haible  <bruno@clisp.org>
71919
71920         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
71921         <utmpx.h> exists.
71922
71923 2006-08-22  Bruno Haible  <bruno@clisp.org>
71924
71925         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
71926         <utmpx.h> exists.
71927
71928 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71929
71930         BeOS portability.
71931         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
71932         exist.
71933         Problem reported by Bruno Haible.
71934
71935 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71936
71937         Avoid the need for AC_LIBSOURCES in m4 macros.
71938         * modules/acl (EXTRA_DIST): Add acl.h.
71939         * modules/argmatch (Files): Add m4/argmatch.m4.
71940         (configure.ac): Add gl_ARGMATCH.
71941         (EXTRA_DIST): Renamed from lib_SOURCES, for
71942         consistency with the other modules.  Remove argmatch.c.
71943         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
71944         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
71945         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
71946         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
71947         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
71948         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
71949         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
71950         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
71951         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
71952         * modules/closeout (EXTRA_DIST): Add closeout.h.
71953         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
71954         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
71955         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
71956         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
71957         dirname.h; remove basename.c and stripslash.c.
71958         * modules/exclude (EXTRA_DIST): Add exclude.h.
71959         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
71960         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
71961         * modules/file-type (EXTRA_DIST): Add file-type.h.
71962         * modules/filemode (EXTRA_DIST): Add filemode.h.
71963         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
71964         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71965         * modules/fpending (EXTRA_DIST): Add __fpending.h.
71966         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
71967         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
71968         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
71969         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
71970         * modules/getdate (EXTRA_DIST): Add getdate.c.
71971         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
71972         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
71973         * modules/getpass (EXTRA_DIST): Add getpass.h.
71974         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
71975         * modules/group-member (EXTRA_DIST): Add group-member.h.
71976         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
71977         * modules/hash (EXTRA_DIST): Add hash.h.
71978         * modules/human (EXTRA_DIST): Add human.h.
71979         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
71980         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
71981         * modules/lchown (EXTRA_DIST): Add lchown.h.
71982         * modules/long-options (EXTRA_DIST): Add long-options.h.
71983         * modules/lstat (EXTRA_DIST): Add lstat.h.
71984         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
71985         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
71986         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
71987         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
71988         * modules/memxor (EXTRA_DIST): Add memxor.h.
71989         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
71990         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
71991         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
71992         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
71993         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
71994         * modules/physmem (EXTRA_DIST): Add physmem.h.
71995         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
71996         * modules/posixver (EXTRA_DIST): Add posixver.h.
71997         * modules/quote (EXTRA_DIST): Add quote.h.
71998         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
71999         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
72000         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
72001         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
72002         regex_internal.h regexec.c.
72003         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
72004         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
72005         * modules/same (EXTRA_DIST): Add same.h.
72006         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
72007         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
72008         * modules/savedir (EXTRA_DIST): Add savedir.h.
72009         * modules/sha1 (EXTRA_DIST): Add sha1.h.
72010         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
72011         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
72012         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
72013         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
72014         * modules/strdup (EXTRA_DIST): Add strdup.h.
72015         * modules/strftime (EXTRA_DIST): Add strftime.h.
72016         * modules/strndup (EXTRA_DIST): Add strndup.h.
72017         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
72018         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
72019         * modules/time_r (EXTRA_DIST): Add time_r.h.
72020         * modules/timespec (EXTRA_DIST): Add timespec.h.
72021         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
72022         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
72023         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
72024         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
72025         * modules/userspec (EXTRA_DIST): Add userspec.h.
72026         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
72027         * modules/utimens (EXTRA_DIST): Add utimens.h.
72028         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
72029         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
72030         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
72031         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
72032         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
72033         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
72034         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
72035         * modules/yesno (EXTRA_DIST): Add yesno.h.
72036
72037 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72038
72039         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
72040
72041         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
72042         * m4/dev-ino.m4, same-inode.m4: Remove.
72043
72044         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
72045         * m4/acl.m4 (AC_FUNC_ACL):
72046         * m4/backupfile.m4 (gl_BACKUPFILE):
72047         * m4/c-strtod.m4 (gl_C99_STRTOLD):
72048         * m4/canon-host.m4 (gl_CANON_HOST):
72049         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72050         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
72051         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
72052         * m4/cloexec.m4 (gl_CLOEXEC):
72053         * m4/close-stream.m4 (gl_CLOSE_STREAM):
72054         * m4/closeout.m4 (gl_CLOSEOUT):
72055         * m4/dirfd.m4 (gl_FUNC_DIRFD):
72056         * m4/dirname.m4 (gl_DIRNAME):
72057         * m4/exclude.m4 (gl_EXCLUDE):
72058         * m4/exitfail.m4 (gl_EXITFAIL):
72059         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
72060         * m4/file-type.m4 (gl_FILE_TYPE):
72061         * m4/filemode.m4 (gl_FILEMODE):
72062         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
72063         * m4/fpending.m4 (gl_FUNC_FPENDING):
72064         * m4/fprintftime.m4 (gl_FPRINTFTIME):
72065         * m4/fts.m4 (gl_FUNC_FTS):
72066         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
72067         * m4/getdate.m4 (gl_GETDATE):
72068         * m4/gethrxtime.m4 (gl_GETHRXTIME):
72069         * m4/getpagesize.m4 (gl_GETPAGESIZE):
72070         * m4/getpass.m4 (gl_FUNC_GETPASS):
72071         * m4/gettime.m4 (gl_GETTIME):
72072         * m4/getugroups.m4 (gl_GETUGROUPS):
72073         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
72074         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
72075         * m4/hard-locale.m4 (gl_HARD_LOCALE):
72076         * m4/hash.m4 (gl_HASH):
72077         * m4/idcache.m4 (gl_IDCACHE):
72078         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
72079         * m4/lchown.m4 (gl_FUNC_LCHOWN):
72080         * m4/long-options.m4 (gl_LONG_OPTIONS):
72081         * m4/lstat.m4 (gl_FUNC_LSTAT):
72082         * m4/md5.m4 (gl_MD5):
72083         * m4/memcasecmp.m4 (gl_MEMCASECMP):
72084         * m4/memcoll.m4 (gl_MEMCOLL):
72085         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
72086         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
72087         * m4/memxor.m4 (gl_MEMXOR):
72088         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
72089         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
72090         * m4/modechange.m4 (gl_MODECHANGE):
72091         * m4/mountlist.m4 (gl_MOUNTLIST):
72092         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72093         * m4/openat.m4 (gl_FUNC_OPENAT):
72094         * m4/pathmax.m4 (gl_PATHMAX):
72095         * m4/physmem.m4 (gl_PHYSMEM):
72096         * m4/posixtm.m4 (gl_POSIXTM):
72097         * m4/posixver.m4 (gl_POSIXVER):
72098         * m4/quote.m4 (gl_QUOTE):
72099         * m4/quotearg.m4 (gl_QUOTEARG):
72100         * m4/readtokens.m4 (gl_READTOKENS):
72101         * m4/readutmp.m4 (gl_READUTMP):
72102         * m4/regex.m4 (gl_REGEX):
72103         * m4/safe-read.m4 (gl_SAFE_READ):
72104         * m4/safe-write.m4 (gl_SAFE_WRITE):
72105         * m4/same.m4 (gl_SAME):
72106         * m4/save-cwd.m4 (gl_SAVE_CWD):
72107         * m4/savedir.m4 (gl_SAVEDIR):
72108         * m4/settime.m4 (gl_SETTIME):
72109         * m4/sha1.m4 (gl_SHA1):
72110         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
72111         * m4/stat-macros.m4 (gl_STAT_MACROS):
72112         * m4/stat-time.m4 (gl_STAT_TIME):
72113         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
72114         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
72115         * m4/strdup.m4 (gl_FUNC_STRDUP):
72116         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
72117         * m4/strndup.m4 (gl_FUNC_STRNDUP):
72118         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
72119         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
72120         * m4/time_r.m4 (gl_TIME_R):
72121         * m4/timespec.m4 (gl_TIMESPEC):
72122         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
72123         * m4/unlinkdir.m4 (gl_UNLINKDIR):
72124         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
72125         * m4/userspec.m4 (gl_USERSPEC):
72126         * m4/utimecmp.m4 (gl_UTIMECMP):
72127         * m4/utimens.m4 (gl_UTIMENS):
72128         * m4/xalloc.m4 (gl_XALLOC):
72129         * m4/xgetcwd.m4 (gl_XGETCWD):
72130         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
72131         * m4/xreadlink.m4 (gl_XREADLINK):
72132         * m4/xstrtod.m4 (gl_XSTRTOD):
72133         * m4/yesno.m4 (gl_YESNO):
72134         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
72135         to get the necessary .h files and whatnot.
72136
72137 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
72138             Bruno Haible  <bruno@clisp.org>
72139
72140         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
72141         /bin/sh understanding of '!' conditional negation.
72142
72143 2006-08-21  Jim Meyering  <jim@meyering.net>
72144
72145         * modules/openat (Depends-on): Really alphabetize.
72146
72147         * modules/acl (Depends-on): Add error and quote.
72148
72149         * check-module (find_included_lib_files): Add at-func.c to the
72150         ok-to-include-more-than-once white list.
72151
72152         * modules/openat (Depends-on): Add lstat.  Alphabetize.
72153
72154 2006-08-21  Bruno Haible  <bruno@clisp.org>
72155
72156         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72157         Emit a pkgdata_DATA variable only if some snippets add contents to it.
72158         Reported by Martin Lambers <marlam@marlam.de>.
72159
72160 2006-08-21  Bruno Haible  <bruno@clisp.org>
72161
72162         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
72163         specify an installation location, don't emit a noinst_LIBRARIES or
72164         noinst_LTLIBRARIES assignment.
72165
72166 2006-08-21  Bruno Haible  <bruno@clisp.org>
72167
72168         BeOS portability.
72169         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
72170         BeOS has mbrtowc() but no <wctype.h>.
72171
72172 2006-08-21  Bruno Haible  <bruno@clisp.org>
72173
72174         BeOS portability.
72175         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
72176         exist.
72177
72178 2006-08-21  Bruno Haible  <bruno@clisp.org>
72179
72180         BeOS portability.
72181         * lib/mbchar.h: Include <wctype.h> only if it exists.
72182
72183 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72184
72185         Remove files that are no longer needed by their respective modules.
72186         * m4/obstack.m4: Remove.
72187         * m4/strerror_r.m4: Remove.
72188         * m4/uint32_t.m4: Remove.
72189         * m4/uintptr_t.m4: Remove.
72190         * m4/ullong_max.m4: Remove.
72191         * m4/xstrtoimax.m4: Remove.
72192         * m4/xstrtoumax.m4: Remove.
72193
72194         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
72195         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
72196         dependencies now capture this.
72197
72198         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
72199         Do not use AC_LIBSOURCES, since gnulib modules now do this.
72200         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
72201         * m4/human.m4 (gl_HUMAN): Likewise.
72202         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
72203         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
72204
72205         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
72206
72207         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
72208         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
72209         stdint.
72210         * m4/human.m4 (gl_HUMAN): Likewise.
72211         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
72212         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
72213         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
72214         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
72215         * m4/xstrtol (gl_XSTRTOL): Likewise.
72216
72217         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
72218         AC_TYPE_LONG_LONG_INT.
72219         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
72220         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
72221         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
72222         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
72223
72224         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
72225         on stdbool.
72226
72227         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
72228         (gl_PREREQ_XSTRTOUL): Remove.
72229
72230         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
72231
72232         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
72233         mode.
72234
72235 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72236
72237         Add and change modules to make it easier for coreutils to use
72238         gnulib-tool.
72239         * modules/backupfile (Files): Remove m4/d-ino.m4.
72240         (Depends-on): Add d-ino.
72241         * modules/cycle-check (Depends-on): Add stdint.
72242         (lib_SOURCES): Add cycle-check.h.
72243         * modules/d-ino: New module.
72244         * modules/d-type: New module.
72245         * modules/error (Files): Remove m4/strerror_r.m4.
72246         * modules/filemode (Files): Add m4/st_dm_mode.m4.
72247         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72248         m4/inttypes_h.m4, m4/uintmax_t.m4.
72249         (Depends-on): Add stdint.
72250         (lib_SOURCES): Add fsusage.h.
72251         * modules/getcwd (Files): Remove d-ino.m4.
72252         (Depends-on): Add d-ino.
72253         * modules/getndelim2 (Depends-on): Add stdint.
72254         * modules/glob (Files): Remove m4/d-type.m4.
72255         (Depends-on): Add d-type.
72256         * modules/host-os: New module.
72257         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
72258         m4/inttypes_h.m4, m4/uintmax_t.m4.
72259         * Depends-on: Add stdint.
72260         (lib_SOURCES): Add human.h.
72261         * modules/inttostr (Files): Remove m4/intmax_t.m4,
72262         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
72263         m4/uintmax_t.m4, m4/ulonglong.m4.
72264         (Depends-on): Add stdint.
72265         (EXTRA_DIST): Add inttostr.h.
72266         * modules/lchmod: New module.
72267         * modules/link-follow: New module.
72268         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
72269         (Depends-on): Add lchmod.
72270         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
72271         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
72272         (Depends-on): Add stdint.
72273         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
72274         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
72275         (Depends-on): Add stdint.
72276         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
72277         * modules/perl: New module.
72278         * modules/regex (Depends-on): Add stdint.
72279         * modules/rmdir-errno: New module.
72280         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
72281         m4/intmax_t.m4.
72282         (Depends-on): Add stdint.
72283         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
72284         m4/uintmax_t.m4.
72285         (Depends-on): Add stdint.
72286         * modules/unlink-busy: New module.
72287         * modules/utimecmp (Depends-on): Add stdint.
72288         * modules/uptime: New module.
72289         * modules/winsz-ioctl: New module.
72290         * modules/winsz-termios: New module.
72291         * modules/xnanosleep (Depends-on): Add nanosleep.
72292         * modules/ullong_max: Remove.
72293         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
72294         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
72295         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
72296         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
72297         (Depends-on): Add inttypes.
72298         (lib_SOURCES): Add xstrtol.h.
72299         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
72300         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
72301         * MODULES.html.sh: Move 'assert' into the assert section.
72302         Move 'dummy' into the linking section.
72303         Remove ullong_max.
72304         Add section for compatibility checks for POSIX:2001 functions,
72305         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
72306         winsz-ioctl, and winsz-termios into it.
72307         Add lchmod.
72308         Add top-level Misc section and put host-os, perl, and uptime
72309         into it.
72310
72311 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72312
72313         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
72314         now assume the stdint module.  Do not include inttypes.h.
72315         * lib/fsusage.h: Likewise.
72316         * lib/getndelim2.c: Likewise.
72317         * lib/human.h: Likewise.
72318         * lib/inttostr.h: Likewise.
72319         * lib/obstack.c: Likewise.
72320         * lib/regex_internal.h: Likewise.
72321         * lib/tempname.c: Likewise.
72322         * lib/utimecmp.c: Likewise.
72323         * lib/xstrtol.h: Likewise.
72324
72325         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
72326
72327         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
72328         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
72329         * lib/xtime.h: Likewise.
72330
72331 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72332
72333         * modules/openat (Files): Add lib/fchmodat.c.
72334         Fixes problem reported by Jay Youngman.
72335
72336 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72337
72338         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
72339         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
72340
72341 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
72342             Bruno Haible  <bruno@clisp.org>
72343
72344         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
72345         and is a script that invokes bison. Tighten the code. Add comments.
72346
72347 2006-08-18  Jim Meyering  <jim@meyering.net>
72348
72349         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
72350         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
72351         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
72352         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
72353
72354 2006-08-18  Bruno Haible  <bruno@clisp.org>
72355
72356         * modules/bison-i18n: New file.
72357         * MODULES.html.sh (Internationalization functions): Add it.
72358
72359 2006-08-18  Bruno Haible  <bruno@clisp.org>
72360
72361         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
72362         sys/statvfs.h. When getmntinfo was found, check its declaration and
72363         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
72364
72365 2006-08-18  Bruno Haible  <bruno@clisp.org>
72366
72367         * m4/bison-i18n.m4: New file, from bison.
72368
72369 2006-08-18  Bruno Haible  <bruno@clisp.org>
72370
72371         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
72372         (ME_DUMMY): Treat "kernfs" as a dummy.
72373         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
72374
72375 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72376
72377         Update from coreutils.
72378
72379         2006-08-15  Jim Meyering  <jim@meyering.net>
72380
72381         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
72382
72383         2006-01-17  Jim Meyering  <jim@meyering.net>
72384
72385         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
72386
72387         2006-01-11  Jim Meyering  <jim@meyering.net>
72388
72389         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
72390         Check for the lchmod function.
72391
72392 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72393
72394         Update from coreutils.
72395
72396         * lib/__fpending.h: Add copyright notice.
72397         * lib/fprintftime.h: Likewise.
72398         * lib/savedir.c: Use (C) in copyright notice.
72399         * lib/savedir.h: Likewise.
72400
72401         2006-08-15  Jim Meyering  <jim@meyering.net>
72402
72403         * lib/at-func.c: New file, with the logic of all emulated at-functions.
72404         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
72405         in support of the EXPECTED_ERRNO macro.
72406         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
72407         definitions.  Instead, define the appropriate symbols and include
72408         "at-func.c".
72409         * lib/mkdirat.c (mkdirat): Likewise.
72410         * lib/fchmodat.c (fchmodat): Likewise.
72411         (ENOSYS): Remove definition.
72412         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
72413         it.  Don't include "unistd--.h" -- it wasn't ever used.
72414
72415         2006-01-17  Jim Meyering  <jim@meyering.net>
72416
72417         Rewrite fts.c not to change the current working directory,
72418         by using openat, fstatat, fdopendir, etc..
72419
72420         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
72421         (HAVE_OPENAT_SUPPORT): Define.
72422         [_LIBC] (fchdir): Don't undef or define; no longer used.
72423         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
72424         Now, this `function' always succeeds, and consumes its file descriptor
72425         parameter -- so callers must not close such FDs.  Update callers.
72426         (diropen_fd, opendirat, cwd_advance_fd): New functions.
72427         (diropen): Add parameter, SP.  Adjust all callers.
72428         Implement using diropen_fd, rather than open.
72429         (fts_open): Initialize new member, fts_cwd_fd.
72430         Remove fts_rft-setting code.
72431         (fts_close): Close fts_cwd_fd, if necessary.
72432         (__opendir2): Define in terms of opendir or opendirat,
72433         depending on whether the FST_NOCHDIR flag is set.
72434         (fts_build): Since fts_safe_changedir consumes its FD, and since
72435         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
72436         and close the dup'd file descriptor upon failure.
72437         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
72438         (fts_safe_changedir): Tweak semantics to reflect that this function
72439         now calls cwd_advance_fd and hence consumes its FD argument.
72440         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
72441         [struct FTS] (fts_rft): Remove now-unused member.
72442         [struct FTS] (fts_cycle.state): Improve comment.
72443
72444         * lib/openat.c (openat_needs_fchdir): New function.
72445         * lib/openat.h (openat_needs_fchdir): Declare it.
72446
72447 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
72448
72449         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
72450         Problem and fix reported by Pádraig Brady in
72451         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
72452
72453 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72454
72455         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
72456
72457 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72458
72459         * lib/memcoll.c (memcoll): Optimize for the common case where the
72460         arguments are bytewise equal.
72461
72462 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72463
72464         * doc/regexprops-generic.texi: Add a copyright notice.
72465
72466 2006-08-15  Bruno Haible  <bruno@clisp.org>
72467
72468         * modules/tmpdir (License): Change to LGPL.
72469
72470 2006-08-15  Bruno Haible  <bruno@clisp.org>
72471
72472         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
72473         module.
72474
72475 2006-08-14  Simon Josefsson  <jas@extundo.com>
72476
72477         * config/srclist.txt: Add gnupload.
72478
72479 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72480
72481         Change copyright notice from LGPL 2 to GPL 2, since that's the
72482         standard form used in the gnulib repository.
72483         * tests/test-lock.c: Likewise.
72484         * tests/test-stdint.c: Likewise.
72485         * tests/test-tls.c: Likewise.
72486
72487         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
72488         prelude-manager.  User shorter URLs for GNU projects, without '?'.
72489         Add copyright notice.
72490
72491         * check-module: Add copyright notice.  Output a copyright
72492         notice if "--version" is specified.
72493         * modules/COPYING: New file.
72494         * tests/test-getaddrinfo.c: Add copyright notice.
72495         * tests/test-verify.c: Likewise.
72496
72497 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72498
72499         Change copyright notice from LGPL 2 to GPL 2, since that's the
72500         standard form used in the gnulib repository.
72501         * lib/lock.c: LGPL -> GPL.
72502         * lib/lock.h: Likewise.
72503         * lib/strnlen1.c: Likewise.
72504         * lib/strnlen1.h: Likewise.
72505         * lib/tls.c: Likewise.
72506         * lib/tls.h: Likewise.
72507         * lib/tmpdir.c: Likewise.
72508
72509         * lib/TODO: Remove; this belongs only in coreutils.
72510
72511 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72512
72513         Add copyright notices to long-enough files that lack them, since
72514         otherwise the files aren't clearly free.  Use the same notice that
72515         getdate.texi already uses.
72516         * doc/alloca-opt.texi: Add copyright notice.
72517         * doc/alloca.texi: Likewise.
72518         * doc/ctime.texi: Likewise.
72519         * doc/functions.texi: Likewise.
72520         * doc/gcd.texi: Likewise.
72521         * doc/gnulib-tool.texi: Likewise.
72522         * doc/inet_ntoa.texi: Likewise.
72523         * doc/visibility.texi: Likewise.
72524
72525         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
72526         * doc/quote.texi: Add copyright notice.
72527
72528         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
72529         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
72530         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
72531         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
72532         is now obsolete, and give a pointer to the Sun list.
72533         Add copyright notice.
72534
72535 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72536
72537         * config/srclistvars.sh: Add copyright notice.
72538
72539 2006-08-14  Eric Blake  <ebb9@byu.net>
72540
72541         Import the following change from libc:
72542
72543         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
72544
72545         Upstream bug 2997.
72546         * lib/misc/error.c: Add space between program name and message if file
72547         name is missing.
72548
72549 2006-08-12  Karl Berry  <karl@gnu.org>
72550
72551         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
72552         remove, these originate in gnulib now.
72553
72554 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72555
72556         * doc/Makefile (standards.info standards.html standards.dvi):
72557         Also depend on make-stds.texi.
72558
72559 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72560
72561         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
72562         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
72563
72564         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
72565         in wchar_t.  Problem reported by Eric Blake.
72566
72567         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
72568         LEN is smaller than SIZE.  Suggested by Bruno Haible.
72569         Also, help the compiler to keep LEN in a register.
72570
72571 2006-08-11  Eric Blake  <ebb9@byu.net>
72572
72573         * users.txt: Sort.  Add tar.
72574
72575 2006-08-11  Bruno Haible  <bruno@clisp.org>
72576
72577         * users.txt: New file.
72578
72579 2006-08-11  Bruno Haible  <bruno@clisp.org>
72580
72581         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
72582         before <wchar.h>. Needed for OSF/1 and BSD/OS.
72583
72584 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
72585
72586         * modules/snprintf (Depends-on): Remove minmax.
72587         (Maintainer): Add self and Bruno.
72588
72589 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
72590
72591         * lib/.cppi-disable: Add snprintf.h, socket_.h.
72592         * lib/snprintf.c: Include <errno.h> and <limits.h>.
72593         (EOVERFLOW): Define if the system does not.
72594         Do not include "minmax.h"; it wasn't used.
72595         (snprintf): Don't assume size_t promotes to an unsigned type.
72596         Fix bug when generated string was too long for the buffer: the
72597         buffer's contents are supposed to be the initial prefix of the
72598         output.  Don't assume vasnprintf returns EOVERFLOW if the size
72599         exceeds INT_MAX; do the check ourselves.
72600
72601         Import the following changes from libc:
72602
72603         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
72604
72605         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
72606         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
72607         set wc to the byte which couldn't be converted.
72608         (re_string_reconstruct): Don't clear valid_raw_len before calling
72609         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
72610         tip_context using re_string_context_at.
72611
72612         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
72613
72614         * lib/posix/regex.h: g++ still cannot handled [restrict].
72615
72616         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
72617
72618         * lib/posix/regex.h: Remove special handling for VMS.
72619
72620 2006-08-10  Jim Meyering  <jim@meyering.net>
72621
72622         * modules/same-inode: New module.
72623         * modules/dev-ino: New module.
72624         * modules/cycle-check: Depend on these modules, rather than simply
72625         including their .h files.
72626         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
72627         required via m4/cycle-check.m4.
72628         * modules/same: Depend on new same-inode module, rather than
72629         including same-inode.h.
72630         * modules/chdir-safer: New file.
72631
72632         * modules/chown (Depends-on): Add stat-macros.
72633
72634 2006-08-10  Jim Meyering  <jim@meyering.net>
72635
72636         * m4/cycle-check.m4: New file.
72637         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
72638         * m4/dev-ino.m4, m4/same-inode.m4: New files.
72639
72640 2006-08-10  Eric Blake  <ebb9@byu.net>
72641
72642         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
72643         in from original proposal.
72644
72645 2006-08-10  Eric Blake  <ebb9@byu.net>
72646         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72647
72648         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
72649         namespace.
72650
72651 2006-08-10  Bruno Haible  <bruno@clisp.org>
72652
72653         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
72654         as well.
72655
72656 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72657
72658         Sync from coreutils.
72659
72660         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
72661
72662         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
72663         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
72664
72665 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72666
72667         * modules/restrict: Remove; no longer needed now that we assume
72668         Autoconf 2.59 or later.
72669         * MODULES.html.sh: Remove 'restrict'.
72670         * modules/argp (Depends-on): Remove 'restrict'.
72671         * modules/base64 (Depends-on): Likewise.
72672         * modules/gc (Depends-on): Likewise.
72673         * modules/getaddrinfo (Depends-on): Likewise.
72674         * modules/glob (Depends-on): Likewise.
72675         * modules/inet_ntop (Depends-on): Likewise.
72676         * modules/inet_pton (Depends-on): Likewise.
72677         * modules/memxor (Depends-on): Likewise.
72678         * modules/regex (Depends-on): Likewise.
72679         * modules/strtok_r (Depends-on): Likewise.
72680         * modules/time_r (Depends-on): Likewise.
72681
72682 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72683
72684         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
72685         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
72686         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
72687         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
72688         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
72689         * m4/memxor.m4 (gl_MEMXOR): Likewise.
72690         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
72691         gl_C_RESTRICT replaced by AC_C_RESTRICT.
72692
72693         Merge from coreutils.
72694         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
72695         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
72696         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
72697         * m4/time_r.m4 (gl_TIME_R): Likewise.
72698
72699 2006-08-09  Karl Berry  <karl@gnu.org>
72700
72701         * config/srclist.txt: no more gettext-tools, per Bruno.
72702
72703 2006-08-08  Eric Blake  <ebb9@byu.net>
72704
72705         * modules/verror: New module.
72706         * MODULES.html.sh: Document it.
72707
72708 2006-08-08  Eric Blake  <ebb9@byu.net>
72709
72710         * lib/verror.h, lib/verror.c: New files.
72711
72712 2006-08-08  Eric Blake  <ebb9@byu.net>
72713
72714         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
72715         verror_at_line output complies with GNU Coding Standards even when
72716         file is NULL.
72717
72718 2006-08-07  Bruno Haible  <bruno@clisp.org>
72719
72720         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
72721         versions of AIX.
72722         Reported by Ralf Wildenhues.
72723
72724 2006-08-07  Bruno Haible  <bruno@clisp.org>
72725
72726         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
72727         in an AC_DEFUN. Needed so that the autoconf snippets can use
72728         AC_REQUIRE.
72729
72730 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72731
72732         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72733         Initialize pkgdata_DATA.
72734         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
72735         overriding it.
72736
72737 2006-08-06  Eric Blake  <ebb9@byu.net>
72738
72739         * lib/error.h: Fold in some upstream changes from glibc.
72740         * lib/error.c: Likewise.
72741
72742 2006-08-04  Bruno Haible  <bruno@clisp.org>
72743
72744         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72745         Make the mostlyclean-local rule depend on mostlyclean-generic.
72746         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
72747
72748 2006-07-31  Bruno Haible  <bruno@clisp.org>
72749
72750         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
72751         <stdlib.h>, <string.h>.
72752
72753 2006-07-30  Bruno Haible  <bruno@clisp.org>
72754
72755         * modules/readlink (License): Change to LGPL.
72756
72757 2006-07-30  Bruno Haible  <bruno@clisp.org>
72758
72759         * modules/javaversion (Makefile.am): Distribute javaversion.java and
72760         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
72761         set PKGDATADIR to point to it.
72762
72763 2006-07-30  Bruno Haible  <bruno@clisp.org>
72764
72765         * modules/csharpexec (configure.ac): Comment out macro invocation.
72766         * modules/javaexec (configure.ac): Likewise.
72767         * modules/javacomp-script (configure.ac): Likewise.
72768
72769         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
72770
72771 2006-07-30  Bruno Haible  <bruno@clisp.org>
72772
72773         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
72774         linked-list.
72775
72776 2006-07-30  Bruno Haible  <bruno@clisp.org>
72777
72778         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
72779
72780 2006-07-30  Bruno Haible  <bruno@clisp.org>
72781
72782         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72783         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
72784         get removed.
72785
72786 2006-07-29  Bruno Haible  <bruno@clisp.org>
72787
72788         Make it possible for gnulib-tool to work with locally modified or
72789         augmented gnulib repositories.
72790         * gnulib-tool (func_usage): Document --local-dir option.
72791         (local_gnulib_dir): New variable.
72792         Handle --local-dir option.
72793         (func_lookup_file): New function.
72794         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
72795         (func_get_description, func_get_filelist, func_get_description,
72796         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
72797         func_get_automake_snippet, func_get_include_directive,
72798         func_get_license, func_get_maintainer): Use func_lookup_file.
72799         (func_import, func_create_testdir): Use func_lookup_file.
72800
72801 2006-07-29  Bruno Haible  <bruno@clisp.org>
72802
72803         * modules/setenv (Depends-on): Add unistd.
72804
72805 2006-07-29  Bruno Haible  <bruno@clisp.org>
72806
72807         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
72808
72809 2006-07-29  Bruno Haible  <bruno@clisp.org>
72810
72811         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
72812
72813 2006-07-29  Bruno Haible  <bruno@clisp.org>
72814
72815         * gnulib-tool (import, update): If there is no Makefile.am, look at
72816         aclocal.m4, instead of bailing out.
72817
72818 2006-07-29  Bruno Haible  <bruno@clisp.org>
72819
72820         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
72821         Categorize the options by when they are useful.
72822
72823 2006-07-29  Bruno Haible  <bruno@clisp.org>
72824
72825         * gnulib-tool (func_usage): Document option --no-libtool.
72826         Handle option --no-libtool.
72827         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
72828         for changed semantics of $libtool variable.
72829         (func_import): Likewise. If libtool is not used, show this through
72830         an option --no-libtool.
72831         (func_create_testdir): Update.
72832
72833 2006-07-29  Bruno Haible  <bruno@clisp.org>
72834
72835         * gnulib-tool (func_import): Extend error message about missing
72836         --doc-base.
72837
72838 2006-07-29  Bruno Haible  <bruno@clisp.org>
72839
72840         * gnulib-tool (func_import): Don't create the $docbase directory if
72841         there is no file to store there.
72842
72843 2006-07-29  Bruno Haible  <bruno@clisp.org>
72844
72845         * gnulib-tool (autoconf_minversion): If a --dir option is given and
72846         relevant, look for configure.ac there, not in the current directory.
72847         Also use a simple search for AC_PREREQ, not "autoconf --trace".
72848
72849 2006-07-29  Bruno Haible  <bruno@clisp.org>
72850
72851         * gnulib-tool (SORT): New variable.
72852         (func_usage): Undocument --assume-autoconf option.
72853         Remove --assume-autoconf option handling.
72854         (autoconf_minversion): Determine from the contents of configure.ac.
72855         (func_import): Remove autoconf_minversion handling.
72856         Suggested by Eric Blake.
72857
72858 2006-07-29  Bruno Haible  <bruno@clisp.org>
72859
72860         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
72861
72862 2006-07-29  Bruno Haible  <bruno@clisp.org>
72863
72864         * config/srclist.txt (*setenv.[ch]): Remove rules.
72865
72866 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72867
72868         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
72869
72870 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72871
72872         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
72873         arpa/inet.h.
72874
72875 2006-07-28  Simon Josefsson  <jas@extundo.com>
72876
72877         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
72878         * modules/inet_pton (Depends-on): Likewise.
72879
72880 2006-07-28  Simon Josefsson  <jas@extundo.com>
72881
72882         * m4/netinet_in_h.m4: New file.
72883
72884 2006-07-28  Simon Josefsson  <jas@extundo.com>
72885
72886         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
72887         #include's.
72888
72889 2006-07-28  Simon Josefsson  <jas@extundo.com>
72890
72891         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
72892         #include's.
72893
72894 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
72895
72896         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
72897         setgid on directories only if they set these bits.
72898         * lib/modechange.h: Remove obsolete comment about masks.
72899
72900 2006-07-28  Eric Blake  <ebb9@byu.net>
72901
72902         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
72903         macro expansion.
72904
72905 2006-07-28  Bruno Haible  <bruno@clisp.org>
72906
72907         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
72908
72909 2006-07-28  Bruno Haible  <bruno@clisp.org>
72910
72911         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
72912
72913 2006-07-28  Bruno Haible  <bruno@clisp.org>
72914
72915         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
72916         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
72917         Define fallbacks.
72918         Avoids link error on FreeBSD 4.x.
72919         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72920
72921         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
72922         encoding.
72923         * lib/mbswidth.c (iswcntrl): Likewise.
72924
72925 2006-07-27  Bruno Haible  <bruno@clisp.org>
72926
72927         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
72928         test.
72929
72930 2006-07-27  Bruno Haible  <bruno@clisp.org>
72931
72932         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
72933         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
72934         defined.
72935
72936 2006-07-26  Eric Blake  <ebb9@byu.net>
72937
72938         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
72939
72940 2006-07-26  Eric Blake  <ebb9@byu.net>
72941
72942         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
72943         like mingw that lack mkstemp.
72944         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
72945         avoid compilation warning on mingw.
72946
72947 2006-07-26  Bruno Haible  <bruno@clisp.org>
72948
72949         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
72950         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
72951         INT_FAST*_MIN, INTPTR_MIN.
72952
72953 2006-07-25  Bruno Haible  <bruno@clisp.org>
72954
72955         * modules/version-etc (Depends-on): Add stdarg.
72956
72957 2006-07-25  Bruno Haible  <bruno@clisp.org>
72958
72959         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
72960         complex commands.
72961
72962 2006-07-25  Bruno Haible  <bruno@clisp.org>
72963
72964         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
72965         defined in <stdarg.h> or config.h.
72966
72967 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72968
72969         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
72970         (gl_STDIO_SAFER): Remove.
72971
72972 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72973
72974         * MODULES.html.sh (File stream based Input/Output):
72975         Add fopen-safer, tmpfile-safer; remove stdio-safer.
72976         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
72977         * modules/fopen-safer, modules/tmpfile-safer: New files.
72978         * modules/stdio-safer: Remove.
72979
72980 2006-07-24  Bruno Haible  <bruno@clisp.org>
72981
72982         * modules/tmpdir: New file.
72983         * MODULES.html.sh (File system functions): Add it.
72984
72985 2006-07-24  Bruno Haible  <bruno@clisp.org>
72986
72987         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
72988         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
72989
72990 2006-07-24  Bruno Haible  <bruno@clisp.org>
72991
72992         * modules/clean-temp: New file.
72993
72994 2006-07-24  Bruno Haible  <bruno@clisp.org>
72995
72996         * m4/tmpdir.m4: New file, from GNU gettext.
72997
72998 2006-07-24  Bruno Haible  <bruno@clisp.org>
72999
73000         * lib/tmpdir.h: New file, from GNU gettext.
73001         * lib/tmpdir.c: New file, from GNU gettext.
73002
73003 2006-07-24  Bruno Haible  <bruno@clisp.org>
73004
73005         * lib/clean-temp.h: New file, from GNU gettext.
73006         * lib/clean-temp.c: New file, from GNU gettext.
73007
73008 2006-07-23  Eric Blake  <ebb9@byu.net>
73009
73010         * modules/stdio-safer (Files): Add tmpfile-safer.c.
73011         (Depends-on): Add binary-io.
73012
73013 2006-07-23  Eric Blake  <ebb9@byu.net>
73014
73015         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
73016
73017 2006-07-23  Eric Blake  <ebb9@byu.net>
73018
73019         * lib/tmpfile-safer.c: New file.
73020         * lib/stdio-safer.h (fopen_safer): Add prototype.
73021         * lib/stdio--.h (tmpfile): Make safer.
73022
73023 2006-07-23  Bruno Haible  <bruno@clisp.org>
73024
73025         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
73026         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
73027         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
73028         gl_linked_remove_at): Use it.
73029
73030 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73031         and Simon Josefsson <jas@extundo.com>
73032
73033         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
73034
73035         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
73036
73037 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73038
73039         * modules/close-stream: New file.
73040         * modules/closeout (Description): Make it clear that it exits
73041         with a diagnostic on error.
73042         (Depends-on): Add close-stream.  Remove fpending, stdbool.
73043         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
73044
73045 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73046
73047         * m4/close-stream.m4: New file.
73048
73049 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73050
73051         * lib/close-stream.c, lib/close-stream.h: New files.
73052
73053 2006-07-22  Bruno Haible  <bruno@clisp.org>
73054
73055         Merge from GNU gettext 0.15.
73056
73057         2006-05-01  Bruno Haible  <bruno@clisp.org>
73058
73059                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
73060
73061         2006-07-22  Bruno Haible  <bruno@clisp.org>
73062
73063                 * modules/javaversion: New file.
73064                 * MODULES.html.sh (Java): Add javaversion.
73065
73066         2006-03-12  Bruno Haible  <bruno@clisp.org>
73067
73068                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
73069
73070         2005-12-04  Bruno Haible  <bruno@clisp.org>
73071
73072                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
73073                 (untested).
73074
73075         2006-06-21  Bruno Haible  <bruno@clisp.org>
73076
73077                 Avoid warnings from recent versions of mcs.
73078                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
73079                 -o, -L, -r any more. Use options documented since mcs-1.0
73080                 instead. Similarly for -g.
73081
73082         2005-12-04  Bruno Haible  <bruno@clisp.org>
73083
73084                 * build-aux/csharpcomp.sh.in: Suffix for resources is
73085                 .resources, not .resource.
73086
73087         2005-07-09  Bruno Haible  <bruno@clisp.org>
73088
73089                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
73090                 add a .dll suffix.
73091                 Reported by Mark Junker <mjscod@gmx.de>.
73092
73093         2006-07-22  Bruno Haible  <bruno@clisp.org>
73094
73095                 * modules/gettext: Upgrade to gettext-0.15.
73096                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
73097                 m4/visibility.m4.
73098                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
73099
73100 2006-07-22  Bruno Haible  <bruno@clisp.org>
73101
73102         Merge from GNU gettext 0.15.
73103
73104         2006-03-25  Bruno Haible  <bruno@clisp.org>
73105
73106                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
73107
73108         2006-07-21  Bruno Haible  <bruno@clisp.org>
73109
73110                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
73111                 "1.1".
73112
73113         2006-05-09  Bruno Haible  <bruno@clisp.org>
73114
73115                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
73116                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
73117                 for the conftestver execution.
73118
73119         2006-05-01  Bruno Haible  <bruno@clisp.org>
73120
73121                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
73122                 optional target-version argument. Verify that the compiler
73123                 groks source of the specified source-version, or add -source
73124                 option as necessary. Verify that the compiler produces
73125                 bytecode in the specified target-version, or add -target and
73126                 -source options as necessary. Make the result of the test
73127                 available as variable CONF_JAVAC. Also log error output in
73128                 config.log.
73129
73130         2006-03-11  Bruno Haible  <bruno@clisp.org>
73131
73132                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
73133
73134         2006-05-09  Bruno Haible  <bruno@clisp.org>
73135
73136                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
73137                 CLASSPATH_SEPARATOR to a semicolon.
73138
73139         2006-03-12  Bruno Haible  <bruno@clisp.org>
73140
73141                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
73142                 available as variable CONF_JAVA, for subsequent autoconf
73143                 tests. Also log error output in config.log.
73144
73145         2006-07-19  Bruno Haible  <bruno@clisp.org>
73146
73147                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
73148                 that getline works on glibc2 systems. Needed to avoid trouble
73149                 in relocatable.c.
73150                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
73151
73152         2005-12-04  Bruno Haible  <bruno@clisp.org>
73153
73154                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
73155                 launcher (untested).
73156
73157         2005-12-04  Bruno Haible  <bruno@clisp.org>
73158
73159                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
73160
73161         2006-07-22  Bruno Haible  <bruno@clisp.org>
73162
73163                 * gettext.m4: Update from GNU gettext-0.15.
73164                 * nls.m4: Likewise.
73165                 * po.m4: Likewise.
73166                 * inttypes-pri.m4: Likewise.
73167                 * inttypes-h.m4: Renamed from inttypes.m4.
73168                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
73169
73170 2006-07-22  Bruno Haible  <bruno@clisp.org>
73171
73172         Merge from GNU gettext 0.15.
73173
73174         2005-07-05  Bruno Haible  <bruno@clisp.org>
73175
73176                 * printf-args.c (printf_fetchargs): Work around broken
73177                 definition of wint_t on mingw.
73178
73179         2005-02-12  Bruno Haible  <bruno@clisp.org>
73180
73181                 * xallocsa.h: Add extern "C" for C++.
73182
73183         2006-05-17  Bruno Haible  <bruno@clisp.org>
73184
73185                 Cygwin portability.
73186                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
73187
73188         2006-04-30  Bruno Haible  <bruno@clisp.org>
73189
73190                 * progreloc.c: Include <mach-o/dyld.h> if available.
73191                 (find_executable): Use _NSGetExecutablePath when possible.
73192
73193         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73194
73195                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
73196                 function.
73197
73198         2005-12-29  Bruno Haible  <bruno@clisp.org>
73199
73200                 * progreloc.c (set_program_name_and_installdir): Fix
73201                 compilation error.
73202
73203         2005-12-04  Bruno Haible  <bruno@clisp.org>
73204
73205                 Cygwin portability.
73206                 * progreloc.c: Include <windows.h> also on Cygwin.
73207                 (find_executable): Add support for Cygwin.
73208                 (set_program_name_and_installdir): Handle also platforms with
73209                 nonempty EXEEXT.
73210
73211         2006-07-11  Bruno Haible  <bruno@clisp.org>
73212
73213                 * javacomp.c: Fix a comment.
73214                 Reported by Jim Meyering.
73215
73216         2006-04-30  Bruno Haible  <bruno@clisp.org>
73217
73218                 * javacomp.h (compile_java_class): Add source_version,
73219                 target_version arguments.
73220                 * javacomp.c: Rewritten to choose only a compiler that
73221                 respects the specified source_version and target_version.
73222
73223         2006-06-27  Bruno Haible  <bruno@clisp.org>
73224
73225                 Assume correct S_ISDIR macro.
73226                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
73227
73228         2006-07-22  Bruno Haible  <bruno@clisp.org>
73229
73230                 * javaversion.h: New file, from GNU gettext.
73231                 * javaversion.c: New file, from GNU gettext.
73232                 * javaversion.java: New file, from GNU gettext.
73233                 * javaversion.class: New file, from GNU gettext.
73234
73235         2006-05-17  Bruno Haible  <bruno@clisp.org>
73236
73237                 Cygwin portability.
73238                 * javaexec.c (execute_java_class): Test for jview program
73239                 also on Cygwin.
73240
73241         2006-04-09  Bruno Haible  <bruno@clisp.org>
73242
73243                 * fatal-signal.c: Don't include string.h.
73244                 (at_fatal_signal): Use a copying loop instead of memcpy.
73245
73246         2005-12-04  Bruno Haible  <bruno@clisp.org>
73247
73248                 * csharpexec.c: Add support for 'clix' launcher (untested).
73249                 (execute_csharp_using_sscli): New function.
73250                 (execute_csharp_program): Call it.
73251
73252         2006-06-21  Bruno Haible  <bruno@clisp.org>
73253
73254                 Avoid warnings from recent versions of mcs.
73255                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
73256                 -o, -L, -r any more. Use options documented since mcs-1.0
73257                 instead. Similarly for -g.
73258
73259         2005-07-09  Bruno Haible  <bruno@clisp.org>
73260
73261                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
73262                 add a .dll suffix.
73263                 Reported by Mark Junker <mjscod@gmx.de>.
73264
73265         2006-06-17  Bruno Haible  <bruno@clisp.org>
73266
73267                 * config.charset: Update for NetBSD 3.0.
73268
73269         2006-05-17  Bruno Haible  <bruno@clisp.org>
73270
73271                 Cygwin portability.
73272                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
73273
73274         2006-05-16  Bruno Haible  <bruno@clisp.org>
73275
73276                 * localcharset.c [CYGWIN]: Include <windows.h>.
73277                 (get_charset_aliases): For Cygwin, return the same CPxxx
73278                 aliases list as under WIN32.
73279                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
73280                 the environment variables. Fall back to GetACP().
73281
73282         2006-04-05  Bruno Haible  <bruno@clisp.org>
73283
73284                 * config.charset: Update Juan Manuel Guerrero's address.
73285
73286         2005-02-12  Bruno Haible  <bruno@clisp.org>
73287
73288                 * allocsa.h: Add extern "C" for C++.
73289
73290         2005-02-10  Bruno Haible  <bruno@clisp.org>
73291
73292                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
73293                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
73294
73295         2006-07-22  Bruno Haible  <bruno@clisp.org>
73296
73297                 * gettext.h: Update to GNU gettext-0.15.
73298
73299 2006-07-22  Bruno Haible  <bruno@clisp.org>
73300
73301         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
73302         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
73303         lib-prefix.m4, longdouble.m4, ssize_t.m4.
73304
73305 2006-07-21  Eric Blake  <ebb9@byu.net>
73306
73307         * modules/stdlib-safer: New file.
73308         * MODULES.html.sh (File stream based Input/Output): Add
73309         stdlib-safer.
73310
73311 2006-07-21  Eric Blake  <ebb9@byu.net>
73312
73313         * lib/stdlib-safer.h: New file from coreutils, required by
73314         stdlib--.h.
73315
73316 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
73317
73318         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
73319
73320 2006-07-20  Bruno Haible  <bruno@clisp.org>
73321
73322         * gnulib-tool: Recognize new option --assume-autoconf.
73323         (autoconf_minversion): New variable.
73324         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
73325
73326 2006-07-20  Bruno Haible  <bruno@clisp.org>
73327
73328         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
73329
73330 2006-07-19  Derek R. Price  <derek@ximbiot.com>
73331
73332         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
73333         Reindent and repaginate.
73334
73335 2006-07-19  Derek Price  <derek@ximbiot.com>
73336
73337         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
73338         Correct grammar.
73339
73340 2006-07-17  Bruno Haible  <bruno@clisp.org>
73341
73342         * modules/list: New file.
73343         * modules/array-list: New file.
73344         * modules/carray-list, modules/carray-list-tests: New files.
73345         * modules/linked-list, modules/linked-list-tests: New files.
73346         * modules/avltree-list, modules/avltree-list-tests: New files.
73347         * modules/rbtree-list, modules/rbtree-list-tests: New files.
73348         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
73349         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
73350         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
73351         * modules/oset: New file.
73352         * modules/array-oset: New file.
73353         * modules/avltree-oset, modules/avltree-oset-tests: New files.
73354         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
73355         * tests/test-carray_list.c: New file.
73356         * tests/test-linked_list.c: New file.
73357         * tests/test-avltree_list.c: New file.
73358         * tests/test-rbtree_list.c: New file.
73359         * tests/test-linkedhash_list.c: New file.
73360         * tests/test-avltreehash_list.c: New file.
73361         * tests/test-rbtreehash_list.c: New file.
73362         * tests/test-avltree_oset.c: New file.
73363         * tests/test-rbtree_oset.c: New file.
73364         * MODULES.html.sh (Container data structures): New section.
73365
73366 2006-07-17  Bruno Haible  <bruno@clisp.org>
73367
73368         * m4/gl_list.m4: New file.
73369
73370 2006-07-17  Bruno Haible  <bruno@clisp.org>
73371
73372         * lib/gl_list.h: New file.
73373         * lib/gl_list.c: New file.
73374         * lib/gl_array_list.h: New file.
73375         * lib/gl_array_list.c: New file.
73376         * lib/gl_carray_list.h: New file.
73377         * lib/gl_carray_list.c: New file.
73378         * lib/gl_linked_list.h: New file.
73379         * lib/gl_linked_list.c: New file.
73380         * lib/gl_anylinked_list1.h: New file.
73381         * lib/gl_anylinked_list2.h: New file.
73382         * lib/gl_avltree_list.h: New file.
73383         * lib/gl_avltree_list.c: New file.
73384         * lib/gl_anyavltree_list1.h: New file.
73385         * lib/gl_anyavltree_list2.h: New file.
73386         * lib/gl_rbtree_list.h: New file.
73387         * lib/gl_rbtree_list.c: New file.
73388         * lib/gl_anyrbtree_list1.h: New file.
73389         * lib/gl_anyrbtree_list2.h: New file.
73390         * lib/gl_anytree_list1.h: New file.
73391         * lib/gl_anytree_list2.h: New file.
73392         * lib/gl_linkedhash_list.h: New file.
73393         * lib/gl_linkedhash_list.c: New file.
73394         * lib/gl_anyhash_list1.h: New file.
73395         * lib/gl_anyhash_list2.h: New file.
73396         * lib/gl_avltreehash_list.h: New file.
73397         * lib/gl_avltreehash_list.c: New file.
73398         * lib/gl_rbtreehash_list.h: New file.
73399         * lib/gl_rbtreehash_list.c: New file.
73400         * lib/gl_anytreehash_list1.h: New file.
73401         * lib/gl_anytreehash_list2.h: New file.
73402
73403         * lib/gl_oset.h: New file.
73404         * lib/gl_oset.c: New file.
73405         * lib/gl_array_oset.h: New file.
73406         * lib/gl_array_oset.c: New file.
73407         * lib/gl_avltree_oset.h: New file.
73408         * lib/gl_avltree_oset.c: New file.
73409         * lib/gl_rbtree_oset.h: New file.
73410         * lib/gl_rbtree_oset.c: New file.
73411         * lib/gl_anytree_oset.h: New file.
73412
73413 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73414
73415         * m4/mkancesdirs.m4: New file.
73416         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
73417         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
73418         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
73419         it.
73420
73421 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73422
73423         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
73424         * lib/mkancesdirs.h: New files.
73425         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
73426         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
73427         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
73428         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
73429         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
73430         callers changed.  Revamp internals significantly, by not
73431         attempting to create directories that are temporarily more
73432         permissive than the final results.  Do not attempt to use
73433         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
73434         This removes some race conditions, fixes some bugs, and simplifies
73435         things.  Use new dirchownmod function to do owner and mode changes.
73436         * lib/mkdir-p.h: Likewise.
73437         * lib/modechange.c (octal_to_mode): New function.
73438         (struct mode_change): New member mentioned.
73439         (make_node_op_equals): New arg mentioned.  All callers changed.
73440         (mode_compile): Keep track of which mode bits the user has explicitly
73441         mentioned.
73442         (mode_adjust): New arg DIR, so that we implement the X op correctly.
73443         New arg PMODE_BITS, to keep track of which mode bits the user
73444         mentioned; it treats S_ISUID and S_ISGID speciall.
73445         All callers changed.
73446         * lib/modechange.h: Likewise.
73447
73448 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73449
73450         * MODULES.html.sh: Add mkancestors.
73451         * modules/mkancesdirs: New module.
73452         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
73453         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
73454         The chdir-safer and afs files are now orphans; I'll remove them
73455         unless someone speaks up.
73456         Add lib/dirchownmod.c, lib/dirchownmod.h.
73457         (Depends-on): Remove alloca, chown, save-cwd, dirname.
73458         Add lchown, mkancesdirs.
73459         (Maintainer): Add self.
73460
73461 2006-07-15  Karl Berry  <karl@gnu.org>
73462
73463         * gnulib-tool: help message wording/arrangement.
73464
73465 2006-07-14  Simon Josefsson  <jas@extundo.com>
73466
73467         * doc/gnulib.texi (Libtool and Windows): New section.
73468
73469 2006-07-12  Simon Josefsson  <jas@extundo.com>
73470
73471         * modules/gendocs (License): Fix license, approved by Karl.
73472
73473 2006-07-12  Eric Blake  <ebb9@byu.net>
73474
73475         * MODULES.html.sh: Add gendocs.
73476
73477 2006-07-11  Eric Blake  <ebb9@byu.net>
73478
73479         * modules/fdl: New module, to install doc/fdl.texi.
73480         * MODULES.html.sh: Add new section for documentation modules.
73481         * gnulib-tool: Avoid space-tab.
73482         (--doc-base): New option, to manage files from doc.
73483
73484 2006-07-11  Eric Blake  <ebb9@byu.net>
73485
73486         * m4/absolute-header.m4: Fix comments to match recent change.
73487
73488 2006-07-11  Eric Blake  <ebb9@byu.net>
73489
73490         * gnulib-tool: List --doc-base before --tests-base.
73491
73492 2006-07-11  Derek R. Price  <derek@ximbiot.com>
73493
73494         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
73495
73496 2006-07-11  Bruno Haible  <bruno@clisp.org>
73497
73498         * README: Mention where to put documentation.
73499
73500 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73501
73502         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
73503
73504 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
73505
73506         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
73507         to stdint.m4.
73508
73509 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
73510
73511         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
73512         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
73513         "no/such/file/stdint.h" when there is no such file, so that
73514         the resulting C code can be parsed by dodgy compilers.
73515         Problems reported by Bob Proulx.
73516
73517 2006-07-10  Derek R. Price  <derek@ximbiot.com>
73518
73519         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
73520         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
73521         macros into the GNU _D_EXACT_NAMLEN.
73522         * lib/savedir.c:  Likewise.
73523         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
73524
73525 2006-07-10  Derek R. Price  <derek@ximbiot.com>
73526         and Paul Eggert  <eggert@cs.ucla.edu>
73527
73528         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
73529         * m4/savedir.m4:
73530         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
73531         macros into the GNU _D_EXACT_NAMLEN.
73532
73533 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73534
73535         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
73536         around the absolute name, to work around a problem with the HP-UX
73537         11.23 native C compiler, reported by Bob Proulx.
73538
73539 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73540
73541         * doc/maintain.texi, make-stds.texi: Sync from
73542         <http://savannah.gnu.org/projects/gnustandards>.
73543
73544 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73545
73546         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
73547
73548 2006-07-09  Jim Meyering  <jim@meyering.net>
73549
73550         * m4/glob.m4: Remove a doubled word in a comment.
73551
73552 2006-07-09  Jim Meyering  <jim@meyering.net>
73553
73554         * lib/argp-pv.c: Remove a doubled word in a comment.
73555         * lib/check-version.c (check_version): Likewise.
73556         * lib/javacomp.c (compile_java_class): Likewise.
73557
73558 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
73559
73560         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
73561         for the benefit of people using Autoconf 2.60.  If you want to
73562         support older Autoconf versions you can copy m4/onceonly_2_57.m4
73563         (or m4/onceonly.m4, if pre-2.57) manually.
73564
73565 2006-07-08  Jim Meyering  <jim@meyering.net>
73566
73567         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
73568         comment.
73569         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
73570         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
73571         comment.
73572
73573 2006-07-08  Jim Meyering  <jim@meyering.net>
73574
73575         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
73576
73577 2006-07-07  Simon Josefsson  <jas@extundo.com>
73578
73579         * tests/test-crc.c: Change expected crc value, the test vector
73580         were probably computed using the old broken crc.c?
73581
73582 2006-07-06  Simon Josefsson  <jas@extundo.com>
73583
73584         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
73585         now the canonical place for the M4 file).
73586
73587         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
73588         from the sys_socket dependency now.
73589
73590         * modules/inet_pton (Files): Ditto.
73591
73592         * modules/inet_ntop (Files): Ditto.
73593
73594 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
73595
73596         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
73597         not gl_PREREQ_GETUSERSHELL.
73598
73599 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73600
73601         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
73602         with only one argument, for Autoconf 2.60.
73603         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
73604         expand to nothing, so add a shell command to avoid syntax error.
73605         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
73606
73607 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73608
73609         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
73610
73611 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73612
73613         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
73614         no longer needed.  Check for isblank decl.
73615         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
73616         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
73617         of existence.
73618
73619 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73620
73621         * lib/getloadavg.c: Use __VMS, not VMS.
73622         * lib/getopt.c: Likewise.
73623         * lib/getpagesize.h: Likewise.
73624         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
73625         and probably does not work.
73626
73627 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73628
73629         * lib/.cppi-disable: Add wcwidth.
73630         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
73631         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
73632         (ISGRAPH): Remove.  All uses changed to isgraph.
73633         (FOLD) [!defined _LIBC]: Remove special case.
73634         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
73635         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
73636         HAVE_ISBLANK.
73637         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
73638         case.
73639
73640 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
73641
73642         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
73643         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
73644         brackets.  Other minor changes to suppress some compiler
73645         warnings.
73646
73647 2006-07-06  Derek R. Price  <derek@ximbiot.com>
73648         and Paul Eggert  <eggert@cs.ucla.edu>
73649
73650         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
73651         of invoking obsolescent AC_HEADER_DIRENT macro.
73652         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
73653         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
73654         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
73655         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
73656         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
73657         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73658         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
73659         * m4/readdir.m4: Remove; no longer needed.
73660
73661 2006-07-06  Derek R. Price  <derek@ximbiot.com>
73662         and Paul Eggert  <eggert@cs.ucla.edu>
73663
73664         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
73665         Don't worry about this obsolete case any more.
73666         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
73667         directories.
73668         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
73669         worry about this obsolete case any more.
73670         * lib/fts.c: Likewise.
73671         * lib/getcwd.c: Likewise.
73672         * lib/glob.h: Likewise.
73673         * lib/savedir.c: Likewise.
73674
73675 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73676
73677         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
73678         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
73679         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
73680         needed.
73681         All uses removed.
73682         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73683         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
73684         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
73685         needed.
73686         * m4/getdate.m4 (gl_GETDATE): Likewise.
73687         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73688         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73689         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73690         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73691         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
73692         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73693         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
73694         needed.
73695
73696 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73697
73698         * lib/memcasecmp.c: Include <limits.h>.
73699         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
73700         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
73701         Don't assume isdigit succeeds only on '0' through '9'.
73702
73703 2006-07-05  Eric Blake  <ebb9@byu.net>
73704
73705         * modules/getaddrinfo (Depends-on): Add snprintf.
73706
73707 2006-07-05  Eric Blake  <ebb9@byu.net>
73708
73709         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
73710         to avoid 'header present but could not be compiled' on cygwin.
73711
73712 2006-07-05  Eric Blake  <ebb9@byu.net>
73713
73714         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
73715         missing from netdb.h.
73716         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
73717
73718 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73719
73720         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
73721         no longer needed.
73722         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
73723         * m4/getdate.m4 (gl_GETDATE): Likewise.
73724         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73725         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73726         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73727         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73728         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73729
73730 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73731
73732         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
73733         All uses of is_space replaced by isspace.
73734         * lib/exit.h: Don't talk about STDC_HEADERS.
73735         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
73736         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
73737         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
73738         replaced by isprint etc.
73739         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
73740         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73741         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
73742         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
73743         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
73744         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73745
73746 2006-07-05  Bruno Haible  <bruno@clisp.org>
73747
73748         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
73749         the function exists, before testing against AIX.
73750         Reported by Martin Lambers <marlam@marlam.de>.
73751
73752 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73753
73754         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
73755         From Mark D. Baushke.
73756
73757 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73758
73759         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
73760         to the absolute name, not just one, to bypass Sun C 5.8's
73761         "warning: #include of /usr/include/... may be non-portable".
73762
73763 2006-07-04  Eric Blake  <ebb9@byu.net>
73764
73765         * modules/dirname-tests: New test module.
73766         * tests/test-dirname.c: New file, replacing dirname.c
73767         TEST_DIRNAME section that was recently deleted.
73768
73769 2006-07-04  Bruno Haible  <bruno@clisp.org>
73770
73771         Assume ANSI C header files and <ctype.h> functions.
73772         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
73773         (mbsnwidth): Use isprint, iscntrl instead.
73774
73775 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73776
73777         Merge from coreutils.
73778         * MODULES.html.sh: Add xstrtold.
73779         * modules/xstrtold: New file.
73780         * modules/cycle-check (Files): Add lib/same-inode.h.
73781         * modules/dirname (Files): Add m4/double-slash-root.m4.
73782         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
73783         * modules/mkdir-p (Files): Add lib/same-inode.h.
73784         * modules/same (Files): Add lib/same-inode.h.
73785
73786 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73787
73788         * m4/absolute-header.m4: Renamed from full-header-path.m4.
73789         This is to keep the terminology clean; POSIX talks about
73790         "absolute pathnames", not "full pathnames", but the GNU
73791         Coding Standards say to use "path" for something else;
73792         so use "absolute" to keep both sides happy.
73793         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
73794         Set gl_absolute_header, not gl_full_header_path.
73795         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
73796         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
73797         All uses changed.
73798
73799         Merge from coreutils.
73800
73801         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73802
73803         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
73804         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
73805         want to require the building of c-strtod.o.
73806         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
73807         needs -lm directly.
73808         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
73809
73810         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
73811
73812         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
73813         --as-needed option if available.  Problem reported by Albert Chin in
73814         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
73815         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
73816         cc merely issues a bunch of annoying warnings for --as-needed
73817         (this problem was reported by Bob Proulx).  Also, try linking with
73818         -lm to detect a bug in binutils 2.16 (this problem was reported
73819         by Ralf Wildenhues).
73820
73821         2006-06-18  Jim Meyering  <jim@meyering.net>
73822
73823         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
73824         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
73825         macro.
73826         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
73827         also check for glibc-2.4's abort-inducing bug.
73828
73829         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
73830         Low-probability clean-up should be to use rmdir to get rid of
73831         the just-created directory, not unlink.
73832
73833         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
73834         configure fail, and request a bug report to inform us about it.
73835         Add a comment that, barring reports to the contrary, in 2007 we'll
73836         assume ftruncate is universally available.
73837
73838         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73839
73840         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
73841
73842         2006-03-12  Jim Meyering  <jim@meyering.net>
73843
73844         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
73845         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
73846         * m4/same.m4 (gl_SAME): Likewise.
73847         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
73848
73849         2006-03-11  Eric Blake  <ebb9@byu.net>
73850
73851         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
73852         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
73853         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
73854         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
73855
73856 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73857
73858         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
73859         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
73860         reported by Mark D. Baushke, one in
73861         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
73862
73863         Merge from coreutils.
73864
73865         * lib/.cppi-disable: Add stdint_.h.
73866         * lib/.cvsignore: Add stdint.h.
73867
73868         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73869
73870         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
73871         both double and long double versions.
73872         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
73873         * lib/xstrtold.c: New file.
73874         * lib/xstrtod.h (xstrtold): New decl.
73875
73876         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
73877
73878         * lib/filemode.c (setst): Remove.
73879         (strmode): Rewrite to avoid setst.  This makes the code shorter,
73880         (arguably) clearer, and the generated code is a bit smaller on my
73881         Debian GNU/Linux stable x86 host.
73882
73883         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73884
73885         * lib/filemode.c: Include "filemode.h" first, to test the interface.
73886         Assume that filemode.h includes sys/types.h and sys/stat.h.
73887         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
73888         (ftypelet): Reorder to put common cases first, for efficiency.
73889         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
73890         to do 'M'.
73891         (strmode): Renamed from mode_string, and now stores 12 bytes instead
73892         of 10, for compatibility with FreeBSD.  All callers changed.
73893         (filemodestring): Now stores 12 bytes instead of 10, and sets file
73894         types that can't be deduced solely from st_mode.  First arg is now a
73895         const pointer.
73896         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
73897         (strmode): Renamed from mode_string.
73898         (filemodestring): New decl.
73899         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
73900         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
73901         needed.
73902         (S_ISPORT, S_ISWHT): New macros, if not already defined.
73903
73904         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
73905
73906         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
73907         fsusage.h now does that.  Include fsusage.h first, to test interface.
73908         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
73909         at most one method (the old code could have generated decls that
73910         didn't conform to C89, not that this was ever exercised).
73911         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
73912
73913         2006-03-19  Jim Meyering  <jim@meyering.net>
73914
73915         Work even in a chroot where d_ino values for entries in "/"
73916         don't match the stat.st_ino values for the same names.
73917         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
73918         number, iterate through all entries again, using lstat instead.
73919         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
73920         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
73921
73922         * lib/getcwd.c (__getcwd): Clarify a comment.
73923         Use memcpy in place of a call to strcpy.
73924
73925         2006-03-12  Jim Meyering  <jim@meyering.net>
73926
73927         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
73928         matches that of the current directory (which we're about to chdir ".."
73929         out of), then save the dev-ino of the parent, instead.
73930
73931         * lib/same-inode.h (SAME_INODE): New file/macro.
73932         * lib/chdir-safer.c (SAME_INODE): Remove definition.
73933         Include "same-inode.h", instead.
73934         * lib/same.c: Likewise.
73935         * lib/cycle-check.h: Include "same-inode.h".
73936         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
73937         * lib/cycle-check.c (SAME_INODE): Remove definition.
73938         * lib/root-dev-ino.h: Include "same-inode.h".
73939
73940         2006-03-11  Eric Blake  <ebb9@byu.net>
73941
73942         * lib/same.c (same_name): s/base_name/last_component/
73943         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
73944         * lib/filenamecat.c (file_name_concat): Likewise.
73945
73946         2006-03-11  Eric Blake  <ebb9@byu.net>,
73947                     Paul Eggert  <eggert@cs.ucla.edu>
73948
73949         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
73950         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
73951         drive prefix.
73952         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
73953         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
73954         (last_component): New method.
73955         * lib/dirname.c (dir_len): Determine when drive letters need a
73956         subsequent slash.  Preserve // when it is special.
73957         (dir_name): Don't append dot when drive letter is absolute.
73958         [TEST_DIRNAME]: Move into a full-blown gnulib test.
73959         * lib/basename.c (base_name): New semantics - malloc the result.
73960         Preserve // when it is special.  Preserve relative files that look
73961         like drive letters.
73962         (base_len): Preserve // when it is special.
73963         (last_component): New method, similar to old base_name semantics.
73964         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
73965         base_name.  Strip redundant slashes from ///.
73966
73967 2006-07-03  Jim Meyering  <jim@meyering.net>
73968
73969         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
73970         macro is used before the first cycle_check call.
73971
73972 2006-07-03  Eric Blake  <ebb9@byu.net>
73973
73974         * modules/dirname (Depends-on): Add xstrndup.
73975
73976 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73977
73978         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
73979         test cases, so that config.log is a bit easier to follow.
73980
73981 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73982
73983         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
73984         both are 64 bits, since this seems to be the tradition, and this
73985         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
73986         we ever run into a host that prefers long long to long in this
73987         case, we'll need another configure-time test.  Problem reported by
73988         Jim Meyering.
73989
73990 2006-07-02  Eric Blake  <ebb9@byu.net>
73991
73992         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
73993
73994 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73995
73996         * modules/inttypes (Depends-on): No longer depends on stdint.
73997         * modules/stdint (Description): Say more about assumptions.
73998         Say that the fast types might differ.  Say macros are used.
73999         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
74000         (Makefile.am): Revise list of substituted symbols to match
74001         new stdint.m4.
74002         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
74003         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
74004         * tests/test-stdint.c (verify_same_types)
74005         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
74006         the code conforms to C99/C89.
74007         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
74008         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
74009
74010 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74011
74012         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
74013         but fix a bug, by requiring at least 64 bits.
74014         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
74015         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
74016         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
74017         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
74018
74019         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
74020         changes.  Make 2.59 a prerequisite.  Check and substitute for
74021         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
74022         inttypes.h.  Do not use special include files; just use the
74023         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
74024         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
74025         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
74026         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
74027         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
74028         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
74029         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
74030         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
74031         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
74032         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
74033         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
74034         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
74035         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
74036         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
74037         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
74038         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
74039         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
74040         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
74041         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
74042         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
74043         WINT_MAX.  Check for C99 conformance more strictly, by detecting
74044         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
74045         not check for things that C99 does not require, e.g., int8_t.  If
74046         a test isn't needed unless <stdint.h> isn't working, and is
74047         unlikely to be needed for any other reason, then don't do it
74048         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
74049         size_t, since we assume C89 freestanding at least.  Do not check
74050         for sig_atomic_t, wchar_t, or wint_t, since the code now does
74051         the right thing even if the types are not defined.  Instead use:
74052         (gl_STDINT_TYPE_PROPERTIES): New macro.
74053         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
74054         testing whether <sys/types.h> clashes, as Autoconf does this for
74055         us now.  All uses removed.
74056         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
74057         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
74058         (gl_CHECK_TYPE_SAME):
74059         Remove; no longer needed.
74060         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
74061         exists, since we'll return 0 anyway in that case.
74062         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
74063
74064 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74065
74066         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
74067         possible collision with system files.
74068         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
74069         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
74070         WCHAR_MIN and WCHAR_MAX in this case.
74071         (<stddef.h>): Do not include; no longer needed.
74072         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
74073         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
74074         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
74075         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
74076         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
74077         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
74078         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
74079         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
74080         !defined(__c99))]: Include in this case too, since it's harmless
74081         now.
74082         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
74083         dangerous to do so.
74084         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
74085         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
74086         (_STDINT_MIN, _STDINT_MAX): New macros.
74087         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
74088         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
74089         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
74090         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
74091         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
74092         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
74093         macros, not typedefs; this simplifies things quite a bit.
74094         Use long int for all types narrower than int64_t.
74095         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
74096         Define in terms of long long int or int64_t or long int,
74097         not int64_t or int32_t.  This saves some compile-time testing.
74098         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
74099         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
74100         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
74101         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
74102         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
74103         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
74104         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
74105         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
74106         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
74107         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
74108         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
74109         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
74110         undef any previous version and define our own version, for
74111         simplicity and consistency with the new macros for types.
74112         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
74113         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
74114         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
74115         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
74116         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
74117         @WINT_T_SUFFIX@ to keep things simple here.
74118         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
74119         Simplify by assuming typical 8/16/32/64 host, since we're
74120         already doing that elsewhere anyway.
74121         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
74122         and assume long long int is 64 bits if available.  This
74123         speeds up 'configure'.
74124
74125 2006-07-01  Eric Blake  <ebb9@byu.net>
74126
74127         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
74128         Reported by Andreas Buening.
74129
74130 2006-07-01  Eric Blake  <ebb9@byu.net>
74131
74132         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
74133
74134 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74135
74136         * lib/getaddrinfo.c: fixed typo
74137
74138 2006-06-29  Jim Meyering  <jim@meyering.net>
74139
74140         * modules/strftime (Maintainer): Add my name, since with the
74141         FPRINTFTIME changes strftime.c has forked from glibc.
74142
74143 2006-06-29  Eric Blake  <ebb9@byu.net>
74144
74145         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
74146
74147 2006-06-29  Eric Blake  <ebb9@byu.net>
74148
74149         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
74150
74151 2006-06-29  Eric Blake  <ebb9@byu.net>
74152
74153         * lib/stat_.h: New file.
74154
74155 2006-06-29  Eric Blake  <ebb9@byu.net>
74156
74157         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
74158         unused static function.
74159
74160 2006-06-29  Eric Blake  <ebb9@byu.net>
74161
74162         * doc/functions.texi (Function Portability): Document missing lstat
74163         on mingw.
74164
74165 2006-06-29  Eric Blake  <ebb9@byu.net>
74166
74167         * MODULES.html.sh: Add sys_stat.
74168         * modules/sys_stat: New module.
74169         * modules/mkstemp (Depends-on): Add sys_stat.
74170
74171 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74172
74173         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
74174
74175 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74176
74177         * m4/c-bs-a.m4: Removed.
74178
74179 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74180
74181         * lib/strftime.c: Assume strftime() exists.
74182
74183 2006-06-29  Derek Price  <derek@ximbiot.com>
74184
74185         * modules/c-bs-a: Removed - \a is C89.
74186         * MODULES.html.sh: Remove c-bs-a.
74187
74188 2006-06-29  Bruno Haible  <bruno@clisp.org>
74189
74190         * modules/wcwidth (License): Change to LGPL.
74191
74192 2006-06-28  Simon Josefsson  <jas@extundo.com>
74193
74194         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
74195         on _WIN32.
74196
74197         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
74198         getnameinfo.
74199
74200 2006-06-28  Simon Josefsson  <jas@extundo.com>
74201
74202         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
74203
74204 2006-06-28  Simon Josefsson  <jas@extundo.com>
74205
74206         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
74207         functions there.  It will succeed on Windows XP, but on Windows
74208         2000 and (presumably) earlier, it will fail, and use the internal
74209         re-implementation.
74210         (use_win32_p): New function.
74211         (getaddrinfo): Use strtoul on servname, to support numeric ports.
74212         Support AI_NUMERICSERV to disable getservbyname.
74213         (getnameinfo): New function, only supports
74214         NI_NUMERICHOST|NI_NUMERICSERV for now.
74215
74216         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
74217         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
74218         getnameinfo.
74219
74220 2006-06-28  Eric Blake  <ebb9@byu.net>
74221
74222         * modules/wcwidth: New file.
74223         * modules/mbchar (Depends-on): Add wcwidth.
74224         * modules/mbswidth (Depends-on): Add wcwidth.
74225         * MODULES.html.sh: Add wcwidth.
74226
74227 2006-06-28  Eric Blake  <ebb9@byu.net>
74228
74229         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
74230         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
74231
74232 2006-06-28  Eric Blake  <ebb9@byu.net>
74233
74234         * lib/xvasprintf.h: Fix comments.
74235
74236 2006-06-28  Eric Blake  <ebb9@byu.net>
74237
74238         * lib/mbchar.h (wcwidth): Include wcwidth.h.
74239         * lib/mbswidth.c (wcwidth): Move from here...
74240         * lib/wcwidth.h: ...to this new file.
74241
74242 2006-06-28  Derek R. Price  <derek@ximbiot.com>
74243
74244         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
74245
74246         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
74247         it's obsolete.
74248         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
74249
74250 2006-06-28  Derek R. Price  <derek@ximbiot.com>
74251
74252         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
74253         Autoconf 2.60 says this stuff was obsolete.
74254
74255 2006-06-28  Bruno Haible  <bruno@clisp.org>
74256
74257         * modules/wcwidth (Files): Add m4/wchar_t.m4.
74258
74259 2006-06-28  Bruno Haible  <bruno@clisp.org>
74260
74261         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
74262         gt_TYPE_WCHAR_T.
74263
74264 2006-06-28  Bruno Haible  <bruno@clisp.org>
74265
74266         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
74267         declaration for wcwidth.
74268         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
74269
74270 2006-06-28  Bruno Haible  <bruno@clisp.org>
74271
74272         * lib/mkdtemp.c [MINGW]: Include <io.h>.
74273         (mkdir): Define using _mkdir.
74274
74275 2006-06-28  Bruno Haible  <bruno@clisp.org>
74276
74277         * lib/getaddrinfo.h: Fix POSIX URL.
74278         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
74279         _WIN32.
74280         (use_win32_p): Make static.
74281         (getaddrinfo): Reject service name if it is empty or does not consist
74282         solely of decimal digits, or if its value is > 65535.
74283         (getnameinfo): Remove useless casts.
74284
74285 2006-06-27  Simon Josefsson  <jas@extundo.com>
74286
74287         * modules/sys_select: New file, suggested by Bruno Haible, Paul
74288         Eggert and Martin Lambers.
74289
74290 2006-06-27  Simon Josefsson  <jas@extundo.com>
74291
74292         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
74293         Eggert and Martin Lambers.
74294
74295 2006-06-27  Bruno Haible  <bruno@clisp.org>
74296
74297         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
74298         result to 0, not to empty.
74299         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
74300
74301 2006-06-27  Bruno Haible  <bruno@clisp.org>
74302
74303         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
74304
74305 2006-06-26  Simon Josefsson  <jas@extundo.com>
74306
74307         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
74308         present.
74309
74310 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
74311
74312         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
74313         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
74314         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
74315
74316 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
74317
74318         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
74319
74320 2006-06-26  Bruno Haible  <bruno@clisp.org>
74321
74322         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
74323
74324 2006-06-26  Bruno Haible  <bruno@clisp.org>
74325
74326         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
74327
74328 2006-06-26  Bruno Haible  <bruno@clisp.org>
74329
74330         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
74331         SGI C compiler in pre-C99 mode.
74332         Suggested by Mark D. Baushke and Larry Jones.
74333
74334 2006-06-26  Bruno Haible  <bruno@clisp.org>
74335
74336         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
74337         WCHAR_MAX.
74338         Reported by Mark D. Baushke and Larry Jones.
74339
74340 2006-06-26  Bruno Haible  <bruno@clisp.org>
74341
74342         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
74343         in pre-C99 mode.
74344         Suggested by Mark D. Baushke and Larry Jones.
74345
74346 2006-06-23  Simon Josefsson  <jas@extundo.com>
74347             Bruno Haible  <bruno@clisp.org>
74348
74349         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
74350         Emit mostlyclean-local rule.
74351         (func_emit_tests_Makefile_am): Likewise.
74352         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
74353
74354 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
74355
74356         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
74357
74358 2006-06-23  Bruno Haible  <bruno@clisp.org>
74359
74360         * tests/test-stdint.c: Update to match ISO C 99 Technical
74361         Corrigendum 1.
74362
74363 2006-06-23  Bruno Haible  <bruno@clisp.org>
74364
74365         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
74366
74367 2006-06-23  Bruno Haible  <bruno@clisp.org>
74368
74369         * lib/stdint_.h: Treat IRIX like OpenBSD.
74370
74371 2006-06-23  Bruno Haible  <bruno@clisp.org>
74372
74373         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
74374         ISO C 99 Technical Corrigendum 1.
74375
74376 2006-06-22  Simon Josefsson  <jas@extundo.com>
74377
74378         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
74379         MinGW.
74380
74381 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74382
74383         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
74384         needed.  Some compiler complained about some of them.  Problem reported
74385         by Larry Jones in
74386         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
74387
74388 2006-06-21  Simon Josefsson  <jas@extundo.com>
74389
74390         * tests/test-getaddrinfo.c: New file.
74391
74392         * modules/getaddrinfo-tests: New file.
74393
74394         * MODULES.html.sh: Add inet_pton.
74395
74396         * modules/inet_pton: New file.
74397
74398 2006-06-21  Simon Josefsson  <jas@extundo.com>
74399
74400         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
74401         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
74402         of using the (limited) gnulib implementation on Windows XP.
74403
74404         * m4/inet_pton.m4: New file.
74405
74406 2006-06-21  Simon Josefsson  <jas@extundo.com>
74407
74408         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
74409         variable.
74410
74411         * lib/socket_.h: Don't define WINVER.
74412
74413         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
74414         slightly modified to work in gnulib.
74415
74416 2006-06-21  Simon Josefsson  <jas@extundo.com>
74417
74418         * doc/gnulib.texi (Windows sockets): Add.
74419
74420 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
74421
74422         * lib/read-file.c (fread_file): Start with buffer allocation of
74423         0 bytes rather than 1 byte; this simplifies the code.
74424         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
74425         code to free buffer and save/restore errno.
74426         (internal_read_file): Remove unused local.
74427
74428 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
74429
74430         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
74431         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
74432         Problem reported by Denis Excoffier in
74433         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
74434
74435 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74436
74437         * modules/sys_socket, modules/socklen: Include sys/types since
74438         FreeBSD 4.x's sys/socket.h needs it.
74439
74440 2006-06-19  Simon Josefsson  <jas@extundo.com>
74441
74442         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
74443
74444 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
74445
74446         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
74447
74448 2006-06-19  Bruno Haible  <bruno@clisp.org>
74449
74450         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
74451         and FULL_PATH_INTTYPES_H in angle brackets.
74452         Reported by Mark D. Baushke <mdb@gnu.org>.
74453
74454 2006-06-17  Eric Blake  <ebb9@byu.net>
74455
74456         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
74457         errno.
74458
74459 2006-06-17  Bruno Haible  <bruno@clisp.org>
74460
74461         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
74462         <sys/inttypes.h>.
74463
74464 2006-06-17  Bruno Haible  <bruno@clisp.org>
74465
74466         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
74467         whether errno is declared. Assume <errno.h> declares errno.
74468
74469 2006-06-17  Bruno Haible  <bruno@clisp.org>
74470
74471         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
74472
74473 2006-06-17  Bruno Haible  <bruno@clisp.org>
74474
74475         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
74476         problem on Solaris 2.5.1.
74477
74478 2006-06-16  Eric Blake  <ebb9@byu.net>
74479
74480         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
74481         * lib/unicodeio.c [!defined errno]: Likewise.
74482         * lib/strtol.c [!defined errno]: Likewise.
74483         * lib/strtod.c [!defined errno]: Likewise.
74484
74485 2006-06-15  Eric Blake  <ebb9@byu.net>
74486
74487         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
74488
74489 2006-06-15  Eric Blake  <ebb9@byu.net>
74490
74491         * config/srclist.txt (ssize_t.m4): Lose sync.
74492
74493 2006-06-15  Bruno Haible  <bruno@clisp.org>
74494
74495         * modules/stdint (Files): Include m4/full-header-path.m4,
74496         m4/size_max.m4, m4/wchar_t.m4.
74497         (Makefile.am): Many more substitutions.
74498         * modules/stdint-tests: New file.
74499         * tests/test-stdint.c: New file.
74500
74501 2006-06-15  Bruno Haible  <bruno@clisp.org>
74502
74503         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
74504         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
74505         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
74506         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
74507         gl_CHECK_TYPE_SAME): New macros.
74508
74509 2006-06-15  Bruno Haible  <bruno@clisp.org>
74510
74511         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
74512
74513 2006-06-15  Bruno Haible  <bruno@clisp.org>
74514
74515         * lib/stdint_.h: Rewritten to be fully auto-configured.
74516         Fixes bug on HP-UX/IA64.
74517
74518 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
74519
74520         * lib/getdate.y (__attribute__): Don't define if already defined.
74521         Problem reported by Larry Jones.
74522         * lib/utimens.c (__attribute__): Likewise.
74523
74524 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
74525
74526         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
74527         reported by Andreas Schwab.
74528
74529 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74530             Bruno Haible  <bruno@clisp.org>
74531
74532         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
74533         check for the declaration of strnlen and a run test that exposes the
74534         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
74535         rpl_strndup.
74536
74537 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74538             Bruno Haible  <bruno@clisp.org>
74539
74540         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
74541
74542 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74543
74544         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
74545         compile test, for Tru64 4.0D.
74546
74547 2006-05-28  Karl Berry  <karl@gnu.org>
74548
74549         * config/srclist.txt (printf-args.c): lose sync.
74550
74551 2006-05-26  Martin Lambers  <marlam@marlam.de>
74552
74553         * lib/getpass.c: Updates the test for the native W32 API, and adds
74554         missing includes, thus fixing compilation warnings.
74555
74556 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
74557
74558         * lib/exclude.c (exclude_fnmatch): New function.
74559         (excluded_file_name): Call exclude_fnmatch.
74560         * lib/exclude.h (excluded_file_name): New prototype
74561
74562 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
74563
74564         * lib/tempname.c (small_open, large_open): New macros.
74565         (__open, __open64) [!_LIBC]: Remove.
74566         (__gen_tempname): Use small_open and large_open instead of __open
74567         and __open64.  This fixes a portability bug on HP-UX 11.11i
74568         reported by Simon Wing-Tang in
74569         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
74570
74571 2006-05-24  Bruno Haible  <bruno@clisp.org>
74572
74573         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
74574         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
74575         Reported by Thorsten Maerz <torte@netztorte.de> via
74576         Aaron Stone <aaron@serendipity.cx>.
74577
74578 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
74579
74580         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
74581         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
74582         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
74583         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
74584         not really conditional on the cache.
74585         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
74586
74587 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
74588
74589         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
74590         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
74591         (my_usleep): Don't mishandle maximum value.
74592
74593 2006-05-19  Jim Meyering  <jim@meyering.net>
74594
74595         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
74596
74597 2006-05-17  Bruno Haible  <bruno@clisp.org>
74598
74599         Cygwin portability.
74600         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
74601
74602 2006-05-17  Bruno Haible  <bruno@clisp.org>
74603
74604         * lib/stdint_.h: Fix recognition of Cygwin.
74605
74606 2006-05-15  Bruno Haible  <bruno@clisp.org>
74607
74608         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
74609         on libtool patch by Ralf Wildenhues.
74610
74611 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
74612
74613         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
74614         test for C99 conformance; (bool) 0.5 is an integer constant
74615         expression, but (bool) -0.5 is not.  Problem reported by Fedor
74616         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
74617
74618 2006-05-11  Simon Josefsson  <jas@extundo.com>
74619
74620         * m4/xvasprintf.m4: Fix obvious typo.
74621
74622 2006-05-11  Jim Meyering  <jim@meyering.net>
74623
74624         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
74625         James Lemley.
74626
74627 2006-05-10  Simon Josefsson  <jas@extundo.com>
74628
74629         * lib/md4.c: Typo fix, update copyright years.
74630         (K1, K2): Don't use L because it turn computations into 64-bit on
74631         64-bit platforms.
74632
74633 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
74634
74635         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
74636         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
74637         unwanted sign propagation, e.g., on hosts with 64-bit int.
74638         There still are some problems with reeelly weird theoretical hosts
74639         (e.g., 33-bit int) but it's not worth worrying about now.
74640         * lib/sha1.c (rol): Likewise.
74641         (K1, K2, K3, K4): Remove unnecessary L suffix.
74642
74643 2006-05-10  Bruno Haible  <bruno@clisp.org>
74644
74645         * lib/des.c: Cast to avoid warnings.
74646
74647 2006-05-09  Bruno Haible  <bruno@clisp.org>
74648
74649         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
74650         (Depends-on): Depend also on xsize, stdarg.
74651         (configure.ac): Add gl_XVASPRINTF.
74652
74653 2006-05-09  Bruno Haible  <bruno@clisp.org>
74654
74655         * m4/xvasprintf.m4: New file.
74656
74657 2006-05-09  Bruno Haible  <bruno@clisp.org>
74658
74659         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
74660         (EOVERFLOW): Define fallback value.
74661         (xstrcat): New function.
74662         (xvasprintf): Recognize the special case of a string concatenation.
74663
74664 2006-05-08  Eric Blake  <ebb9@byu.net>
74665
74666         * gnulib-tool (func_version): Base copyright year on CVS date.
74667         (func_emit_copyright_notice): New function.
74668         (func_emit_lib_Makefile_am): Use it.
74669         (func_emit_tests_Makefile_am): Likewise.
74670         (func_import): Likewise.
74671
74672 2006-05-08  Bruno Haible  <bruno@clisp.org>
74673
74674         * modules/stdarg: New file.
74675         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
74676
74677 2006-05-08  Bruno Haible  <bruno@clisp.org>
74678
74679         * m4/stdarg.m4: New file, from GNU gettext.
74680
74681 2006-05-08  Bruno Haible  <bruno@clisp.org>
74682
74683         * config/srclist.txt (build-aux/config.rpath): different from latest
74684         release.
74685
74686 2006-05-08  Bruno Haible  <bruno@clisp.org>
74687
74688         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
74689
74690 2006-05-05  Jim Meyering  <jim@meyering.net>
74691
74692         * m4/warning.m4: New file, derived from bison's file by the same name.
74693
74694 2006-05-03  Bruno Haible  <bruno@clisp.org>
74695
74696         * lib/stdint_.h: Shorter URL.
74697         * lib/inttypes.h: Likewise.
74698
74699 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74700
74701         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
74702
74703 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74704
74705         * lib/verify.h: Document the internals better.  Most of this change
74706         was written by Bruno Haible.
74707
74708 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74709
74710         * doc/verify.texi: New file, partly based on a proposal by
74711         Bruno Haible.
74712
74713 2006-05-02  Bruno Haible  <bruno@clisp.org>
74714
74715         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
74716         test from here...
74717         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
74718
74719 2006-04-29  Bruno Haible  <bruno@clisp.org>
74720
74721         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
74722         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
74723
74724 2006-04-29  Bruno Haible  <bruno@clisp.org>
74725
74726         * gnulib-tool: Make --update option actually work.
74727
74728 2006-04-29  Bruno Haible  <bruno@clisp.org>
74729
74730         * doc/gcd.texi: New file.
74731         * doc/gnulib.texi: Include it.
74732
74733 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
74734
74735         * lib/getdate.y (get_date): When adding relative date, start with the
74736         initial time, not with the result of the first mktime call.
74737
74738 2006-04-25  Bruno Haible  <bruno@clisp.org>
74739
74740         * gnulib-tool (func_import): Output the include directives in three
74741         blocks, sorted separately.
74742         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74743
74744 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74745
74746         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
74747         to define main with arguments, for C++.  Reported by Eric Blake.
74748         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
74749         Prefer 'int main ()' to 'int main (void)', for C++.
74750         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
74751         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
74752         for 'main', for C99 and C++.
74753
74754 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74755
74756         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
74757         Don't assume that exit status -1 is valid.
74758         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74759         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
74760         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
74761         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
74762         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
74763         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
74764         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
74765         functions can be used without declaring them, or that you can
74766         exit with status -1.
74767         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
74768
74769 2006-04-24  Karl Berry  <karl@gnu.org>
74770
74771         * config/srclist.txt (longdouble.m4): sync lost.
74772
74773 2006-04-24  Eric Blake  <ebb9@byu.net>
74774
74775         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
74776
74777 2006-04-24  Bruno Haible  <bruno@clisp.org>
74778
74779         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
74780         poll() implementation in AIX.
74781         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74782
74783 2006-04-24  Bruno Haible  <bruno@clisp.org>
74784
74785         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
74786         assigned exactly once.
74787
74788 2006-04-23  Claudio Fontana  <claudio@gnu.org>
74789             Bruno Haible  <bruno@clisp.org>
74790
74791         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
74792         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
74793         for AM_CPPFLAGS.
74794
74795 2006-04-23  Bruno Haible  <bruno@clisp.org>
74796
74797         * modules/copy-file: Depend on unistd.
74798         * modules/execute: Likewise.
74799         * modules/fatal-signal: Likewise.
74800         * modules/findprog: Likewise.
74801         * modules/mkdtemp : Likewise.
74802         * modules/pipe: Likewise.
74803         * modules/wait-process: Likewise.
74804
74805 2006-04-23  Bruno Haible  <bruno@clisp.org>
74806
74807         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
74808         condition was already detected.
74809         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74810
74811 2006-04-23  Bruno Haible  <bruno@clisp.org>
74812
74813         * lib/copy-file.c: Include <unistd.h> unconditionally.
74814         * lib/execute.c: Likewise.
74815         * lib/fatal-signal.c: Likewise.
74816         * lib/findprog.c: Likewise.
74817         * lib/mkdtemp.c: Likewise.
74818         * lib/pipe.h: Likewise.
74819         * lib/pipe.c: Likewise.
74820         * lib/wait-process.h: Likewise.
74821
74822 2006-04-23  Bruno Haible  <bruno@clisp.org>
74823
74824         * gnulib-tool (func_usage): Fix --import description. Document
74825         --update.
74826         (func_import): Create temporary file in a temporary directory, if
74827         --dry-run is specified. Silence errors from 'grep' when there are no
74828         m4 files in $m4dir.
74829         (func_create_testdir): Silence errors from 'grep' when there are no
74830         m4 files in $m4dir.
74831         Reported by Karl Berry <karl@freefriends.org>.
74832
74833 2006-04-20  Bruno Haible  <bruno@clisp.org>
74834
74835         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
74836         one argument, so that the code will be portable to Autoconf 2.60.
74837         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
74838         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74839         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
74840
74841 2006-04-19  Derek Price  <derek@ximbiot.com>
74842             Eric Blake  <ebb9@byu.net>
74843
74844         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
74845         rather than "/full/path.h".  Update comment to match.  Shorten &
74846         generalize m4_translit call via AS_TR_CPP.
74847
74848 2006-04-19  Derek Price  <derek@ximbiot.com>
74849             Eric Blake  <ebb9@byu.net>
74850
74851         * lib/inttypes.h: Correct grammar in comment.
74852
74853 2006-04-18  Derek Price  <derek@ximbiot.com>
74854             Paul Eggert  <eggert@cs.ucla.edu>
74855
74856         * modules/inttypes: New file.
74857         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
74858
74859 2006-04-18  Derek Price  <derek@ximbiot.com>
74860             Paul Eggert  <eggert@cs.ucla.edu>
74861
74862         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
74863         New files.
74864
74865 2006-04-18  Derek Price  <derek@ximbiot.com>
74866             Paul Eggert  <eggert@cs.ucla.edu>
74867
74868         * lib/inttypes.h: New file.
74869         * lib/strtoimax.c: Assume <inttypes.h>.
74870
74871 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
74872
74873         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
74874         isn't mounted.  Problem reported by Kir Kolyshkin.
74875
74876 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
74877
74878         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
74879         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
74880         Derek R. Price.
74881         * lib/regex.h (RE_DUP_MAX): Update comment to match current
74882         implementation.
74883
74884 2006-04-12  Eric Blake  <ebb9@byu.net>
74885
74886         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
74887         is now done automatically by the corresponding Autoconf macro.
74888
74889 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
74890
74891         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
74892         time_r.h.
74893
74894 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74895
74896         Merge regex changes from libc, removing some of our
74897         POSIX-conformance changes that were rejected and redoing them in a
74898         less-intrusive way.
74899
74900         * lib/regcomp.c (re_compile_internal, init_dfa):
74901         Length arg is now size_t, not Idx.  All uses changed.
74902         (peek_token): Forward decl now says internal_function.
74903         (__re_error_msgid, __re_error_msgid_idx):
74904         Now static rather than extern with attribute_hidden.
74905         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
74906         For some reason libc prefers K&R style defns for external functions.
74907         (regerror) [!defined _LIBC]: Likewise.
74908         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
74909         (seek_collating_symbol_entry, lookup_collation_sequence_value):
74910         (build_range_exp, build_collating_symbol):
74911         Use K&R-style defn.
74912         (re_compile_fastmap): Use '\0' to memset, not 0.
74913         (utf8_sb_map): Make the calculations more obvious.
74914         (init_dfa, parse_bracket_exp, build_charclass_op):
74915         Call calloc and cast result, as glibc does.
74916         (init_word_char, fetch_token, peek_token, peek_token_bracket):
74917         (build_range_exp, build_collating_symbol):
74918         Now internal functions.
74919
74920         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
74921
74922         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
74923         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
74924         Don't depend on VMS; depend on __VMS instead, for POSIX
74925         namespace cleanness.
74926         (regoff_t): Define to ssize_t, not long int.
74927
74928         Remove the REG_ macros named below.  Instead, make the old names
74929         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
74930         __USE_GNU_REGEX.
74931         (REG_BACKSLASH_ESCAPE_IN_LISTS):
74932         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
74933         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
74934         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
74935         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
74936         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
74937         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
74938         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
74939         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
74940         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
74941         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
74942         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
74943         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
74944         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
74945         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
74946         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
74947         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
74948         (REG_NREGS):
74949         Remove.  All uses replaced by the old RE_* names.
74950         (RE_BACKSLASH_ESCAPE_IN_LISTS):
74951         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
74952         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
74953         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
74954         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
74955         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
74956         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
74957         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
74958         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
74959         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
74960         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
74961         Don't bother having these macros be independent of each others'
74962         values, since they no longer exist in the POSIX name space.
74963
74964         Rename the following member names back to their old names,
74965         unless !__USE_GNU_REGEX.  All uses changed back.
74966         (buffer): Renamed from re_buffer.
74967         (allocated): Renamed from re_allocated.
74968         (used): Renamed from re_used.
74969         (syntax): Renamed from re_syntax.
74970         (fastmap): Renamed from re_fastmap.
74971         (translate): Renamed from re_translate.
74972         (can_be_null): Renamed from re_can_be_null.
74973         (regs_allocated): Renamed from re_regs_allocated.
74974         (fastmap_accurate): Renamed from re_fastmap_accurate.
74975         (no_sub): Renamed from re_no_sub.
74976         (not_bol): Renamed from re_not_bol.
74977         (not_eol): Renamed from re_not_eol.
74978         (newline_anchor): Renamed from re_newline_anchor.
74979         (num_regs): Renamed from rm_num_regs.
74980         (start): Renamed from rm_start.
74981         (end): Renamed from rm_end.
74982
74983         (free_state): Move up a bit.
74984
74985         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
74986         #define to be empty.
74987         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
74988         when that is what is intended.
74989         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
74990         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
74991         (MAX): New macro.
74992         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
74993         All uses changed back to re_malloc, etc.  It's now the caller's
74994         responsibility to check for overflow; all callers changed.
74995         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
74996         (re_x2nrealloc): Remove.
74997         (free_state): Remove decl.
74998
74999         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
75000         (re_set_registers, re_exec):
75001         Use K&R-style defn.
75002
75003         2006-01-31  Roland McGrath  <roland@redhat.com>
75004
75005         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
75006         Reported by Mike Frysinger <vapier@gentoo.org>.
75007
75008         2006-01-15  Andreas Jaeger  <aj@suse.de>
75009
75010         [BZ #1950]
75011         * lib/regex_internal.c (re_string_reconstruct): Adjust for
75012         build_wcs_upper_buffer change.
75013         (build_wcs_upper_buffer): Change return type.
75014
75015         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
75016
75017         * lib/regex_internal.h: Include <stdint.h> if available.
75018
75019         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
75020
75021         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
75022
75023         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
75024
75025         * lib/regcomp.c: Adjust for changed secondary hash function.
75026
75027         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
75028
75029         * lib/regex.h: Pretty printing.
75030         Clean up namespace a bit.
75031
75032         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
75033
75034         * lib/regexec.c (update_cur_sifted_state, check_arrival,
75035         check_arrival_add_next_nodes): Avoid using uninitialized variable.
75036
75037         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
75038                     Ulrich Drepper  <drepper@redhat.com>
75039
75040         [BZ #1302]
75041         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
75042         changed.
75043         (bitset_word_t): Renamed from bitset_word.  All uses changed.
75044
75045         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
75046
75047         [BZ #281]
75048         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
75049         * lib/regcomp.c: Remove unnecessary uses of
75050         unsigned RE_TRANSLATE_TYPE.
75051         * lib/regex_internal.h: Likewise.
75052         * lib/regex_internal.c: Likewise.
75053         * lib/regexec.c: Likewise.
75054         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
75055
75056         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
75057
75058         * lib/regexec.c (find_recover_state): Remove unnecessary
75059         initialization.
75060         (transit_state_bkref): Make DFA a const pointer.
75061         (get_subexp): Likewise.
75062         (check_arrival): Likewise.
75063         (update_cur_sifted_state): Likewise.
75064         (re_search_internal): Likewise.
75065         (prune_impossible_nodes): Likewise.
75066         (acquire_init_state_context): Likewise.
75067         (proceed_next_node): Likewise.
75068         (set_regs): Likewise.
75069         (free_fail_stack_return): Likewise.
75070         (check_arrival_expand_ecl): Mark DFA parameter as const.
75071         (check_arrival_expand_ecl_sub): Likewise.
75072         (check_subexp_limits): Likewise.
75073         (sub_epsilon_src_nodes):  Likewise.
75074         (add_epsilon_src_nodes):  Likewise.
75075         (merge_state_array): Likewise.
75076         (update_regs): Likewise.
75077         (build_trtable): Likewise.
75078         (sift_states_backward): Mark MCTX parameter as const.
75079         (build_sifted_states): Likewise.
75080         (update_cur_sifted_state): Likewise.
75081         (sift_states_mkref): Likewise.
75082         (check_arrival_expand_ecl): Mark eclosure as const.
75083         (check_dst_limits_calc_pos_1): Likewise.
75084         * lib/regex_internal.h (re_match_context_t): Make dfa a const
75085         pointer.
75086
75087         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
75088
75089         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
75090         (transit_state_sb): Likewise.
75091         (transit_state_mb): Likewise.
75092         (sift_states_iter_mb): Likewise.
75093         (check_arrival_add_next_nodes): Likewise.
75094         (check_node_accept_bytes): Change first parameter to pointer-to-const.
75095         [_LIBC] (re_search_2_stub): Use mempcpy.
75096
75097         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
75098         mbrtowc for very simple UTF-8 case.
75099
75100         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
75101         a pointer-to-const.
75102         (re_acquire_state_context): Likewise.
75103         * lib/regex_internal.h: Adjust prototypes.
75104
75105         * lib/regex.c: Prevent using C++ compilers.
75106
75107         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
75108         (re_acquire_state_context): Likewise.
75109
75110 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75111
75112         * modules/regex (Depends-on): Add ssize_t.
75113
75114 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75115
75116         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
75117         translation table.
75118
75119 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75120
75121         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
75122
75123 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
75124             Bruno Haible  <bruno@clisp.org>
75125
75126         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
75127         <sys/types.h> and <inttypes.h>.
75128
75129 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75130
75131         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
75132         `__error_t_defined', so argp.h will not typedef the former.
75133
75134 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
75135
75136         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
75137         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
75138         glibc names.  Even if glibc is changed to conform to POSIX, the
75139         traditional names will be available anyway, since regex depends on
75140         the extensions module.  Also, fix a longstanding typo in the
75141         implementation of Spencer ERE test #75 from grep 2.3.  Problems
75142         reported by Emanuele Giaquinta.  Also, change sense of cached
75143         variable, so that the message makes sense.
75144
75145 2006-03-24  Simon Josefsson  <jas@extundo.com>
75146
75147         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
75148         including some doc fixes.
75149         (base64_encode_alloc): Fix +1 bug on allocation failures.
75150
75151 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75152
75153         * lib/base64.c (base64_encode): Do not read past end of array with
75154         unsanitized input on systems with CHAR_BIT > 8.
75155
75156 2006-03-24  Eric Blake  <ebb9@byu.net>
75157
75158         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
75159
75160 2006-03-22  Karl Berry  <karl@gnu.org>
75161
75162         * config/srclist.txt (*setenv.[ch]): get from coreutils.
75163         * config/srclistvars.sh (COREUTILS): new var.
75164
75165 2006-03-17  Jim Meyering  <jim@meyering.net>
75166
75167         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
75168         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
75169
75170 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
75171
75172         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
75173         no longer needs it.  Instead, check that regoff_t is as least
75174         as wide as ptrdiff_t.
75175
75176         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
75177         so that our regex.h stays compatible with the installed regex.
75178         This is helpful for installers who configure --without-included-regex.
75179         Problem reported by Emanuele Giaquinta.
75180
75181 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
75182
75183         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
75184         Typedef to long int, not to off_, as POSIX will likely change
75185         in that direction.
75186
75187 2006-03-15  Eric Blake  <ebb9@byu.net>
75188
75189         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
75190
75191 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
75192
75193         * lib/argp-help.c (validate_uparams): Fix typo
75194         * lib/argp-parse.c (argp_default_options): Consistently begin help
75195         messages with a lowercase letter.
75196
75197 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
75198
75199         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
75200         overrun buffers and shouldn't be used (much as gets shouldn't be
75201         used).
75202         * lib/time_r.c (asctime_r, ctime_r): Likewise.
75203
75204 2006-03-08  Simon Josefsson  <jas@extundo.com>
75205
75206         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
75207         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75208
75209 2006-03-08  Simon Josefsson  <jas@extundo.com>
75210
75211         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
75212         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75213
75214 2006-03-08  Simon Josefsson  <jas@extundo.com>
75215
75216         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
75217         signal that configure disabled the device.
75218
75219 2006-03-08  Simon Josefsson  <jas@extundo.com>
75220
75221         * build-aux/maint.mk: Fix refresh-po, to handle no translated
75222         languages.
75223
75224 2006-03-07  Simon Josefsson  <jas@extundo.com>
75225
75226         * modules/getopt (Depends-on): Add unistd.
75227
75228         * modules/unistd: New file.
75229
75230 2006-03-07  Simon Josefsson  <jas@extundo.com>
75231
75232         * modules/gc-random: New file.
75233
75234 2006-03-07  Simon Josefsson  <jas@extundo.com>
75235
75236         * m4/unistd_h.m4: New file.
75237
75238 2006-03-07  Simon Josefsson  <jas@extundo.com>
75239
75240         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
75241         test to be side-effect free by storing the result in the cache
75242         variable gl_cv_lib_readline, and moving the assignment of
75243         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
75244         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75245
75246 2006-03-07  Simon Josefsson  <jas@extundo.com>
75247
75248         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
75249         error on missing devices (the functions will return an error).
75250
75251         * m4/gc.m4: Move random stuff to gc-random.m4
75252
75253 2006-03-07  Simon Josefsson  <jas@extundo.com>
75254
75255         * lib/unistd_.h: New file.
75256
75257 2006-03-07  Simon Josefsson  <jas@extundo.com>
75258
75259         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
75260
75261 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75262
75263         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
75264         Problem reported by Juan Manuel Guerrero.
75265
75266 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75267
75268         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
75269         the unistd module.
75270         * lib/getlogin_r.c: Likewise.
75271         * lib/getlogin_r.h: Likewise.
75272         * lib/glob.c: Likewise.
75273         * lib/pagealign_alloc.c: Likewise.
75274         * lib/unistd_.h: Remove; no longer needed.
75275
75276 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75277
75278         * MODULES.html.sh (Support for systems lacking POSIX:2001):
75279         Add unistd.
75280         * modules/c-stack (Depends-on): Add unistd.
75281         * modules/getlogin_r: Likewise.
75282         * modules/glob: Likewise.
75283         * modules/pagealign_alloc: Likewise.
75284         * modules/unistd (Files): Remove lib/unistd_.h.
75285         (EXTRA_DIST): Remove.
75286         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
75287         need unistd_.h.
75288         (MOSTLYCLEANFILES): Remove unistd.h-t.
75289
75290 2006-03-03  Simon Josefsson  <jas@extundo.com>
75291
75292         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
75293
75294 2006-03-03  Simon Josefsson  <jas@extundo.com>
75295
75296         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
75297         libidn and bison.
75298
75299 2006-03-03  Simon Josefsson  <jas@extundo.com>
75300
75301         * build-aux/maint.mk: Add indent target.
75302
75303 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
75304
75305         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
75306         our replacement poll.h in any case, to avoid a differing
75307         declaration from a system header.  Seen on AIX.
75308
75309 2006-03-01  Simon Josefsson  <jas@extundo.com>
75310
75311         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
75312         <kasal@ucw.cz>.
75313
75314 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75315
75316         * modules/gettime (Depends-on): Add extensions module.
75317         * modules/nanosleep (Depends-on): Likewise.
75318         * modules/settime (Depends-on): Likewise.
75319
75320 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75321
75322         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
75323         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
75324         pedantically.
75325         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75326         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
75327
75328         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
75329         not "==".  Reported by Ralf Wildenhues.
75330
75331 2006-03-01  Karl Berry  <karl@gnu.org>
75332
75333         * doc/Copyright/request-*: new files, synced from gnuorg.
75334
75335 2006-03-01  Karl Berry  <karl@gnu.org>
75336
75337         * config/srclist.txt (Copyright/*): new entries.
75338
75339 2006-02-28  Simon Josefsson  <jas@extundo.com>
75340
75341         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
75342
75343 2006-02-27  Simon Josefsson  <jas@extundo.com>
75344
75345         * lib/base64.h: Indent #define's.  From Jim Meyering
75346         <jim@meyering.net>.
75347
75348 2006-02-27  Jim Meyering  <jim@meyering.net>
75349
75350         Revert the change of 2006-02-24, so these files can continue
75351         to be sync'd from gettext.
75352         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
75353         of `config.h'.
75354
75355 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
75356
75357         * modules/intprops: New file.
75358         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
75359         Add intprops.
75360         * modules/getloadavg (Files): Remove lib/intprops.h.
75361         (Depends-on): Add intprops.
75362         * modules/human: Likewise.
75363         * modules/inttostr: Likewise.
75364         * modules/openat: Likewise.
75365         * modules/sig2str: Likewise.
75366         * modules/userspec: Likewise.
75367         * modules/utimecmp: Likewise.
75368         * modules/xnanosleep: Likewise.
75369         * modules/xstrtol: Likewise.
75370
75371 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
75372
75373         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
75374         * modules/lock-tests (TESTS): Use $(EXEEXT).
75375         * modules/tls-tests: Likewise.
75376         * modules/argp-tests: Likewise.
75377         (check_PROGRAMS): New var, replacing...
75378         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
75379
75380 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75381
75382         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
75383         `config.h'.
75384
75385 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
75386
75387         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
75388
75389 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75390
75391         Sync from coreutils.
75392         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
75393         gl_CHDIR_SAFER.
75394
75395 2006-02-22  Jim Meyering  <jim@meyering.net>
75396
75397         Sync from coreutils.
75398         * m4/chdir-safer.m4: New file.
75399
75400 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
75401
75402         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
75403         AT_FDCWD exceeds INT_MAX.
75404         * lib/openat.h (AT_FDCWD): Likewise.
75405
75406 2006-02-17  Eric Blake  <address@hidden>
75407
75408         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
75409
75410 2006-02-16  Simon Josefsson  <jas@extundo.com>
75411
75412         * modules/getaddrinfo (Depends-on): Add sys_socket.
75413
75414 2006-02-15  Simon Josefsson  <jas@extundo.com>
75415
75416         * build-aux/maint.mk: Add dsyntax-check rule.
75417
75418 2006-02-15  Eric Blake  <ebb9@byu.net>
75419
75420         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
75421         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
75422         'present but cannot compile' warnings on cygwin.
75423         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
75424         use ws2tcpip.h if sys/socket.h works.
75425         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
75426         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
75427
75428 2006-02-14  Simon Josefsson  <jas@extundo.com>
75429
75430         * modules/maintainer-makefile (Files): Rename.
75431
75432         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
75433         and (the local) Makefile.cfg to maint-cfg.mk.
75434
75435         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
75436         to the latter.
75437
75438         * modules/maintainer-makefile: New module.
75439
75440         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
75441         severaly stripped to make it possible to build it up from scratch
75442         with reliable tests.
75443
75444         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
75445         fixes to permit overriding the default actions when configure and
75446         makefile are not available.
75447
75448 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
75449
75450         Sync from coreutils.
75451         * modules/lstat (Depends-on): Don't depend on xalloc.
75452         (License): Change from GPL to LGPL, since this is now simply a
75453         replacement for a libc function.
75454
75455 2006-02-14  Jim Meyering  <jim@meyering.net>
75456
75457         Sync from coreutils.
75458
75459         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
75460         failure on deficient systems, and simplify gnulib lgpl dependencies.
75461         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
75462         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
75463
75464         * lib/xalloc-die.c: Remove unused definition of N_.
75465
75466 2006-02-14  Jim Meyering  <jim@meyering.net>
75467
75468         Sync from coreutils.
75469         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
75470         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
75471         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
75472         double-quote uses of that variable, to accommodate the rare case in
75473         which getmntent is available in none of the libraries checked.  This
75474         happens at least on FreeBSD 5.0.
75475
75476 2006-02-13  Simon Josefsson  <jas@extundo.com>
75477
75478         * gnulib-tool (Usage): Fix --import, from
75479         karl@freefriends.org (Karl Berry).
75480
75481 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
75482
75483         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
75484
75485 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
75486
75487         * lib/argp-namefrob.h: Restore changes accidentally lost during the
75488         "autoupdate" on 2005-12-12.
75489
75490 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
75491
75492         * modules/closeout (Depends-on): Remove atexit.
75493
75494 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
75495
75496         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
75497         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
75498
75499 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
75500
75501         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
75502         __EXTENSIONS__ if this causes compilation to fail.  Problem
75503         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
75504         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
75505
75506 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
75507
75508         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
75509         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
75510         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
75511         All uses changed.
75512
75513 2006-01-26  Simon Josefsson  <jas@extundo.com>
75514
75515         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
75516         prototype is visible on mingw32.
75517
75518         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
75519         for mingw32.
75520
75521         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
75522         mingw32).
75523
75524 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
75525
75526         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
75527         attempt to open for write; this always fails, at least on POSIX
75528         hosts.  This reinstates the 2006-01-09 change, which was
75529         inadvertently removed.
75530
75531 2006-01-26  Bruno Haible  <bruno@clisp.org>
75532
75533         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
75534         Reported by Paul Eggert.
75535
75536 2006-01-26  Bruno Haible  <bruno@clisp.org>
75537             Paul Eggert  <eggert@cs.ucla.edu>
75538
75539         * lib/stdbool_.h (_Bool)
75540         [(! (defined __cplusplus || defined __BEOS__)
75541           && !defined __GNUC__
75542           && !(defined __HP_cc || defined __xlc__
75543                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
75544                || defined __sgi))]:
75545         #define to signed char in these cases too; this simplifies
75546         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
75547         etc., separately) and makes it more conservative.
75548
75549 2006-01-25  Simon Josefsson  <jas@extundo.com>
75550
75551         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
75552         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
75553         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
75554
75555 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75556
75557         * lib/argp-namefrob.h: Bugfix. Remove stray #
75558
75559 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
75560
75561         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
75562         so that we test the test.
75563         Check for yet another HP-UX cc bug involving *bool |= bool.
75564
75565 2006-01-25  Karl Berry  <karl@gnu.org>
75566
75567         * config/srclist.txt (vasnprintf.c): sync lost.
75568
75569 2006-01-25  Jim Meyering  <jim@meyering.net>
75570
75571         Sync from the stable (b5) branch of coreutils:
75572
75573         * lib/fts.c (fts_children): Don't let close() clobber errno from
75574         failed fchdir().
75575
75576         * lib/fts.c (fts_stat): When following a symlink-to-directory,
75577         don't necessarily interpret stat-fails+lstat-succeeds as indicating
75578         a dangling symlink.  That can also happen at least for ELOOP.
75579         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
75580         FYI, this bug predates the inclusion of fts.c in coreutils.
75581
75582         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
75583         in their own block, so pre-c99 compilers don't object.
75584
75585         Avoid the double-free (first in fts_read, second in fts_close) that
75586         would occur when an `active' directory is made inaccessible (e.g.,
75587         via chmod a-x) during a traversal.
75588         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
75589         before returning.  Reproduce this failure by
75590         mkdir -p a/b; cd a; chmod a-x . b
75591         Reported by Stavros Passas.
75592
75593 2006-01-25  Jim Meyering  <jim@meyering.net>
75594
75595         * lib/fileblocks.c: Remove more useless parentheses.
75596         * lib/readutmp.h: Likewise.
75597
75598 2006-01-25  Bruno Haible  <bruno@clisp.org>
75599
75600         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
75601         warnings.
75602         Reported by Paul Eggert.
75603
75604 2006-01-25  Bruno Haible  <bruno@clisp.org>
75605
75606         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
75607         rid of a trap command. For Solaris sh.
75608         Reported by Mark D. Baushke <mdb@gnu.org>.
75609
75610 2006-01-24  Simon Josefsson  <jas@extundo.com>
75611
75612         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
75613         Bruno.
75614
75615 2006-01-24  Karl Berry  <karl@gnu.org>
75616
75617         * config/srclist.txt (argp-namefrob.h): sync lost.
75618
75619 2006-01-24  Jim Meyering  <jim@meyering.net>
75620
75621         * modules/openat (Files): Add lib/intprops.h.
75622         From Mark D. Baushke.
75623
75624 2006-01-24  Jim Meyering  <jim@meyering.net>
75625
75626         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
75627         Reported by Mark D. Baushke.
75628
75629 2006-01-24  Jim Meyering  <jim@meyering.net>
75630
75631         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
75632
75633 2006-01-24  Bruno Haible  <bruno@clisp.org>
75634
75635         * modules/strnlen (Maintainer): Change from glibc to all.
75636
75637 2006-01-24  Bruno Haible  <bruno@clisp.org>
75638
75639         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
75640         Patch by Paul Eggert.
75641
75642 2006-01-24  Bruno Haible  <bruno@clisp.org>
75643
75644         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
75645         already has it.
75646         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
75647         2005-11-26.
75648
75649         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
75650         'signed char' to avoid problems with the built-in _Bool type.
75651         Reported by Paul Eggert on 2005-11-26.
75652
75653 2006-01-24  Bruno Haible  <bruno@clisp.org>
75654
75655         * gnulib-tool (func_import): Avoid constructing complicated sed
75656         expressions inside backquote.
75657         Report and solution by Mark D. Baushke <mdb@gnu.org>.
75658
75659 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
75660
75661         These changes imported from libc.
75662         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
75663         test and two separate function calls.
75664         * lib/strndup.c (__strndup): Add libc_hidden_def.
75665
75666 2006-01-23  Simon Josefsson  <jas@extundo.com>
75667
75668         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
75669         Remove the test_*_SOURCES variable: automake infers it by default.
75670         * modules/tls-tests: Likewise.
75671
75672 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75673
75674         Work around porting bugs reported by Dieter in
75675         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
75676         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
75677         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
75678         Include "getopt.h" first, to check interface.
75679         (getenv): Declare only if defined HAVE_DECL_GETENV &&
75680         !HAVE_DECL_GETENV.
75681         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
75682         (__strndup): Revert to K&R-style function dfns, the glibc style.
75683         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
75684         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
75685         Include strnlen.h first, to get prototype properly.
75686         (strnlen): Renamed from __strnlen.
75687         Remove weak alias.
75688
75689 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75690
75691         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
75692
75693 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75694
75695         * config/srclist.txt: Adjust to reflect glibc reorganization.
75696         This affects only comments.
75697
75698 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75699
75700          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
75701          Reported by Bruce Korb <bkorb@gnu.org>.
75702
75703 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
75704
75705         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
75706         to pacify gcc -Wswitch-default.
75707
75708 2006-01-22  Bruno Haible  <bruno@clisp.org>
75709
75710         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
75711         temporary buffer for sprintf, take into account the precision also
75712         for 'd', 'i', 'u', 'o', 'x', 'X'.
75713
75714 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75715
75716         * modules/argp-tests: New module
75717         * tests/test-argp.c: New file
75718         * tests/test-argp-2.sh: New file
75719
75720 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75721
75722         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
75723         (__argp_base_name): Removed
75724         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
75725         typo.
75726         (__argp_base_name): Provide macro definition or extern declaration
75727         depending on the configuration
75728
75729 2006-01-20  Simon Josefsson  <jas@extundo.com>
75730
75731         * modules/inet_ntop (Depends-on): Depend on sys_socket.
75732
75733 2006-01-20  Simon Josefsson  <jas@extundo.com>
75734
75735         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
75736
75737 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
75738
75739         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
75740         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
75741         Suggested by Bruno Haible.
75742
75743 2006-01-20  Karl Berry  <karl@gnu.org>
75744
75745         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
75746         until changes propagate, I guess.
75747
75748 2006-01-19  Simon Josefsson  <jas@extundo.com>
75749
75750         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
75751
75752 2006-01-19  Simon Josefsson  <jas@extundo.com>
75753
75754         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
75755
75756 2006-01-19  Simon Josefsson  <jas@extundo.com>
75757
75758         * gnulib-tool: Set check_PROGRAMS.
75759
75760         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75761         modules/des-tests, modules/gc-arcfour-tests,
75762         modules/gc-arctwo-tests, modules/gc-des-tests,
75763         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75764         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75765         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75766         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75767         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75768         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
75769         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
75770         test_*_SOURCES.
75771
75772 2006-01-18  Simon Josefsson  <jas@extundo.com>
75773
75774         * modules/socklen (Depends-on): Depend on sys_socket.
75775
75776 2006-01-18  Simon Josefsson  <jas@extundo.com>
75777
75778         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75779         modules/des-tests, modules/gc-arcfour-tests,
75780         modules/gc-arctwo-tests, modules/gc-des-tests,
75781         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75782         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75783         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75784         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75785         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75786         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
75787         $(EXEEXT) to automake TESTS variable, for mingw32.
75788
75789 2006-01-17  Simon Josefsson  <jas@extundo.com>
75790
75791         * modules/socklen (Include): Need sys/socket.h.
75792
75793 2006-01-17  Bruno Haible  <bruno@clisp.org>
75794
75795         * modules/ssize_t (Include): Add <sys/types.h>.
75796
75797 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
75798
75799         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
75800         it's not portable and it doesn't work with cross-compiles.
75801         Problem reported by Bruno Haible.  Fix missing-$ typo in
75802         'test "gl_cv_ignore_unused_libraries" ...' that prevented
75803         -zignore from being used with Sun's C compiler.
75804
75805 2006-01-12  Simon Josefsson  <jas@extundo.com>
75806
75807         * lib/base64.c: Fix warning, reported by Bruno Haible
75808         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
75809
75810 2006-01-12  Bruno Haible  <bruno@clisp.org>
75811
75812         * modules/ldd: New file.
75813         * build-aux/ldd.sh.in: New file.
75814         * MODULES.html.sh (Support for building libraries and executables): Add
75815         ldd.
75816
75817 2006-01-12  Bruno Haible  <bruno@clisp.org>
75818
75819         * m4/ldd.m4: New file.
75820
75821 2006-01-12  Bruno Haible  <bruno@clisp.org>
75822
75823         * gnulib-tool (func_import, func_create_testdir): Don't go into an
75824         endless loop while replacing $auxdir with build-aux.
75825
75826 2006-01-11  Simon Josefsson  <jas@extundo.com>
75827
75828         * lib/stdint_.h (SIZE_MAX): Add missing (.
75829
75830 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
75831
75832         Sync from coreutils.
75833         * lib/md5.c: Fix commentary typos.
75834         (alignof, UNALIGNED_P): No need for a GCC-specific version.
75835         * lib/md5.h (__attribute__): Remove; unused.
75836         * lib/sha1.c: Fix commentary to match md5 better.
75837         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
75838         so that we don't need to worry about alignment.  All uses changed.
75839         This merges the 2005-10-28 md5 change into sha1.
75840
75841 2006-01-11  Jim Meyering  <jim@meyering.net>
75842
75843         Sync from coreutils.
75844         * lib/md5.c (OP): Fix spacing.
75845
75846 2006-01-11  Bruno Haible  <bruno@clisp.org>
75847
75848         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75849         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
75850         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
75851
75852 2006-01-11  Bruno Haible  <bruno@clisp.org>
75853
75854         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75855         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
75856         the "early" section as well.
75857
75858 2006-01-11  Bruno Haible  <bruno@clisp.org>
75859
75860         Avoid "ar: no archive members specified" error on MacOS X.
75861         * gnulib-tool (func_modules_add_dummy): New function.
75862         (func_import, func_create_testdir): Invoke it.
75863
75864 2006-01-11  Bruno Haible  <bruno@clisp.org>
75865
75866         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
75867         with $auxdir in AC_CONFIG_FILES statements.
75868
75869 2006-01-11  Bruno Haible  <bruno@clisp.org>
75870
75871         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75872         Initialize also noinst_HEADERS to empty.
75873
75874 2006-01-11  Bruno Haible  <bruno@clisp.org>
75875
75876         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
75877         variables.
75878         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
75879         autoreconf.
75880
75881 2006-01-11  Bruno Haible  <bruno@clisp.org>
75882
75883         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
75884         overridable by the user.
75885         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75886
75887 2006-01-10  Simon Josefsson  <jas@extundo.com>
75888
75889         * modules/sys_socket: New file.
75890
75891 2006-01-10  Simon Josefsson  <jas@extundo.com>
75892
75893         * m4/sys_socket_h.m4: New file.
75894
75895 2006-01-10  Simon Josefsson  <jas@extundo.com>
75896
75897         * lib/socket_.h: New file.
75898
75899 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75900
75901         * modules/readutmp (Maintainer): Add myself.
75902
75903 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75904
75905         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
75906         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
75907         People who are still concerned with buggy memcmp implementations
75908         can invoke gl_FUNC_MEMCMP themselves.
75909
75910 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75911
75912         * lib/regex_internal.h (BITSET_WORD_BITS):
75913         Work around a bug in 64-bit PGC (before version 6.1-2), where the
75914         preprocessor mishandles large unsigned values as if they were signed.
75915         Problem reported by Claudio Fontana in
75916         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
75917
75918 2006-01-10  Jim Meyering  <jim@meyering.net>
75919
75920         Avoid the double-free (first in fts_read, second in fts_close) that
75921         would occur when an `active' directory is made inaccessible (e.g.,
75922         via chmod a-x) during a traversal.
75923         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
75924         before returning.  Reproduce this failure by
75925         mkdir -p a/b; cd a; chmod a-x . b
75926         Reported by Stavros Passas.
75927
75928         Sync from coreutils.
75929         * lib/sha1.c: Tweak grammar in a comment.
75930
75931 2006-01-10  Jim Meyering  <jim@meyering.net>
75932
75933         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
75934         Patch by Joerg Sonnenberger.
75935
75936 2006-01-10  Bruno Haible  <bruno@clisp.org>
75937
75938         * modules/readutmp: Depend on module free.
75939         * modules/strtok_r: Depend on module restrict.
75940
75941 2006-01-10  Bruno Haible  <bruno@clisp.org>
75942
75943         * modules/gettext (configure.ac): Add an invocation of
75944         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
75945
75946 2006-01-10  Bruno Haible  <bruno@clisp.org>
75947
75948         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
75949         Reported by Werner Lemberg <wl@gnu.org>.
75950
75951 2006-01-10  Bruno Haible  <bruno@clisp.org>
75952
75953         * lib/localcharset.c: Update from GNU gettext.
75954
75955 2006-01-10  Bruno Haible  <bruno@clisp.org>
75956
75957         * lib/argp.h (__const): Remove macro. Use const instead.
75958         * lib/argp-fmtstream.h (__const): Likewise.
75959         * lib/glob_.h (__const): Remove macro.
75960         * lib/glob-libc.h: Use const instead of __const.
75961
75962 2006-01-10  Bruno Haible  <bruno@clisp.org>
75963
75964         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
75965         variable.
75966         Needed to avoid an automake error regarding the 'gettext' module.
75967
75968 2006-01-09  Simon Josefsson  <jas@extundo.com>
75969
75970         * modules/inet_ntop (Depends-on): Add restrict.
75971
75972 2006-01-09  Simon Josefsson  <jas@extundo.com>
75973
75974         * modules/gc-rijndael-tests (License): Put under LGPL.
75975
75976         * modules/gc-des-tests (License): Likewise.
75977
75978         * modules/gc-arcfour-tests (License): Likewise.
75979
75980         * modules/gc-arctwo-tests (License): Likewise.
75981
75982         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
75983
75984         * modules/gc-hmac-sha1-tests (Files): Likewise.
75985
75986         * modules/gc-hmac-md5-tests (License): Likewise.
75987
75988         * modules/gc-sha1-tests (License): Likewise.
75989
75990         * modules/gc-md5-tests (License): Likewise.
75991
75992         * modules/gc-md4-tests (License): Likewise.
75993
75994         * modules/gc-md2-tests (License): Likewise.
75995
75996         * modules/gc-tests (License): Likewise.
75997
75998         * modules/des-tests (License): Likewise.
75999
76000         * modules/md4-tests (License): Likewise.
76001
76002         * modules/md2-tests (License): Likewise.
76003
76004 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76005
76006         Sync from coreutils:
76007
76008         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
76009         * modules/lib-ignore: New file.
76010         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
76011         chdir-safer.m4, lchmod.m4.
76012         * modules/openat: Add mkdirat.c, openat-priv.h.
76013
76014 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76015
76016         Sync from coreutils.
76017         * m4/lib-ignore.m4: New file.
76018         * m4/lchmod.m4: New file.
76019
76020 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76021
76022         Sync from coreutils.
76023         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
76024         for write access: POSIX says that must fail.
76025         * lib/fts.c (diropen): Likewise.
76026         * lib/save-cwd.c (save_cwd): Likewise.
76027         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
76028         well, for minor improvements on hosts that lack O_DIRECTORY.
76029         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
76030         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
76031         Fall back on chown if open failed with EACCES.
76032
76033         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
76034         Report an error at compile-time if only a 1-second nominal clock
76035         resolution is found.
76036
76037         * lib/lchmod.h: New file.
76038         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
76039         (make_dir_parents): Use lchown rather than chown, and
76040         lchmod rather than chmod.
76041
76042         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
76043         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
76044         "proc" reported by n0dalus.
76045
76046         * lib/mountlist.c: Include <limits.h>.
76047         (dev_from_mount_options)
76048         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
76049         New function.  It no longer assumes "dev=" has the System V meaning
76050         on Linux (since it doesn't).  It also parses "dev=" more carefully.
76051         (read_file_system_list)
76052         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
76053         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
76054         dev= in that case.
76055
76056         * lib/posixtm.h (PDS_PRE_2000): New macro.
76057         * lib/posixtm.c (year): Arg is now syntax_bits rather than
76058         allow_century.  All usages changed.  Reject dates outside the range
76059         1969-1999 if PDS_PRE_2000 is used.
76060
76061 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76062
76063         Sync from coreutils.
76064         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
76065         (Time of day items): Mention the possibility of leap seconds.
76066         Problem reported by Dr. David Alan Gilbert.
76067
76068 2006-01-09  Jim Meyering  <jim@meyering.net>
76069
76070         Sync from coreutils.
76071
76072         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
76073
76074         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
76075
76076         * lib/modechange.c (mode_compile): Reject an invalid mode string
76077         that starts with an octal digit.  From Andreas Gruenbacher.
76078
76079         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
76080         and dup to open_safer and dup_safer, respectively.
76081         (openat_permissive): Fix typo in comment.
76082
76083         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
76084         "gettext.h"; either no longer needed or are guaranteed by openat.h.
76085         (_): Remove; no longer needed.
76086         (openat): Renamed from rpl_openat; no need for rpl_openat
76087         since openat.h renames openat for us.
76088         Replace most of the body with a call to openat_permissive,
76089         to avoid duplicate code.
76090         Port to (probably hypothetical) environments were mode_t is
76091         wider than int.
76092         (openat_permissive): Require mode arg, so that we can check
76093         types better.  Put it just after flags.  Change cwd failure
76094         indicator from pointer-to-bool to pointer-to-errno-value.
76095         All callers changed.
76096         Invoke openat_save_fail and/or openat_restore_fail if
76097         cwd_errno is null, so that openat can call us.
76098         (openat_permissive, fdopendir, fstatat, unlinkat):
76099         Simplify errno handling to avoid some duplicate code,
76100         as it's OK to set errno on success.
76101         * lib/openat.h: Revamp code so that function macros depend on
76102         __OPENAT_PREFIX only, not also on AT_FDCWD.
76103         (openat_ro): Remove.  Caller changed to use openat_permissive.
76104         (openat_permissive): Now a macro, if not a function.
76105         (openat_restore_fail, openat_save_fail): Now always functions,
76106         since mkdirat needs them even if __OPENAT_PREFIX is defined.
76107
76108         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
76109         and openat.c.
76110         * lib/mkdirat.c: Include openat-priv.h.
76111         Remove definitions of macros defined therein.
76112         * lib/openat.c: Likewise.
76113
76114         * lib/mkdirat.c (mkdirat): New file and function.
76115         * lib/openat.h (mkdirat): Declare.
76116
76117         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
76118
76119         * lib/openat.h (openat_permissive): Declare.
76120         (openat_ro): Define.
76121
76122         * lib/openat.c (EXPECTED_ERRNO): New macro.
76123         (openat_permissive): New function -- used in remove.c rewrite.
76124         (all functions): Set errno just before returning, only if there
76125         was an actual failure.
76126         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
76127
76128         Emulate openat-family functions using Linux's procfs, if possible.
76129         Idea and some code based on Ulrich Drepper's glibc changes.
76130
76131         * lib/openat.c: (BUILD_PROC_NAME): New macro.
76132         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
76133         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
76134         before falling back on save_cwd and restore_cwd.
76135         (fdopendir, fstatat, unlinkat): Likewise.
76136
76137         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
76138         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
76139
76140         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
76141         as second argument to va_arg.  Otherwise, some versions of gcc
76142         warn that `if this code is reached, the program will abort'.
76143
76144 2006-01-09  Jim Meyering  <jim@meyering.net>
76145
76146         Sync from coreutils.
76147         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
76148         Require openat-priv.h.
76149
76150 2006-01-09  Bruno Haible  <bruno@clisp.org>
76151
76152         * modules/strnlen (Include): Use strnlen.h.
76153
76154 2006-01-09  Bruno Haible  <bruno@clisp.org>
76155
76156         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
76157
76158 2006-01-09  Bruno Haible  <bruno@clisp.org>
76159
76160         * lib/sysexit_.h (EX_OK): New macro.
76161         Suggested by Martin Lambers <marlam@marlam.de>.
76162
76163 2006-01-09  Bruno Haible  <bruno@clisp.org>
76164
76165         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
76166         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
76167
76168 2006-01-09  Bruno Haible  <bruno@clisp.org>
76169
76170         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
76171         numbers.
76172
76173 2006-01-09  Bruno Haible  <bruno@clisp.org>
76174
76175         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
76176         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
76177         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
76178         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
76179
76180 2006-01-09  Bruno Haible  <bruno@clisp.org>
76181
76182         * build-aux/javacomp.sh.in: New file, moved from lib/.
76183         * modules/javacomp-script (Files): Update.
76184         (configure.ac): Add AC_CONFIG_FILES invocation.
76185         (EXTRA_DIST): Remove variable.
76186
76187         * build-aux/javaexec.sh.in: New file, moved from lib/.
76188         * modules/javaexec (Files): Update.
76189         (configure.ac): Add AC_CONFIG_FILES invocation.
76190         (EXTRA_DIST): Remove javaexec.sh.in.
76191
76192         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
76193         * modules/csharpcomp-script (Files): Update.
76194         (configure.ac): Add AC_CONFIG_FILES invocation.
76195         (EXTRA_DIST): Remove variable.
76196
76197         * build-aux/csharpexec.sh.in: New file, moved from lib/.
76198         * modules/csharpexec (Files): Update.
76199         (configure.ac): Add AC_CONFIG_FILES invocation.
76200         (EXTRA_DIST): Remove csharpexec.sh.in.
76201
76202 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
76203
76204         Sync from coreutils.
76205
76206         Add POSIX ACL support
76207         * lib/acl.h (copy_acl, set_acl): Add declarations.
76208         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
76209         systems other than Linux.
76210         (chmod_or_fchmod): New function: use fchmod when possible,
76211         and chmod otherwise.
76212         (file_has_acl): Add a POSIX ACL implementation, with a
76213         Linux-specific subcase.
76214         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
76215         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
76216         acls are unsupported.
76217         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
76218         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
76219         are unsupported.
76220
76221 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
76222
76223         Sync from coreutils.
76224         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
76225
76226 2006-01-07  Bruno Haible  <bruno@clisp.org>
76227
76228         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
76229         gl_EARLY.
76230
76231 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76232
76233         * lib/strftime.c (tzname): Don't declare if it is already #defined.
76234         Problem reported for Mingw by Mark Junker.
76235
76236 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76237
76238         * README: Gnulib normally doesn't generate a tarball.
76239
76240 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
76241
76242         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
76243         long int, not int, for nanosecond counts, so that people who are
76244         used to POSIX struct timespec won't be surprised.  Reported by Jim
76245         Meyering.
76246
76247 2005-12-28  Bruno Haible  <bruno@clisp.org>
76248
76249         * build-aux/config.rpath: Update from GNU gettext.
76250
76251 2005-12-16  Jim Meyering  <jim@meyering.net>
76252
76253         * modules/fprintftime: New module.
76254         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
76255
76256 2005-12-16  Jim Meyering  <jim@meyering.net>
76257
76258         * m4/fprintftime.m4: New file.
76259
76260 2005-12-16  Jim Meyering  <jim@meyering.net>
76261
76262         * lib/fprintftime.c, lib/fprintftime.h: New files.
76263
76264 2005-12-15  Simon Josefsson  <jas@extundo.com>
76265
76266         * modules/socklen (configure.ac): Fix M4 macro name, to align with
76267         new m4/socklen.m4.
76268
76269 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76270
76271         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
76272         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
76273
76274 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76275
76276         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
76277         * lib/argp-help.c (fill_in_uparams): Check if the constructed
76278         struct uparams is valid. Fall back to the default values if it is
76279         not.
76280
76281 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76282
76283         * modules/argp (Files): Add argp-pin.c
76284         (Depends-on): dirname
76285         (lib_SOURCES): Add argp-pin.c
76286
76287 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76288
76289         * m4/argp.m4:  Check if program_invocation_name and
76290         program_invocation_short_name are declared and define appropriate
76291         macros if they are not.
76292
76293 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76294
76295         * lib/argp-help.c (__argp_base_name): New function
76296         (__argp_short_program_name): Rewrite using __argp_base_name
76297         * lib/argp-namefrob.h: Define program_invocation_name and
76298         program_invocation_short_name if requested
76299         (__argp_base_name): Add prototype
76300         * lib/argp-parse.c (argp_def): Use gettext wrappers
76301         (argp_default_parser): Use __argp_base_name
76302         * lib/argp-pin.c: New file. Defines program_invocation_name and
76303         program_invocation_short_name on systems that lack them.
76304
76305 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76306
76307         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
76308         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
76309         porting problem reported by Georg Schwarz in
76310         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
76311
76312 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76313
76314         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
76315         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
76316         porting problem reported by Georg Schwarz in
76317         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
76318
76319 2005-12-05  Bruno Haible  <bruno@clisp.org>
76320
76321         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
76322         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
76323         Reported by Mark Junker <mjscod@gmx.de>.
76324
76325 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
76326
76327         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
76328         Use implementation from Albert Chin, with some
76329         comments/corrections by Stepan Kasal and myself.
76330
76331 2005-12-02  Bruno Haible  <bruno@clisp.org>
76332
76333         * gnulib-tool (func_import): Accept GPLed build tool modules when
76334         --lgpl is given.
76335         * modules/csharpcomp-script: New file.
76336         * modules/csharpcomp: Depend on it.
76337         * modules/javacomp-script: New file.
76338         * modules/javacomp: Depend on it.
76339         Suggested by Simon Josefsson.
76340
76341 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
76342
76343         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
76344         statement, to work around an HP-UX 10.20 compiler bug reported by
76345         Peter O'Gorman.
76346
76347 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
76348
76349         * modules/savedir (Depends-on): Add openat.
76350
76351 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
76352
76353         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
76354         (uintmax_t) [defined uintmax_t]: Do not declare.
76355         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
76356         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
76357         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
76358         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
76359         sake of portability to weird hosts that C allows (though we don't
76360         know of any practical examples).
76361
76362         * lib/savedir.h (fdsavedir): New decl.
76363         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
76364         contains most of the former guts of savedir.
76365         (savedir): Use savedirstream.
76366         Include "openat.h".
76367
76368 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
76369
76370         * modules/obstack (Files): Add m4/ulonglong.m4.
76371         Problem reported by Davide Angelocola.
76372
76373 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
76374
76375         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
76376         coreutils no longer futzes with rounding modes.
76377
76378 2005-11-14  Jim Meyering  <jim@meyering.net>
76379
76380         * lib/mkstemp-safer.c: Include <config.h>, required for possible
76381         replacement of mkstemp.
76382
76383 2005-11-10  Simon Josefsson  <jas@extundo.com>
76384
76385         * lib/readline.c: Remove EOL.
76386
76387 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76388
76389         * modules/gethrxtime (Depends-on): Add gettime.
76390
76391 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76392
76393         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
76394         or gettimeofday; no longer needed.
76395
76396 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76397
76398         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
76399         time business.
76400         (gethrxtime) [! (HAVE_NANOUPTIME
76401         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
76402         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
76403         our own approximation.
76404
76405 2005-11-08  Eric Blake  <ebb9@byu.net>
76406
76407         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
76408
76409 2005-11-08  Eric Blake  <ebb9@byu.net>
76410
76411         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
76412
76413 2005-11-04  Bruno Haible  <bruno@clisp.org>
76414
76415         * gnulib-tool: Implement --update mode.
76416
76417 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76418
76419         Fix porting problem reported by Theodoros V. Kalamatianos.
76420         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
76421         Don't assume that futimes failing means we must fail.
76422
76423 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76424
76425         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
76426         variables to suggest the intended function of the PATH_MAX check.
76427
76428 2005-10-30  Kean Johnston  <jkj@sco.com>
76429
76430         Trivial changes to support SCO systems.
76431         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
76432         as PATH_MAX.
76433         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
76434         where __ptr is null when no I/O is pending.
76435
76436 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
76437
76438         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
76439         leave errno alone.  Problem reported by Dmitry V. Levin.
76440
76441 2005-10-28  Simon Josefsson  <jas@extundo.com>
76442
76443         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
76444         Test more.
76445
76446         * tests/test-gc-md2.c, tests/test-md2.c: New files.
76447
76448         * modules/md2, modules/md2-tests: New files.
76449
76450 2005-10-28  Simon Josefsson  <jas@extundo.com>
76451
76452         * m4/inet_ntop.m4: More tests.
76453
76454         * m4/gc-md2.m4, md2.m4: New file.
76455
76456 2005-10-28  Simon Josefsson  <jas@extundo.com>
76457
76458         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
76459         "restrict" keywords, as per POSIX.  Protect the function
76460         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
76461         Don't use K&R prototypes.  Check the sprintf return values.
76462         Re-define EAFNOSUPPORT if not present.  Indent.
76463
76464         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
76465         suggested by Bruno Haible <bruno@clisp.org>.
76466
76467         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
76468
76469         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
76470
76471         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
76472         libgcrypt).
76473
76474         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
76475
76476         * lib/md2.h, lib/md2.c: New files.
76477
76478 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
76479
76480         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
76481         errno alone.  Problem reported by Frederic Jolliton.
76482
76483 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76484
76485         * modules/verify (License): Change from GPL to LGPL.  This is a
76486         tiny module and there are apparently near-equivalents that are
76487         under the BSD license.
76488
76489 2005-10-24  Simon Josefsson  <jas@extundo.com>
76490
76491         * modules/sha1: Relicense to LGPL.
76492
76493 2005-10-24  Simon Josefsson  <jas@extundo.com>
76494
76495         * lib/md4.h: Shrink buffer size, now that we changed the type.
76496
76497 2005-10-23  Simon Josefsson  <jas@extundo.com>
76498
76499         * gnulib-tool (func_import): Fix --tests-base.
76500
76501 2005-10-22  Simon Josefsson  <jas@extundo.com>
76502
76503         * modules/arcfour (Depends-on): Need stdint.
76504
76505 2005-10-22  Simon Josefsson  <jas@extundo.com>
76506
76507         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
76508         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
76509
76510 2005-10-22  Simon Josefsson  <jas@extundo.com>
76511
76512         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
76513         suggested by Bruno Haible <bruno@clisp.org>.
76514
76515 2005-10-22  Simon Josefsson  <jas@extundo.com>
76516
76517         * lib/crc.h: Include stddef.h, for size_t.
76518
76519 2005-10-22  Simon Josefsson  <jas@extundo.com>
76520
76521         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
76522         arcfour_context struct (simplify test vector testing in GNU
76523         Shishi).
76524
76525 2005-10-21  Simon Josefsson  <jas@extundo.com>
76526
76527         * modules/des, modules/des-tests: New files.
76528
76529         * modules/gc-des, modules/gc-des-tests: New files.
76530
76531         * tests/test-des.c, tests/test-gc-des.c: New file.
76532
76533 2005-10-21  Simon Josefsson  <jas@extundo.com>
76534
76535         * modules/arctwo, modules/arctwo-tests: New files.
76536
76537         * tests/test-arctwo.c: New file.
76538
76539         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
76540
76541         * tests/test-gc-arctwo.c: New file.
76542
76543 2005-10-21  Simon Josefsson  <jas@extundo.com>
76544
76545         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
76546         Bruno Haible <bruno@clisp.org>.
76547
76548         * m4/gc-des.m4: New file.
76549
76550 2005-10-21  Simon Josefsson  <jas@extundo.com>
76551
76552         * m4/arctwo.m4: New file.
76553
76554         * m4/gc-arctwo.m4: New file.
76555
76556 2005-10-21  Simon Josefsson  <jas@extundo.com>
76557
76558         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
76559         block.
76560
76561 2005-10-21  Simon Josefsson  <jas@extundo.com>
76562
76563         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
76564         <bruno@clisp.org>.
76565
76566         * lib/hmac-sha1.c (hmac_sha1): Likewise.
76567
76568         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
76569         Bruno Haible <bruno@clisp.org>.
76570
76571         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
76572         <bruno@clisp.org>.
76573
76574 2005-10-21  Simon Josefsson  <jas@extundo.com>
76575
76576         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
76577
76578 2005-10-21  Simon Josefsson  <jas@extundo.com>
76579
76580         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
76581
76582 2005-10-21  Simon Josefsson  <jas@extundo.com>
76583
76584         * lib/des.h, lib/des.c: New files.
76585
76586         * lib/gc-gnulib.c: Support DES.c
76587
76588 2005-10-21  Simon Josefsson  <jas@extundo.com>
76589
76590         * lib/arctwo.h, lib/arctwo.c: New files.
76591
76592         * lib/gc-gnulib.c: Support ARCTWO.
76593
76594 2005-10-21  Simon Josefsson  <jas@extundo.com>
76595
76596         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
76597         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76598
76599 2005-10-21  Simon Josefsson  <jas@extundo.com>
76600
76601         * gnulib-tool (func_import, func_create_testdir): Define automake
76602         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
76603         Makefile.am snippet),
76604         suggested by Bruno Haible <bruno@clisp.org>.
76605
76606         * modules/gc (Makefile.am): Use it.
76607
76608 2005-10-21  Bruno Haible  <bruno@clisp.org>
76609
76610         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
76611         patch.
76612
76613 2005-10-19  Simon Josefsson  <jas@extundo.com>
76614
76615         * tests/test-gc-rijndael.c: New file.
76616
76617         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
76618
76619 2005-10-19  Simon Josefsson  <jas@extundo.com>
76620
76621         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
76622         interface too.
76623
76624 2005-10-19  Simon Josefsson  <jas@extundo.com>
76625
76626         * tests/test-gc-arcfour.c: New file.
76627
76628         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
76629
76630 2005-10-19  Simon Josefsson  <jas@extundo.com>
76631
76632         * modules/gc-md4, modules/gc-md4-tests: New file.
76633
76634         * tests/test-gc-md4.c: New file.
76635
76636 2005-10-19  Simon Josefsson  <jas@extundo.com>
76637
76638         * m4/gc-md4.m4: New file.
76639
76640 2005-10-19  Simon Josefsson  <jas@extundo.com>
76641
76642         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
76643         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
76644         <kasal@ucw.cz>.
76645
76646 2005-10-19  Simon Josefsson  <jas@extundo.com>
76647
76648         * m4/gc-arcfour.m4: New file.
76649
76650         * m4/gc-rijndael.m4: New file.
76651
76652 2005-10-19  Simon Josefsson  <jas@extundo.com>
76653
76654         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
76655
76656 2005-10-19  Simon Josefsson  <jas@extundo.com>
76657
76658         * lib/gc-gnulib.c: Support ARCFOUR.
76659
76660 2005-10-19  Simon Josefsson  <jas@extundo.com>
76661
76662         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
76663         support.
76664
76665         * lib/gc.h: Add ECB enum type.
76666
76667         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
76668
76669 2005-10-18  Simon Josefsson  <jas@extundo.com>
76670
76671         * tests/test-md5.c: New file.
76672
76673         * modules/md5-tests: New file.
76674
76675 2005-10-18  Simon Josefsson  <jas@extundo.com>
76676
76677         * tests/test-md4.c: New file.
76678
76679         * modules/md4, modules/md4-tests: New files.
76680
76681 2005-10-18  Simon Josefsson  <jas@extundo.com>
76682
76683         * m4/md4.m4: New file.
76684
76685 2005-10-18  Simon Josefsson  <jas@extundo.com>
76686
76687         * lib/md4.h, lib/md4.c: New files, based on md5.?.
76688
76689 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
76690
76691         * gnulib-tool (func_create_testdir): Omit the second check whether
76692         BUILT_SOURCES in nonempty.
76693
76694 2005-10-17  Simon Josefsson  <jas@extundo.com>
76695
76696         * tests/test-rijndael.c: New file.
76697
76698 2005-10-17  Simon Josefsson  <jas@extundo.com>
76699
76700         * modules/sha1: Depend on stdint instead of md5.
76701
76702         * modules/md5: Depend on stdint, remove uint32_t.
76703
76704 2005-10-17  Simon Josefsson  <jas@extundo.com>
76705
76706         * modules/gc-sha1-tests: New file.
76707
76708         * tests/test-gc-sha1.c: New file.
76709
76710 2005-10-17  Simon Josefsson  <jas@extundo.com>
76711
76712         * m4/md5.m4: Remove call to uint32_t.m4.
76713
76714 2005-10-17  Simon Josefsson  <jas@extundo.com>
76715
76716         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
76717
76718         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
76719         md5.h.
76720
76721         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
76722
76723         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
76724
76725 2005-10-17  Simon Josefsson  <jas@extundo.com>
76726
76727         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
76728
76729 2005-10-17  Simon Josefsson  <jas@extundo.com>
76730
76731         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
76732
76733 2005-10-17  Simon Josefsson  <jas@extundo.com>
76734
76735         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
76736
76737         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
76738
76739 2005-10-17  Bruno Haible  <bruno@clisp.org>
76740
76741         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
76742         that it can also be used in a test.
76743
76744 2005-10-16  Bruno Haible  <bruno@clisp.org>
76745
76746         * gnulib-tool (func_emit_tests_Makefile_am): Also define
76747         TESTS_ENVIRONMENT, so that individual tests can augment it.
76748
76749         * gnulib-tool (func_create_testdir): Use an intermediate target for
76750         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
76751         macros, like $(ALLOCA_H), which cannot be passed through the command
76752         line.
76753
76754 2005-10-15  Simon Josefsson  <jas@extundo.com>
76755
76756         * modules/rijndael-tests: New file.
76757
76758         * modules/rijndael: New file.
76759
76760 2005-10-15  Simon Josefsson  <jas@extundo.com>
76761
76762         * m4/rijndael.m4: New file.
76763
76764 2005-10-15  Simon Josefsson  <jas@extundo.com>
76765
76766         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
76767
76768         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
76769
76770 2005-10-14  Simon Josefsson  <jas@extundo.com>
76771
76772         * tests/test-arcfour.c: New file.
76773
76774         * modules/arcfour, modules/arcfour-tests: New files.
76775
76776 2005-10-14  Simon Josefsson  <jas@extundo.com>
76777
76778         * m4/arcfour.m4: New file.
76779
76780 2005-10-14  Simon Josefsson  <jas@extundo.com>
76781
76782         * lib/arcfour.h, lib/arcfour.c: New files.
76783
76784 2005-10-14  Roland McGrath  <roland@redhat.com>
76785
76786         Import from libc.  [BZ #1331]
76787         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
76788         macro argument.
76789         Reported by Matej Vela <vela@debian.org>.
76790
76791 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76792
76793         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
76794         include <wchar.h>; no longer needed.
76795
76796 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76797
76798         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
76799
76800 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
76801         and  Ulrich Drepper  <drepper@redhat.com>
76802
76803         Import from libc.
76804         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
76805         instead of inline stream orientation test and two separate
76806         function calls.  Pay no attention to USE_IN_LIBIO.
76807
76808 2005-10-13  Simon Josefsson  <jas@extundo.com>
76809
76810         * modules/gc-hmac-md5-tests: New file.
76811
76812         * tests/test-gc-hmac-sha1.c: New file.
76813
76814         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
76815
76816         * modules/gc-hmac-md5-tests: New file.
76817
76818         * tests/test-gc-md5.c: New file.
76819
76820         * modules/gc-md5-tests: New file.
76821
76822 2005-10-13  Simon Josefsson  <jas@extundo.com>
76823
76824         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
76825         Move memory allocation outside of loop.
76826
76827 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
76828
76829         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
76830         intermediate directory is in a read-only file system.  Problem
76831         reported by Eric Blake.
76832
76833 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
76834
76835         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
76836
76837 2005-10-12  Simon Josefsson  <jas@extundo.com>
76838
76839         * tests/test-hmac-sha1.c: New file.
76840
76841         * modules/hmac-sha1-tests: New file.
76842
76843         * modules/hmac-sha1: New file.
76844
76845 2005-10-12  Simon Josefsson  <jas@extundo.com>
76846
76847         * modules/gc-sha1: New file.
76848
76849 2005-10-12  Simon Josefsson  <jas@extundo.com>
76850
76851         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
76852
76853         * tests/test-gc-pbkdf2-sha1.c: New file.
76854
76855 2005-10-12  Simon Josefsson  <jas@extundo.com>
76856
76857         * modules/gc-md5, modules/gc-hmac-md5: New files.
76858
76859         * modules/gc (Files): Remove md5, memxor and hmac files.
76860
76861 2005-10-12  Simon Josefsson  <jas@extundo.com>
76862
76863         * m4/gc-pbkdf2-sha1.m4: New file.
76864
76865         * m4/gc-hmac-sha1.m4: New file.
76866
76867         * m4/gc-sha1: New file.
76868
76869         * m4/hmac-sha1.m4: New file.
76870
76871 2005-10-12  Simon Josefsson  <jas@extundo.com>
76872
76873         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
76874
76875         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
76876
76877 2005-10-12  Simon Josefsson  <jas@extundo.com>
76878
76879         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
76880         suggested by Bruno Haible <bruno@clisp.org>.
76881
76882 2005-10-12  Simon Josefsson  <jas@extundo.com>
76883
76884         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
76885
76886 2005-10-12  Simon Josefsson  <jas@extundo.com>
76887
76888         * lib/gc-pbkdf2-sha1.c: New file.
76889
76890         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
76891
76892 2005-10-12  Simon Josefsson  <jas@extundo.com>
76893
76894         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
76895
76896         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
76897
76898 2005-10-12  Simon Josefsson  <jas@extundo.com>
76899
76900         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
76901         GC_USE_HMAC_MD5, respectively.
76902
76903         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
76904         (gc_md5): Fix typo.
76905
76906         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
76907
76908         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
76909
76910         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
76911
76912 2005-10-12  Bruno Haible  <bruno@clisp.org>
76913
76914         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
76915         Reported by Stepan Kasal <kasal@ucw.cz>.
76916
76917 2005-10-11  Simon Josefsson  <jas@extundo.com>
76918
76919         * tests/test-crc.c: New file.
76920
76921         * modules/crc, modules/crc-tests: New files.
76922
76923 2005-10-11  Simon Josefsson  <jas@extundo.com>
76924
76925         * m4/crc.m4: New file.
76926
76927 2005-10-11  Simon Josefsson  <jas@extundo.com>
76928
76929         * lib/gc.h: Add gc_hash and gc_hash_buffer.
76930
76931         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
76932
76933         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
76934
76935 2005-10-11  Simon Josefsson  <jas@extundo.com>
76936
76937         * lib/crc.h, lib/crc.c: New files.
76938
76939         * lib/gc.h (gc_hash_buffer): Add doc.
76940
76941 2005-10-11  Bruno Haible  <bruno@clisp.org>
76942
76943         * modules/c-strcasestr: New file.
76944         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
76945
76946 2005-10-11  Bruno Haible  <bruno@clisp.org>
76947
76948         * modules/c-strcase: New file.
76949         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
76950
76951 2005-10-11  Bruno Haible  <bruno@clisp.org>
76952
76953         * lib/strcasecmp.c: Include limits.h.
76954         (strcasecmp): Avoid integer overflow on exotic platforms.
76955         * lib/strncasecmp.c: Include limits.h.
76956         (strncasecmp): Avoid integer overflow on exotic platforms.
76957         Reported by Paul Eggert.
76958
76959 2005-10-11  Bruno Haible  <bruno@clisp.org>
76960
76961         * lib/c-strcasestr.h: New file, from GNU gettext.
76962         * lib/c-strcasestr.c: New file, from GNU gettext.
76963
76964 2005-10-11  Bruno Haible  <bruno@clisp.org>
76965
76966         * lib/c-strcase.h: New file, from GNU gettext.
76967         * lib/c-strcasecmp.c: New file, from GNU gettext.
76968         * lib/c-strncasecmp.c: New file, from GNU gettext.
76969
76970 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76971
76972         * modules/mempcpy (License): GPL -> LGPL.
76973         * modules/strchrnul (License): Likewise.
76974         * modules/sysexits (License): Likewise.
76975
76976 2005-10-08  Simon Josefsson  <jas@extundo.com>
76977
76978         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
76979
76980 2005-10-07  Simon Josefsson  <jas@extundo.com>
76981
76982         * m4/memxor.m4: Remove gl_C_RESTRICT call.
76983
76984 2005-10-06  Simon Josefsson  <jas@extundo.com>
76985
76986         * tests/test-hmac-md5.c: New file.
76987
76988         * modules/hmac-md5-tests: New file.
76989
76990         * modules/hmac-md5: New file.
76991
76992 2005-10-06  Simon Josefsson  <jas@extundo.com>
76993
76994         * m4/hmac-md5.m4: New file.
76995
76996         * m4/memxor.m4: Require gl_C_RESTRICT.
76997
76998 2005-10-06  Simon Josefsson  <jas@extundo.com>
76999
77000         * lib/memxor.c (memxor): Avoid casts and warnings.
77001
77002 2005-10-06  Simon Josefsson  <jas@extundo.com>
77003
77004         * lib/hmac-md5.c: New file.
77005
77006         * lib/hmac.h: New file.
77007
77008 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77009
77010         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
77011         promotes to int, not unsigned int, to catch the AIX 5.3
77012         compiler bug.
77013
77014 2005-10-05  Simon Josefsson  <jas@extundo.com>
77015
77016         * modules/memxor: New file.
77017
77018         * modules/iconv (Files): Move config.rpath to havelib, it is used
77019         there.
77020
77021         * modules/havelib (Files): Add config.rpath.
77022
77023 2005-10-05  Simon Josefsson  <jas@extundo.com>
77024
77025         * m4/memxor.m4: New file.
77026
77027 2005-10-05  Simon Josefsson  <jas@extundo.com>
77028
77029         * lib/memxor.c (memxor): Fix compiler error.
77030
77031         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
77032         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
77033
77034         * lib/memxor.h, lib/memxor.c: New files.
77035
77036         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
77037         we assume all systems have it, suggested by Jim Meyering
77038         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
77039         any systems lack sys/socket.h; mingw32 is known to lack it, but we
77040         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
77041         same reasons.
77042
77043 2005-10-05  Simon Josefsson  <jas@extundo.com>
77044
77045         * config/srclist.txt: Add glibc bug 1423 for md5.h.
77046
77047 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77048
77049         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
77050         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
77051         needed, since the source code now assumes these .h files.
77052
77053 2005-10-05  Derek Price  <derek@ximbiot.com>
77054
77055         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
77056
77057 2005-10-05  Bruno Haible  <bruno@clisp.org>
77058
77059         * modules/stdint (License): Change to LGPL.
77060
77061 2005-10-04  Simon Josefsson  <jas@extundo.com>
77062
77063         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
77064         D. Baushke" <mdb@gnu.org>.
77065
77066 2005-10-04  Bruno Haible  <bruno@clisp.org>
77067
77068         * lib/verify.h (verify_true): Provide alternative definition for C++.
77069
77070 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
77071
77072         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
77073         (SSIZE_MAX): New macro, if not already defined.
77074         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
77075         than 2 GiB.
77076
77077 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77078
77079         Sync from coreutils.
77080         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
77081         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
77082         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
77083         ULLONG_MAX doesn't work with 2.7.2.1.
77084
77085 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77086
77087         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
77088         From Ben Pfaff.
77089
77090         * modules/exclude (Depends-on): Depend on verify.
77091         * modules/strtoimax (Depends-on): Likewise.
77092         * modules/utimecmp (Depends-on): Likewise.
77093
77094 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77095
77096         * lib/exclude.c: Include verify.h.
77097         (verify): Remove.  All callers changed to use verify.h's version.
77098         * lib/strtoimax.c: Likewise.
77099         * lib/utimecmp.c: Likewis.e
77100
77101         Sync from coreutils.
77102         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
77103         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
77104         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
77105         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
77106         bother returning ENOSYS if settimeofday or stime fails; just let
77107         them return whatever errno they want to return.
77108         * lib/utimens.c: Include unistd.h, for dup2.
77109         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
77110         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
77111
77112 2005-10-02  Jim Meyering  <jim@meyering.net>
77113
77114         Sync from coreutils.
77115         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
77116         from glibc-2.2.5 that fails for read-only files.
77117
77118 2005-10-02  Jim Meyering  <jim@meyering.net>
77119
77120         Sync from coreutils.
77121         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
77122         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
77123         `#if HAVE_CONFIG_H'.
77124         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
77125         Remove AT_FDCWD test.
77126         Do not consume the fd unless successful.
77127         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
77128         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
77129         block, so that we don't even try to compile it if settimeofday is
77130         available.  This works around a compilation failure on OSF1 V5.1,
77131         due to stime requiring a `long int*' while tv_sec is `int'.
77132
77133 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
77134
77135         Sync from coreutils.
77136         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
77137         against `yes', rather than just testing for nonempty.
77138
77139 2005-10-01  Simon Josefsson  <jas@extundo.com>
77140
77141         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
77142         and Darwin.
77143
77144         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
77145         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
77146         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
77147         freeaddrinfo and gai_strerror are declared by the POSIX headers.
77148         Check if struct addrinfo is declared.
77149
77150 2005-10-01  Simon Josefsson  <jas@extundo.com>
77151
77152         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
77153         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
77154         AI_* and EAI_* definitions.  Protect function declarations.
77155
77156 2005-10-01  Jim Meyering  <jim@meyering.net>
77157
77158         Sync from coreutils.
77159
77160         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
77161         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
77162         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
77163         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
77164         in the inet and nsl libraries.  Required on Solaris 5.7.
77165
77166 2005-10-01  Jim Meyering  <jim@meyering.net>
77167
77168         Sync from coreutils.
77169         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
77170         in the inet and nsl libraries.  Required on Solaris 5.7.
77171
77172 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
77173
77174         * lib/getdelim.c (getdelim): Remove unused variables.
77175
77176 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77177
77178         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
77179         so that the code works even with ancient cpp.  Portability problem
77180         with GCC 2.7.2.1 reported by Thomas M.Ott.
77181
77182 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77183
77184         * modules/regex (Depends-on): Add strcase.
77185
77186         * modules/gethostname (Licence): Change from GPL to LGPL, since
77187         gethostname.c is a trivial implementation of a standard library
77188         function.
77189         * modules/poll (License): Change from GPL to LGPL, since it's
77190         derived from LGPL code.
77191
77192 2005-09-27  Jim Meyering  <jim@meyering.net>
77193
77194         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
77195         HAVE_CONFIG_H.
77196
77197         * lib/intprops.h (signed_type_or_expr__): Define.
77198         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
77199         for unsigned types.
77200
77201 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77202
77203         * lib/verify.h (verify_expr): Remove, replacing with:
77204         (verify_true): New macro that returns true instead of void.
77205         (verify_type__): Remove.
77206         (verify): Use verify_true rather than verify_type__.
77207
77208 2005-09-26  Bruno Haible  <bruno@clisp.org>
77209
77210         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
77211         is necessary.
77212         (lib_SOURCES): Remove mbchar.c.
77213         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
77214         (Files): Add m4/mbrtowc.m4.
77215         * modules/mbiter: Likewise.
77216         * modules/mbuiter: Likewise.
77217
77218 2005-09-26  Bruno Haible  <bruno@clisp.org>
77219
77220         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
77221         compile mbchar.c if they are not both present.
77222         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
77223         * m4/mbiter.m4 (gl_MBITER): Likewise.
77224         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
77225         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
77226         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
77227
77228 2005-09-25  Jim Meyering  <jim@meyering.net>
77229
77230         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
77231         also uses socklen_t.
77232
77233 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
77234
77235         * lib/utimens.c (ENOSYS): Define if not already defined.
77236         (futimens): Support having a null PATH if the file descriptor
77237         is nonnegative.
77238
77239         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
77240         Remove.
77241         (__attribute): Define to empty unless GCC 3.1 or later.
77242         This works around a core dump on OpenBSD 3.4, which has GCC
77243         2.95.3, which dumps core when given __attribute__(()).  It also
77244         simplifies other tests, since we really don't want to bother with
77245         worrying about which ancient version of GCC supported what.
77246         Original problem reported by Yoann Vandoorselaere, with part of
77247         the fix suggested by Derek Price.
77248
77249 2005-09-24  Jim Meyering  <jim@meyering.net>
77250
77251         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
77252         so we can once again use a positive bitfield width of 1 -- now we
77253         don't have to explain why we were using a bitfield width of 2.
77254
77255 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
77256
77257         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
77258         and similarly for the other external symbols.  Problem reported
77259         by James Gallager.
77260
77261         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
77262         bug reported by Jim Meyering.
77263
77264         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
77265         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
77266         not needed, since socklen is a prerequisite module.
77267
77268 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
77269
77270         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
77271         Problem reported by Eric Blake.
77272         (getaddrinfo): Initialize se so that it's not garbage.
77273         Redo internal storage allocation so that it doesn't make unportable
77274         assumptions about alignment.
77275         Fix a memory leak.
77276
77277         * lib/utimens.c (futimens): Use futimesat if available.
77278         Prefer it to futimes since it doesn't have the futimes bug.
77279
77280         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
77281         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
77282         Instead, declare a function that returns a pointer to an array,
77283         and use verify_type__ to declare the size of the array.
77284         Problem and germ of a solution reported by Bruno Haible.
77285         (verify_type__): Use 2, not 1, for bitfield size, to avoid
77286         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
77287
77288 2005-09-23  Jim Meyering  <jim@meyering.net>
77289
77290         Sync from coreutils.
77291         Correct build failure (socklen_t not defined) on at least
77292         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
77293         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
77294
77295 2005-09-23  Jim Meyering  <jim@meyering.net>
77296
77297         * modules/getaddrinfo (Depends-on): Add socklen.
77298
77299 2005-09-23  Bruno Haible  <bruno@clisp.org>
77300
77301         * tests/test-verify.c: New file.
77302
77303 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77304
77305         Sync from coreutils.
77306
77307         * modules/argmatch (Depends-on): Add verify.
77308         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
77309         unistd-safer.
77310         * modules/save-cwd (Depends-on): Likewise.
77311
77312         * modules/openat (Files): Add lib/openat-die.c.
77313         (Depends-on): Remove error, exitfail.
77314         Add dirname.
77315
77316         * modules/verify: New file.
77317         * MODULES.html.sh (Diagnostics <assert.h>): New section,
77318         with "verify" module.
77319
77320 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77321
77322         Sync from coreutils.
77323
77324         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
77325         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
77326         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
77327         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
77328         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
77329         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
77330         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
77331         Don't bother checking for string.h, stdlib.h, unistd.h.
77332         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
77333         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
77334         module's job.
77335         * m4/jm-macros.m4 (gl_MACROS): Likewise.
77336         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
77337
77338         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
77339         (gl_GETDATE): Use it.
77340
77341         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
77342
77343 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77344
77345         Sync from coreutils.
77346
77347         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
77348         stat-time.h.
77349         * lib/argmatch.h: Include verify.h
77350         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
77351         (ARGMATCH_ASSERT): Remove; unused.
77352         * lib/canonicalize.c: Assume STDC_HEADERS.
77353         * lib/exclude.c: Include "strcase.h".
77354         * lib/regex_internal.h [!defined _LIBC]: Likewise.
77355         * lib/getusershell.c: Include stdio--.h rather than stdio.h
77356         and stdio-safer.h.
77357         (getusershell): Call fopen, not fopen_safer.
77358         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
77359         Do not include unistd-safer.h.
77360         (save_cwd): Don't call fd_safer; no longer needed
77361         now that we include fcntl--.h.
77362
77363         * lib/getdate.y (relative_time): New type.
77364         (RELATIVE_TIME_0): New constant.
77365         (parser_control): Use relative_time instead of doing it ourselves.
77366         (%union): Add new relative_time rel member.
77367         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
77368         Now typeless.
77369         (relunit, relunit_snumber): Now of type rel.
77370         (zone, rel, relunit, get_date): Adjust to above changes.
77371
77372         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
77373         Do not include unistd-safer.h.
77374         (getloadavg): Don't call fd_safer; no longer needed
77375         now that we include fcntl--.h.
77376
77377         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
77378         (make_dir_parents): Treat ENOSYS like EEXIST.
77379
77380         Improve quality of diagnostics on restore_cwd failure.
77381         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
77382         (make_dir_parents): Last arg is now int * (for errno), not bool *.
77383         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
77384         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
77385         each time through the loop.  Do not diagnose restore_cwd failure;
77386         that is the caller's job (and perhaps the caller does not care).
77387
77388         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
77389         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
77390         If the file already exists but is not a directory, don't bother
77391         to try to make its parents.
77392         Close potential file descriptor leak if we can't chdir("/") (!).
77393         Don't always return true if chdir($PWD) fails; return true only
77394         if the requested action was done successfully (except for the
77395         chdir($PWD)).
77396         Don't log final directory unless we actually made it.
77397         Refactor to avoid duplicate code to fix up permissions.
77398         Don't attempt to fix up parent permissions if chdir($PWD) fails.
77399
77400         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
77401         to make it a bit faster and (I hope) clearer.
77402         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
77403         Fix bug in formats like %2N.
77404
77405         * lib/verify.h: New file.
77406
77407 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77408
77409         Sync from coreutils.
77410         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
77411
77412 2005-09-22  Jim Meyering  <jim@meyering.net>
77413
77414         Sync from coreutils.
77415
77416         * m4/lstat.m4 (gl_FUNC_LSTAT):
77417         Use AC_LIBSOURCES to require lstat.c and lstat.h.
77418         Remove obsolete comment.
77419         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
77420         * m4/xstrtod.m4: Likewise.
77421
77422         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
77423
77424 2005-09-22  Jim Meyering  <jim@meyering.net>
77425
77426         Sync from coreutils.
77427
77428         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
77429
77430         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
77431         the .tm_year member, since otherwise gcc-4.0 would now warn about
77432         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
77433
77434         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
77435         order to avoid an unsuppressible warning from gcc on 64-bit systems.
77436
77437         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
77438         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
77439         when run in a time zone for which daylight savings time is in effect
77440         for the starting date.
77441
77442         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
77443         stop us from restricting permissions of just-created absolute-named
77444         directories.
77445         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
77446         to restore initial working directory.
77447         * lib/mkdir-p.c (make_dir_parents): New parameter:
77448         different_working_dir, to tell caller if/when we change the working
77449         directory and are unable to return to the initial one.
77450         * lib/mkdir-p.h (make_dir_parents): Update prototype.
77451         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
77452         `return false'.  This fixes a bug introduced on 2004-07-30.
77453
77454         * lib/openat.c (fdopendir): Be sure to close the supplied
77455         file descriptor before returning.  This makes our replacement
77456         implementation a little closer to Solaris's, where fdopendir
77457         ties the file descriptor to the returned DIR* pointer.
77458         * lib/openat.c (unlinkat): New function.
77459         * lib/openat.h (unlinkat): Add prototype.
77460         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
77461         (openat_restore_fail): Rename from openat_restore_die.
77462         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
77463
77464         Provide an alternative to exiting immediately upon save_cwd or
77465         restore_cwd failure.  Now, an application can arrange e.g.,
77466         to perform a longjump in that case.
77467         * lib/openat.c: Include dirname.h.
77468         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
77469         (rpl_openat, fdopendir, fstatat): Call openat_save_die
77470         and openat_restore_die rather than calling error directly.
77471         Don't include "error.h" or "exitfail.h"; they're no longer needed.
77472
77473         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
77474         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
77475         define.
77476
77477         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
77478         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
77479                             int utc, int nanoseconds);
77480         Background:
77481         date should not have to allocate a megabyte of virtual memory to
77482         handle a format argument like +%1048575T.  When implemented with
77483         strftime, it must allocate such a buffer, use strftime to fill it
77484         in, print it, then free it.
77485         With fprintftime, it simply prints everything and exits.
77486         With no need for memory allocation, that's one fewer way to fail.
77487         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
77488         optional field width, not before, so we accept %9:z, not %:9z.
77489         (my_strftime): Be sure to use L_('x') for literals.
77490
77491         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
77492         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
77493         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
77494         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
77495         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
77496         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
77497         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
77498         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
77499         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
77500         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
77501         * lib/xgethostname.c, lib/xreadlink.c:
77502         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
77503
77504         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
77505         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
77506         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
77507         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
77508         and don't include <sys/file.h>).
77509
77510 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
77511
77512         Sync from coreutils.
77513
77514         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
77515         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
77516         [!LDAV_DONE]: Avoid unused variable warning.
77517
77518 2005-09-21  Bruno Haible  <bruno@clisp.org>
77519
77520         * lib/unicodeio.h (unicode_to_mb): New declaration.
77521
77522 2005-09-20  Derek Price  <derek@ximbiot.com>
77523
77524         * lib/getaddrinfo.c: Don't include <netdb.h> included from
77525         getaddrinfo.h.
77526
77527 2005-09-20  Bruno Haible  <bruno@clisp.org>
77528
77529         * gnulib-tool: Remove trailing slashes from the values specified for
77530         --source-base, --m4-base, --tests-base, --aux-dir.
77531         Suggested by Simon Josefsson <jas@extundo.com>.
77532
77533 2005-09-20  Bruno Haible  <bruno@clisp.org>
77534
77535         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
77536         func_modules_to_filelist, func_import, func_create_testdir): Make all
77537         sorting results locale-independent, so that gnulib-cache.m4 doesn't
77538         change when gnulib-tool is invoked in a different locale.
77539
77540 2005-09-19  Simon Josefsson  <jas@extundo.com>
77541
77542         * m4/socklen.m4: Fix typo.
77543
77544 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77545
77546         Use a consistent style for including <config.h>.
77547         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
77548         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
77549         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
77550         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
77551         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
77552         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
77553         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
77554         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
77555         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
77556         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
77557         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
77558         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
77559         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
77560         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
77561         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
77562         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
77563         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
77564         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
77565         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
77566         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
77567         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
77568         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
77569         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
77570         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
77571         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
77572         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
77573         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
77574         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
77575         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
77576         lib/xstrtoumax.c, lib/yesno.c:
77577         Standardize inclusion of config.h.
77578         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
77579         lib/inttostr.h:  Removed inclusion of config.h from header files.
77580         * lib/inttostr.c:  Adjusted in-tree users.
77581         * lib/timespec.h: Remove superfluous warning to include config.h.
77582         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
77583         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
77584         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
77585         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
77586         config.h with HAVE_CONFIG_H.
77587
77588 2005-09-19  Jim Meyering  <jim@meyering.net>
77589
77590         * modules/pathmax (License): Change to LGPL.
77591
77592 2005-09-19  Derek Price  <derek@ximbiot.com>
77593
77594         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
77595
77596 2005-09-19  Bruno Haible  <bruno@clisp.org>
77597
77598         * gnulib-tool (import): Provide default for --tests-base.
77599
77600 2005-09-19  Bruno Haible  <bruno@clisp.org>
77601
77602         * doc/quote.texi: New file, extracted from gnulib.texi.
77603         * doc/ctime.texi: New file, extracted from gnulib.texi.
77604         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
77605         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
77606         * doc/gnulib.texi: Include them.
77607
77608 2005-09-18  Bruno Haible  <bruno@clisp.org>
77609
77610         Portability fix.
77611         * gnulib-tool (func_readlink): New function.
77612         (func_ln_if_changed): Use it.
77613
77614 2005-09-18  Bruno Haible  <bruno@clisp.org>
77615
77616         * gnulib-tool: Support --with-tests also with --import.
77617         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
77618         (func_import): Use variables $testsbase and $inctests. Emit a
77619         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
77620         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
77621         SUBDIRS += $testsdir.
77622         (func_create_testdir): Update.
77623
77624 2005-09-18  Bruno Haible  <bruno@clisp.org>
77625
77626         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
77627         instead of $dry_run.
77628         (func_cp_if_changed, func_mv_if_changed): Remove functions.
77629         (func_ln_if_changed): Don't handle dry-run here.
77630         (func_import): In dry-run mode, detect more precisely which actions
77631         would be performed, and don't use "...ing" verbs.
77632
77633 2005-09-18  Bruno Haible  <bruno@clisp.org>
77634
77635         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
77636         (func_import): Use join on two temporary files instead of three nested
77637         loops, in order to determine which files are new or old.
77638
77639 2005-09-18  Bruno Haible  <bruno@clisp.org>
77640
77641         * gnulib-tool (func_import): Comment out code that spits out the
77642         new files with --dry-run.
77643
77644 2005-09-18  Bruno Haible  <bruno@clisp.org>
77645
77646         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
77647
77648 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77649
77650         * lib/stat-time.h: New file.
77651         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
77652         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
77653         in a different way.
77654         (timespec_cmp): New function.
77655         * lib/utimecmp.c: Include stat-time.h.
77656         (SYSCALL_RESOLUTION): Depend on whether various struct stat
77657         members exist, not on the obsolescent ST_MTIM_NSEC.
77658         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
77659
77660 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77661
77662         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
77663
77664 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77665
77666         * MODULES.html.sh (File system functions): Add stat-time.
77667         * modules/stat-time: New file.
77668         * modules/timespec (Files): Remove m4/st_mtim.m4; this
77669         is now done in a different way, by the stat-time module.
77670         * modules/utimecmp (Depends-on): Add stat-time.
77671
77672 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77673
77674         * m4/st_mtim.m4: Remove.  Superseded by...
77675         * m4/stat-time.m4: New file.
77676         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
77677         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
77678
77679 2005-09-15  Derek Price  <derek@ximbiot.com>
77680
77681         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
77682
77683 2005-09-15  Derek Price  <derek@ximbiot.com>
77684
77685         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
77686         * lib/regex_internal.c: Ditto, using this...
77687         (__GNUC_PREREQ): ...new macro.
77688         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
77689         using...
77690         (__GNUC_PREREQ): ...this new macro.
77691
77692         * lib/strstr.h: Include string.h. Define strstr as a macro here.
77693
77694 2005-09-15  Derek Price  <derek@ximbiot.com>
77695             Paul Eggert  <eggert@cs.ucla.edu>
77696
77697         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
77698         changes, consolidating in...
77699         * lib/regex_internal.h: ...this file.
77700
77701 2005-09-13  Jim Meyering  <jim@meyering.net>
77702
77703         * lib/canon-host.c: Filter through gnu indent and reword comments
77704         slightly.
77705         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
77706
77707 2005-09-13  Derek Price  <derek@ximbiot.com>
77708
77709         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
77710         failure.
77711         Reported by Jim Meyering  <jim@meyering.net>.
77712
77713 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77714
77715         * lib/base64.c: Typo.
77716         (base64_encode): Put b64str in initialized data section.
77717
77718 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
77719
77720         Merge glibc and coreutils changes into gnulib, plus a few
77721         extra fixes.
77722         * lib/md5.c: Use #error rather than a string.
77723         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
77724         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
77725         (__attribute__): Define to empty for non recent-GCC.
77726         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
77727         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
77728         Renamed from their non-__ counterparts, with new macros replacing
77729         them if not _LIBC.  Add __THROW attribute.
77730         (rol): Remove.
77731         (struct md5_ctx): Align buffer if using GCC.
77732         * lib/sha1.h (struct sha1_ctx): Likewise.
77733         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
77734         The old name was backwards.
77735         (NOTSWAP): Remove; not used.
77736         (rol): New macro, moved here from md5.h.
77737         (sha1_process_block): Remove a FIXME that doesn't make sense.
77738
77739 2005-09-12  Derek Price  <derek@ximbiot.com>
77740
77741         Return usable errors from canon-host.
77742         * lib/canon-host.h: New file.
77743         * lib/canon-host.c (canon_host): Wrap...
77744         (canon_host_r): ...this new function, which now relies exclusively on
77745         getaddrinfo.
77746         (ch_strerror): New function.
77747         (last_cherror): New global.
77748         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
77749         interface.
77750         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
77751         void *.
77752         (freeaddrinfo): Free ai->ai_canonname when set.
77753
77754 2005-09-12  Derek Price  <derek@ximbiot.com>
77755
77756         Make canon-host require getaddrinfo.
77757         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
77758         AC_LIBSOURCE canon-host.h.  Call...
77759         (gl_PREREQ_CANON_HOST): ...this new function, which requires
77760         gl_GETADDRINFO.
77761         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
77762
77763 2005-09-12  Derek Price  <derek@ximbiot.com>
77764
77765         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
77766         LGPL.
77767         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
77768
77769 2005-09-12  Derek Price  <derek@ximbiot.com>
77770
77771         * lib/gai_strerror.c: Include config.h when available.  Include
77772         getaddrinfo.h before other headers to test interface.
77773         Reported by Larry Jones <lawrence.jones@ugs.com>.
77774
77775 2005-09-12  Derek Price  <derek@ximbiot.com>
77776             Paul Eggert  <eggert@cs.ucla.edu>
77777
77778         * modules/glob (Files): Add glob-libc.h.
77779
77780 2005-09-12  Derek Price  <derek@ximbiot.com>
77781             Paul Eggert  <eggert@cs.ucla.edu>
77782
77783         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
77784         glob_.h, glob-libc.h.
77785         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
77786
77787 2005-09-12  Derek Price  <derek@ximbiot.com>
77788             Paul Eggert  <eggert@cs.ucla.edu>
77789
77790         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
77791         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
77792         protecting things that should be done only in gnulib contexts.
77793         * lib/glob_.h: New file, containing only the glob things needed for
77794         gnulib.
77795         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
77796         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
77797         (glob, globfree, glob_pattern_p): Now defined simply in terms of
77798         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
77799         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
77800         and to respect the namespace rules better.
77801
77802 2005-09-08  Simon Josefsson  <jas@extundo.com>
77803
77804         * modules/socklen: New file.
77805
77806 2005-09-08  Simon Josefsson  <jas@extundo.com>
77807
77808         * m4/socklen.m4: New file.
77809
77810 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77811
77812         * modules/utimens (Files): Add m4/utimbuf.m4, since
77813         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
77814         Reported by Sergey Poznyakoff.
77815
77816 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77817
77818         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
77819         definitions, since that's the preferred style in glibc.
77820         Fix a minor spacing issue, and update copyright notice to match
77821         glibc's.
77822
77823 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77824
77825         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
77826
77827 2005-09-06  Simon Josefsson  <jas@extundo.com>
77828
77829         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
77830         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
77831
77832 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77833
77834         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
77835         warning.
77836
77837 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77838
77839         * config/srclist.txt: Add glibc bug 1302.
77840
77841 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
77842
77843         Change bitset word type from unsigned int to unsigned long int,
77844         as this has better performance on typical 64-bit hosts.
77845         Port bitset code to hosts with unusual word sizes.
77846         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
77847         (build_collating_symbol):
77848         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
77849         argument is a bitset.  This is merely a style issue, but it makes
77850         it clearer that an entire array is expected.
77851         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
77852         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
77853         Port to the case where bitset_word is not the same as unsigned int.
77854         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
77855         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
77856         Likewise.
77857         * lib/regexec.c (check_dst_limits_calc_pos_1,
77858         check_subexp_matching_top):
77859         (build_trtable, group_nodes_into_DFAstates):
77860         Likewise.
77861         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
77862         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
77863         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
77864         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
77865         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
77866         * lib/regcomp.c (optimize_subexps, lower_subexp):
77867         Work even if bitset_word has holes in its bitwise representation.
77868         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
77869         * lib/regexec.c (check_dst_limits_calc_pos_1,
77870         check_subexp_matching_top):
77871         Likewise.
77872         * lib/regex_internal.c (re_string_reconstruct):
77873         Don't assume UCHAR_MAX == 255.
77874         * lib/regex_internal.h (bitset_set_all): Likewise.
77875         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
77876         All uses changed.
77877         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
77878         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
77879         All uses changed.
77880         (BITSET_WORD_MAX): New macro.
77881         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
77882         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
77883         (bitset_empty, bitset_copy):
77884         Prefer sizeof (bitset) to multiplying it out ourselves.
77885         (bitset_not_merge): Remove; unused.
77886         (bitset_contain): Return bool, not unsigned int with one bit on.
77887         All callers changed.
77888         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
77889         alignment than re_node_set; do this by defining a new internal
77890         type struct dests_alloc and using it to allocate memory.
77891
77892 2005-09-05  Bruno Haible  <bruno@clisp.org>
77893
77894         * gnulib-tool (func_import): Fix comparison in handling of symbolic
77895         links.
77896
77897 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
77898
77899         * modules/size_max (Makefile.am): Add size_max.h
77900
77901 2005-09-04  Derek Price  <derek@ximbiot.com>
77902
77903         * gnulib-tool (func_import): Fix reversed $symbolic logic.
77904
77905 2005-09-03  Simon Josefsson  <jas@extundo.com>
77906
77907         * gnulib-tool: Fix typo.
77908
77909 2005-09-03  Simon Josefsson  <jas@extundo.com>
77910
77911         * config/srclist.txt: Add glibc bug 1293.
77912
77913 2005-09-03  Derek Price  <derek@ximbiot.com>
77914
77915         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
77916         From Larry Jones <lawrence.jones@ugs.com>.
77917
77918 2005-09-02  Simon Josefsson  <jas@extundo.com>
77919
77920         * modules/socklen: New file.
77921
77922 2005-09-02  Simon Josefsson  <jas@extundo.com>
77923
77924         * modules/havelib: New module.
77925
77926         * modules/gettext, modules/iconv, modules/lock, modules/readline:
77927         Use havelib.
77928
77929 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77930
77931         Check for arithmetic overflow when calculating sizes, to prevent
77932         some buffer-overflow issues.  These patches are conservative, in the
77933         sense that when I couldn't determine whether an overflow was possible,
77934         I inserted a run-time check.
77935         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
77936         macros.
77937         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
77938         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
77939         (re_xnrealloc, re_x2nrealloc): New inline functions.
77940         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
77941         parse_bracket_exp):
77942         (build_equiv_class, build_charclass): Check for arithmetic overflow
77943         in size expression calculations.
77944         * lib/regex_internal.c (re_string_realloc_buffers):
77945         (build_wcs_upper_buffer, re_node_set_add_intersect):
77946         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
77947         (re_dfa_add_node, register_state): Likewise.
77948         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
77949         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
77950         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
77951         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
77952
77953 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77954
77955         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
77956         m4/ulonglong.m4.  Problem reported by Martin Lambers.
77957
77958 2005-09-02  Bruno Haible  <bruno@clisp.org>
77959
77960         Support for lib vs. lib64 distinction on biarch platforms.
77961         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
77962         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
77963         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
77964
77965 2005-09-02  Bruno Haible  <bruno@clisp.org>
77966
77967         * gnulib-tool (import): In the other first-use case, provide defaults
77968         as well.
77969
77970 2005-09-02  Bruno Haible  <bruno@clisp.org>
77971
77972         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
77973         patches not yet found in the latest gettext release.
77974
77975 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77976
77977         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
77978         to avoid a collision with bits/local_lim.h in glibc.
77979         All uses changed.  Problem reported by Dmitry V. Levin in
77980         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
77981
77982         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
77983         bugs in int versus size_t comparisons.
77984         (re_string_context_at): Fix bug where the code assumed that
77985         Idx is signed.
77986
77987         Use bool where appropriate.
77988         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
77989         All callers changed.
77990         (calc_eclosure_iter): Likewise, for ROOT arg.
77991         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
77992         (build_charclass_op): Likewise, for NON_MATCH arg.
77993         * lib/regex_internal.c (re_string_allocate, re_string_construct):
77994         (re_string_construct_common): Likewise, for ICASE arg.
77995         * lib/regexec.c (re_search_2_stub, re_search_stub):
77996         Likewise, for RET_LEN arg.
77997         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
77998         (set_regs): Likewise, for FL_BACKTRACK arg.
77999         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
78000         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
78001         (calc_eclosure_iter, parse_bracket_exp):
78002         Use bool for internal variables that are booleans.
78003         * lib/regexec.c (re_search_internal, check_matching,
78004         proceed_next_node):
78005         (set_regs, build_sifted_states, sift_states_bkref):
78006         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
78007         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
78008         (find_collation_sequence_value):
78009         Likewise.
78010         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
78011         (re_node_set_compare):
78012         Return bool, not int. All callers changed.
78013         * lib/regexec.c (check_halt_node_context, check_dst_limits):
78014         (build_trtable, check_node_accept): Likewise.
78015         * lib/regex_internal.h: Include stdbool.h.
78016
78017         Fix bugs uncovered when converting to bool.
78018         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
78019         failure instead of charging ahead blindly.
78020         * lib/regex_internal.c (register_state): Likewise.
78021         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
78022         for freeing internal storage.
78023         (group_nodes_into_DFA_states): Use unsigned int, not int, for
78024         bitset pieces used as boolean, to avoid undefined behavior
78025         on hosts that do int overflow checking.
78026
78027 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78028
78029         * config/srclist.txt: Add glibc bugs 1285-1287.
78030
78031 2005-09-01  Jim Meyering  <jim@meyering.net>
78032
78033         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
78034         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
78035         Require gl_STAT_MACROS, too.
78036
78037 2005-09-01  Bruno Haible  <bruno@clisp.org>
78038
78039         * gnulib-tool (import): In the first-use case, provide defaults.
78040
78041 2005-09-01  Bruno Haible  <bruno@clisp.org>
78042
78043         * gnulib-tool (func_import): Remove the .tmp files.
78044
78045 2005-09-01  Bruno Haible  <bruno@clisp.org>
78046
78047         * gnulib-tool (func_import): Fix handling of symbolic links.
78048
78049 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78050
78051         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
78052         old glibc regex code mishandles strings longer than 2**31 bytes.
78053         This patch fixes this when the regex code is used in gnulib
78054         (i.e., outside glibc).
78055
78056         This patch should not affect the use of the regex code inside
78057         glibc.  No doubt this problem also needs to be handled for glibc
78058         as well, but the result will be an incompatible change to the
78059         glibc ABI, and the old ABI will have to be supported too.  That
78060         can be the the subject for another patch.
78061
78062         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
78063         governing whether the rest of this patch is active.  By default,
78064         the macro is disabled and the patch has no effect.
78065         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
78066         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
78067         (struct re_pattern_buffer, re_search, re_search_2, re_match):
78068         (re_match_2, re_set_registers): Use the new types.
78069         * lib/regex_internal.h (Idx, re_hashval_t): New types.
78070         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
78071         New macros.
78072         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
78073         (re_string_context_at, bin_tree_t, re_dfastate_t):
78074         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
78075         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
78076         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
78077         (re_string_char_size_at, re_string_wchar_at):
78078         (re_string_elem_size_at):
78079         Use the new types and macros to port to 64-bit hosts.
78080         Use unsigned types for internal values, so that the code
78081         mostly works even for arrays larger than SSIZE_MAX.
78082         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
78083         (search_duplicated_node, calc_eclosure_iter, fetch_number):
78084         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
78085         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
78086         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
78087         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
78088         (calc_inveclosure, parse_dup_op, build_range_exp):
78089         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
78090         (fetch_number, create_token_tree, mark_opt_subexp):
78091         Likewise.
78092         * lib/regex_internal.c (re_string_construct_common,
78093         create_ci_newstate):
78094         (create_cd_newstate, re_string_allocate, re_string_construct):
78095         (re_string_realloc_buffers, build_wcs_upper_buffer):
78096         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
78097         (re_string_reconstruct, re_string_peek_byte_case):
78098         (re_string_fetch_byte_case, re_string_context_at):
78099         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
78100         (re_node_set_init_copy, re_node_set_add_intersect):
78101         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78102         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78103         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
78104         (re_acquire_state, re_acquire_state_context, register_state):
78105         Likewise.
78106         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
78107         search_cur_bkref_entry):
78108         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
78109         (re_search_internal, re_search_2_stub, re_search_stub)
78110         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
78111         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
78112         (update_cur_sifted_state, check_dst_limits):
78113         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
78114         (check_subexp_limits, sift_states_bkref, merge_state_array):
78115         (check_subexp_matching_top, get_subexp, get_subexp_sub):
78116         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
78117         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78118         (expand_bkref_cache, check_node_accept_bytes):
78119         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
78120         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
78121         (acquire_init_state_context, check_halt_node_context):
78122         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
78123         (sift_states_backward, clean_state_log_if_needed):
78124         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
78125         (find_recover_state, transit_state_sb, transit_state_mb):
78126         (transit_state_bkref, build_trtable, match_ctx_clean):
78127         Likewise.
78128         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
78129         to work around an assumption that REG_MISSING is negative.
78130
78131         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
78132         (seek_collating_symbol_entry) [defined _LIBC]:
78133         (lookup_collation_sequence_value) [defined _LIBC]:
78134         (build_range_exp, build_collating_symbol) [defined _LIBC]:
78135         Use prototypes rather than old-style function definitions.
78136         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
78137         (transit_state_sb) [0]:
78138         (find_collation_sequence_value) [defined _LIBC]: Likewise.
78139
78140         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
78141         rm_eo.
78142
78143         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
78144         (optimize_subexps, lower_subexp):
78145         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
78146         since the signed shift might overflow.  Use 1u<<31 instead.
78147         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
78148         Likewise.
78149         * lib/regexec.c (check_dst_limits_calc_pos_1,
78150         check_subexp_matching_top): Likewise.
78151
78152         * lib/regcomp.c (optimize_subexps, lower_subexp):
78153         Use CHAR_BIT rather than 8, for clarity.
78154         * lib/regexec.c (check_dst_limits_calc_pos_1):
78155         (check_subexp_matching_top): Likewise.
78156         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
78157         have to worry about portability issues when shifting it left.
78158         Remove no-longer-needed test for table_size > 0.
78159         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
78160         in a word, as the resulting behavior is undefined.
78161         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
78162         in one case, a <= should have been an <, and in another case the
78163         whole test was missing.
78164         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
78165         the standard name CHAR_BIT.
78166         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
78167         this is not true on one's complement and signed-magnitude hosts.
78168
78169         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
78170         next_last_offset.
78171         (struct re_dfa_t): Remove unused member states_alloc.
78172         * lib/regcomp.c (init_dfa): Don't initialize unused members.
78173
78174 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78175
78176         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
78177         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
78178         and large-file glibc and in 32-bit large-file Solaris.
78179
78180 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78181
78182         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
78183         lengths fit in regoff_t; this isn't true if regoff_t is the same
78184         width as size_t.
78185         * lib/regex.c (re_search_internal): 5th arg is LAST_START
78186         (= START + RANGE) instead of RANGE.  This avoids overflow
78187         problems when regoff_t is the same width as size_t.
78188         All callers changed.
78189         (re_search_2_stub): Check for overflow when adding the
78190         sizes of the two strings.
78191         (re_search_stub): Check for overflow when adding START
78192         to RANGE; if it occurs, substitute the extreme value.
78193
78194 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78195
78196         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
78197
78198 2005-08-31  Jim Meyering  <jim@meyering.net>
78199
78200         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
78201         a pointer-to-const.
78202         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
78203         (register_state): Likewise.
78204         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
78205         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
78206         (group_nodes_into_DFAstates): Likewise.
78207
78208 2005-08-31  Jim Meyering  <jim@meyering.net>
78209
78210         * check-module: Add a FIXME comment.
78211
78212 2005-08-31  Eric Blake  <ebb9@byu.net>
78213
78214         * modules/unistd-safer (Files): Add unistd--.h.
78215         * modules/stdio-safer (Files): Add stdio--.h.
78216
78217 2005-08-31  Derek Price  <derek@ximbiot.com>
78218
78219         * lib/getdelim.c (getdelim): Return EOF on EOF.
78220         Reported by Larry Jones <lawrence.jones@ugs.com>.
78221
78222 2005-08-31  Bruno Haible  <bruno@clisp.org>
78223
78224         Avoid unnecessary diffs in the generated lib/Makefile.am.
78225         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
78226         the generated files.
78227         (func_import): Don't set cmd.
78228
78229 2005-08-31  Bruno Haible  <bruno@clisp.org>
78230
78231         * lib/strstr.c: Include <stddef.h>, for NULL.
78232         * lib/strcasestr.c: Likewise.
78233         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
78234
78235 2005-08-31  Bruno Haible  <bruno@clisp.org>
78236
78237         * gnulib-tool: New option --macro-prefix.
78238         (func_import): Use macro_prefix.
78239         (import): Handle option --macro-prefix.
78240
78241 2005-08-31  Bruno Haible  <bruno@clisp.org>
78242
78243         * gnulib-tool (import): Rename most ac_* variables to cached_*.
78244         Also use new variables cached_lgpl, cached_libtool.
78245
78246 2005-08-31  Bruno Haible  <bruno@clisp.org>
78247
78248         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
78249         always instantiating them.
78250
78251 2005-08-31  Bruno Haible  <bruno@clisp.org>
78252
78253         * gnulib-tool (func_import): Read the previous cached settings
78254         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
78255         earlier added by gnulib but are now dropped. Warn when a gnulib file
78256         overwrites a non-gnulib file.
78257
78258 2005-08-31  Bruno Haible  <bruno@clisp.org>
78259
78260         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
78261         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
78262         projects that don't keep autogenerated files in CVS. Put into
78263         actioncmd only the specified modules, not the transitive closure.
78264
78265 2005-08-31  Bruno Haible  <bruno@clisp.org>
78266
78267         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
78268         Create directories that shall be filled.
78269         (import): Don't look for gl_* macros in configure.ac. Recurse across
78270         all directories containing a gnulib-cache.m4 files, if meaningful.
78271
78272 2005-08-31  Bruno Haible  <bruno@clisp.org>
78273
78274         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
78275         (import): Set seen_libtool when we see gl_LIBTOOL.
78276
78277 2005-08-31  Bruno Haible  <bruno@clisp.org>
78278
78279         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
78280         declaration macro definitions from generated gnulib.m4.
78281
78282 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
78283
78284         * lib/iconvme.h: Add prototype for iconv_alloc.
78285
78286 2005-08-29  Simon Josefsson  <jas@extundo.com>
78287
78288         * lib/iconvme.c: Fix errno.
78289
78290 2005-08-29  Bruno Haible  <bruno@clisp.org>
78291
78292         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
78293         that it works when the directory contains spaces.
78294
78295 2005-08-29  Bruno Haible  <bruno@clisp.org>
78296
78297         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
78298
78299 2005-08-29  Bruno Haible  <bruno@clisp.org>
78300
78301         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
78302         Emit more advice.
78303
78304 2005-08-29  Bruno Haible  <bruno@clisp.org>
78305         and Stepan Kasal  <kasal@ucw.cz>
78306
78307         * check-module: If more parameters are given, check each of them
78308         separately; add more exceptions, as noted by Jim Meyering.
78309         (check_module): New procedure.
78310         (%exempt_header): Now contains all exceptions.
78311
78312 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
78313
78314         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
78315
78316 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
78317
78318         * lib/iconvme.c: Split iconv_string into iconv_alloc.
78319
78320 2005-08-28  Bruno Haible  <bruno@clisp.org>
78321
78322         * m4/gnulib-tool.m4: New file.
78323
78324 2005-08-27  Jim Meyering  <jim@meyering.net>
78325
78326         * modules/unistd-safer (Files): Add pipe-safer.c.
78327         * modules/fcntl-safer (Files): Add creat-safer.c.
78328
78329 2005-08-27  Jim Meyering  <jim@meyering.net>
78330
78331         * m4/stdlib-safer.m4: New file.  From coreutils.
78332         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
78333         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
78334         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
78335         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
78336         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
78337
78338 2005-08-27  Jim Meyering  <jim@meyering.net>
78339
78340         * lib/fopen-safer.c: Merge minor changes from coreutils.
78341         * lib/dup-safer.c: Likewise.
78342         * lib/fd-safer.c: Likewise.
78343
78344         Merge from coreutils.
78345         * lib/stdio--.h: New file.
78346         * lib/stdlib--.h: New file.
78347         * lib/mkstemp-safer.c: New file.
78348
78349         GNU tar needs these.
78350         * lib/pipe-safer.c: New file.
78351         * lib/creat-safer.c: New file.
78352         * lib/fcntl--.h (creat): Define to creat_safer.
78353         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
78354         * lib/unistd--.h (pipe): Define to pipe_safer.
78355         * lib/unistd-safer.h: Declare pipe_safer.
78356
78357 2005-08-26  Simon Josefsson  <jas@extundo.com>
78358
78359         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
78360         Haible <bruno@clisp.org>.
78361
78362 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
78363
78364         * lib/regex_internal.h: Remove all references to
78365         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
78366         or better.
78367         (bitset_not, bitset_merge, bitset_not_merge):
78368         (bitset_mask, re_string_allocate, re_string_construct):
78369         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
78370         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
78371         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
78372         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
78373         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78374         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78375         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
78376         (re_acquire_state_context):
78377         Remove unnecessary forward decls.
78378         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
78379         Put __attribute at function definition,
78380         now that the function decl has been removed.
78381         * lib/regex_internal.c (re_string_peek_byte_case):
78382         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
78383         Likewise.
78384
78385 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
78386
78387         * m4/regex.m4: Add AC_PREREQ(2.50).
78388         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
78389
78390 2005-08-25  Simon Josefsson  <jas@extundo.com>
78391
78392         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
78393         __fsetlocking.
78394
78395 2005-08-25  Simon Josefsson  <jas@extundo.com>
78396
78397         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
78398         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
78399         GLIBC specific code.
78400
78401 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78402
78403         Make regex safe for g++.  This fixes one real bug (an "err"
78404         that should have been "*err").  g++ problem reported by
78405         Sam Steingold.
78406         * lib/regex_internal.h (re_calloc): New macro, consistent with
78407         re_malloc etc.  All callers of calloc changed to use re_calloc.
78408         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
78409         not int.  All callers changed.
78410         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
78411         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
78412         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
78413         (find_recover_state): Change "err" to "*err"; this fixes what
78414         appears to be a real bug.
78415         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
78416         versus int.
78417
78418 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78419
78420         * modules/regex (Depends-on): Add malloc, since the code
78421         assumes that !malloc(0) means failure.
78422
78423 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78424
78425         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
78426
78427         alloca modernization/simplification for regex.
78428         * lib/regex.c: Remove portability cruft for alloca.  This no longer
78429         needs to be at the start of the file, and can be moved into
78430         regex_internal.h and simplified.
78431         * lib/regex_internal.h: Include <alloca.h>.
78432         (__libc_use_alloca) [!defined _LIBC]: New macro.
78433         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
78434         now works outside glibc.
78435
78436 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78437
78438         * config/srclist.txt: Add glibc bugs 1241, 1245.
78439
78440 2005-08-25  Jim Meyering  <jim@meyering.net>
78441
78442         * lib/open-safer.c: Include <config.h>.
78443         Otherwise, we'd lose LARGEFILE support in any file using
78444         e.g. "fcntl--.h"
78445
78446 2005-08-25  Bruno Haible  <bruno@clisp.org>
78447
78448         * m4/minmax.m4: Require autoconf 2.52.
78449         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
78450         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
78451         alternatives of translit over the alphabet.
78452         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
78453
78454 2005-08-24  Simon Josefsson  <jas@extundo.com>
78455
78456         * tests/test-getpass.c: New file.
78457
78458 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78459
78460         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
78461         for GNU regex features.
78462
78463 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78464
78465         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
78466         * lib/regex.h (regerror): Likewise.
78467
78468         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
78469         requires this.  (The code never needed it.)
78470
78471         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
78472         All uses of recently-renamed identifiers changed to use the new,
78473         POSIX-compliant names.  The code will build and run just fine
78474         without these changes, but it's better to eat our own dog food
78475         and use the standard-conforming names.
78476
78477         * lib/regex.h: Fix a multitude of POSIX name space violations.
78478         These changes have an effect only for programs that define
78479         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
78480         do not change anything for programs compiled in the normal way.
78481         Also, there is no effect on the ABI.
78482
78483         (_REGEX_SOURCE): New macro.
78484         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
78485         defined and _GNU_SOURCE is not; this fixes a name space violation.
78486
78487         Rename the following macros to obey POSIX requirements.
78488         The old names are still visible as macros if _REGEX_SOURCE is defined.
78489         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
78490         RE_BACKSLASH_ESCAPE_IN_LISTS.
78491         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
78492         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
78493         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
78494         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
78495         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
78496         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
78497         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
78498         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
78499         (REG_INTERVALS): renamed from RE_INTERVALS.
78500         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
78501         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
78502         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
78503         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
78504         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
78505         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
78506         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
78507         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
78508         RE_UNMATCHED_RIGHT_PAREN_ORD.
78509         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
78510         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
78511         (REG_DEBUG): renamed from RE_DEBUG.
78512         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
78513         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
78514         unusual, since we can't clash with the POSIX REG_ICASE.
78515         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
78516         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
78517         (REG_NO_SUB): renamed from RE_NO_SUB.
78518         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
78519         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
78520         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
78521         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
78522         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
78523         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
78524         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
78525         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
78526         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
78527         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
78528         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
78529         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
78530         RE_SYNTAX_POSIX_MINIMAL_BASIC.
78531         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
78532         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
78533         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
78534         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
78535         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
78536         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
78537         (REG_FIXED): Renamed from REGS_FIXED.
78538         (REG_NREGS): Renamed from RE_NREGS.
78539
78540         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
78541         of other REG_* macros, since POSIX says the user is allowed to
78542         #undef these macros selectively.
78543
78544         (reg_errcode_t): Update comment stating what other tables need
78545         to be consistent.
78546
78547         Rename the following enum values to obey POSIX requirements.
78548         The old names are still visible as macros.
78549         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
78550         is not defined, since GNU is supposed to be a superset of POSIX as
78551         much as possible, and since we want reg_errcode_t to be a signed
78552         type for implementation consistency.
78553         (_REG_NOERROR): Renamed from REG_NOERROR.
78554         (_REG_NOMATCH): Renamed from REG_NOMATCH.
78555         (_REG_BADPAT): Renamed from REG_BADPAT.
78556         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
78557         (_REG_ECTYPE): Renamed from REG_ECTYPE.
78558         (_REG_EESCAPE): Renamed from REG_EESCAPE.
78559         (_REG_ESUBREG): Renamed from REG_ESUBREG.
78560         (_REG_EBRACK): Renamed from REG_EBRACK.
78561         (_REG_EPAREN): Renamed from REG_EPAREN.
78562         (_REG_EBRACE): Renamed from REG_EBRACE.
78563         (_REG_BADBR): Renamed from REG_BADBR.
78564         (_REG_ERANGE): Renamed from REG_ERANGE.
78565         (_REG_ESPACE): Renamed from REG_ESPACE.
78566         (_REG_BADRPT): Renamed from REG_BADRPT.
78567         (_REG_EEND): Renamed from REG_EEND.
78568         (_REG_ESIZE): Renamed from REG_ESIZE.
78569         (_REG_ERPAREN): Renamed from REG_ERPAREN.
78570         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
78571         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
78572         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
78573         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
78574
78575         (_REG_RE_NAME, _REG_RM_NAME): New macros.
78576         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
78577         changed.  But support the old name if the new one is not defined
78578         and if _REGEX_SOURCE.
78579
78580         Change the following member names in struct re_pattern_buffer.
78581         The old names are still supported if !_REGEX_SOURCE.
78582         The new names are always supported, regardless of _REGEX_SOURCE.
78583         (re_buffer): Renamed from buffer.
78584         (re_allocated): Renamed from allocated.
78585         (re_used): Renamed from used.
78586         (re_syntax): Renamed from syntax.
78587         (re_fastmap): Renamed from fastmap.
78588         (re_translate): Renamed from translate.
78589         (re_can_be_null): Renamed from can_be_null.
78590         (re_regs_allocated): Renamed from regs_allocated.
78591         (re_fastmap_accurate): Renamed from fastmap_accurate.
78592         (re_no_sub): Renamed from no_sub.
78593         (re_not_bol): Renamed from not_bol.
78594         (re_not_eol): Renamed from not_eol.
78595         (re_newline_anchor): Renamed from newline_anchor.
78596
78597         Change the following member names in struct re_registers.
78598         The old names are still supported if !_REGEX_SOURCE.
78599         The new names are always supported, regardless of _REGEX_SOURCE.
78600         (rm_num_regs): Renamed from num_regs.
78601         (rm_start): Renamed from start.
78602         (rm_end): Renamed from end.
78603
78604         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
78605         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
78606         Prepend __ to parameter names.
78607
78608         Undo yesterday's changes.
78609
78610 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78611
78612         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
78613         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
78614         lib/regex.c.
78615
78616 2005-08-24  Jim Meyering  <jim@meyering.net>
78617
78618         Sync from coreutils.
78619         * m4/fcntl-safer.m4: New file.
78620
78621         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
78622         and object files for this module.
78623
78624 2005-08-24  Jim Meyering  <jim@meyering.net>
78625
78626         Sync from coreutils.
78627         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
78628
78629 2005-08-24  Jim Meyering  <jim@meyering.net>
78630
78631         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
78632         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
78633
78634 2005-08-24  Jim Meyering  <jim@meyering.net>
78635
78636         * modules/fcntl-safer: New module.
78637         * modules/fts (Depends-on): Add fcntl-safer.
78638         * MODULES.html.sh (File descriptor based Input/Output):
78639         Add fcntl-safer.
78640
78641 2005-08-24  Bruno Haible  <bruno@clisp.org>
78642
78643         Support for unit test modules.
78644         * modules/README: Mention tests modules.
78645         * modules/TEMPLATE-TESTS: New file.
78646         * gnulib-tool: New options --extract-tests-module, --with-tests and
78647         --tests-base (unused for the moment).
78648         (testsbase, inctests): New variables.
78649         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
78650         (func_verify_module): Exclude TEMPLATE-TESTS.
78651         (func_verify_nontests_module, func_verify_tests_module): New functions.
78652         (func_get_dependencies): Add implicit dependency for tests modules.
78653         (func_get_tests_module): New function.
78654         (func_modules_transitive_closure): When --with-tests was specified,
78655         include the unit tests as well, unless explicitly avoided.
78656         (func_emit_lib_Makefile_am): Ignore the tests modules here.
78657         (func_emit_tests_Makefile_am): New function.
78658         (func_create_testdir): When --with-tests was specified, emit a
78659         tests/ directory.
78660         * MODULES.html.sh (Future developments): Update.
78661
78662 2005-08-24  Bruno Haible  <bruno@clisp.org>
78663
78664         * modules/tls-tests: New file.
78665         * tests/test-tls.c: New file, from GNU gettext.
78666
78667 2005-08-24  Bruno Haible  <bruno@clisp.org>
78668
78669         * modules/lock-tests: New file.
78670         * tests/test-lock.c: New file, from GNU gettext.
78671
78672 2005-08-24  Bruno Haible  <bruno@clisp.org>
78673
78674         * lib/lock.h: Add multiple inclusion guard.
78675         * lib/tls.h: Add multiple inclusion guard.
78676
78677 2005-08-24  Bruno Haible  <bruno@clisp.org>
78678
78679         * gnulib-tool: Add support for the --aux-dir option to
78680         --create-testdir, --create-megatestdir, --test, --megatest.
78681         (func_create_testdir, func_create_megatestdir): Optionally emit a
78682         AC_CONFIG_AUX_DIR directive.
78683         (create-testdir, create-megatestdir, test, megatest): Provide a
78684         default value for $auxdir.
78685
78686 2005-08-24  Bruno Haible  <bruno@clisp.org>
78687
78688         * gnulib-tool (import): Use compound statement instead of subshell
78689         where possible.
78690
78691 2005-08-24  Bruno Haible  <bruno@clisp.org>
78692
78693         * gnulib-tool (import): Change --aux-dir default to "build-aux".
78694
78695 2005-08-24  Bruno Haible  <bruno@clisp.org>
78696
78697         * gnulib-tool (func_version): Update.
78698
78699 2005-08-24  Bruno Haible  <bruno@clisp.org>
78700
78701         * gnulib-tool (func_import, func_create_testdir,
78702         func_create_megatestdir): Quote all autoconf macro arguments.
78703
78704 2005-08-24  Bruno Haible  <bruno@clisp.org>
78705
78706         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
78707         option --force, because --force causes the aclocal.m4 of each
78708         subdirectory to be newer than the corresponding config.h.in.
78709
78710 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78711
78712         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
78713         All contents moved to gl_REGEX.
78714         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
78715         assume that it does.
78716
78717 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78718
78719         * lib/regex.h (REG_NOSYS)
78720         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
78721         Define, since POSIX requires it as of 2001.
78722         (_REG_ENOSYS)
78723         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
78724         New private symbol, used to keep the enum signed in all cases.
78725         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
78726         Youngman in
78727         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
78728
78729         * lib/regex_internal.c (re_string_skip_chars, register_state):
78730         (calc_state_hash):
78731         Remove forward decls; no longer needed now that we use prototypes.
78732         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
78733         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
78734         (clean_state_log_if_needed): Likewise.
78735
78736 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78737
78738         * config/srclist.txt: Add glibc bugs 1231-1233.
78739
78740 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78741
78742         Fix problems reported by Sam Steingold in
78743         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
78744         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
78745         assumed that reg_errcode_t is a signed type, which is not
78746         necessarily true if _XOPEN_SOURCE is not defined.
78747         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
78748         since some compilers warn about it otherwise.
78749
78750 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78751
78752         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
78753         (init_word_char, create_initial_state, duplicate_node_closure):
78754         (fetch_token, peek_token_bracket, build_range_exp):
78755         (build_collating_symbol): Remove forward decls; no longer needed
78756         now that we use prototypes.
78757
78758         * lib/regcomp.c:
78759         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
78760         (re_compile_fastmap_iter, regcomp, regerror, regfree):
78761         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
78762         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
78763         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
78764         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
78765         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
78766         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
78767         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
78768         (build_range_exp, build_collating_symbol, parse_bracket_exp):
78769         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
78770         (build_charclass, build_charclass_op, fetch_number, create_tree):
78771         (create_token_tree, mark_opt_subexp, duplicate_tree):
78772         Use prototypes rather than old-style definitions.
78773
78774         * lib/regex_internal.c:
78775         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
78776         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
78777         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
78778         (re_string_reconstruct, re_string_peek_byte_case):
78779         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
78780         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
78781         (re_node_set_init_copy, re_node_set_add_intersect):
78782         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78783         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78784         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
78785         (re_acquire_state, re_acquire_state_context, register_state):
78786         (create_ci_newstate, create_cd_newstate, free_state):
78787         Likewise.
78788         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
78789         re_search_2):
78790         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
78791         (re_search_internal, prune_impossible_nodes):
78792         (acquire_init_state_context, check_matching, static):
78793         (check_halt_node_context, check_halt_state_context, proceed_next_node):
78794         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
78795         (update_regs, sift_states_backward, build_sifted_states):
78796         (clean_state_log_if_needed, merge_state_array):
78797         (update_cur_sifted_state, add_epsilon_src_nodes):
78798         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
78799         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
78800         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
78801         (find_recover_state, check_subexp_matching_top, transit_state_mb):
78802         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
78803         (check_arrival, check_arrival_add_next_nodes):
78804         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78805         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
78806         (check_node_accept_bytes, check_node_accept, extend_buffers):
78807         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
78808         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
78809         (sift_ctx_init):
78810         Likewise.
78811
78812         * lib/regex_internal.h:
78813         (re_string_allocate, re_string_construct, re_string_reconstruct):
78814         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
78815         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
78816         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
78817         (re_string_context_at, re_string_peek_byte_case):
78818         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
78819         is defined, since we now use prototypes always.
78820
78821         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
78822         C89 or better.  All uses removed.
78823
78824 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78825
78826         * config/srclist.txt: Add glibc bugs 1220-1227.
78827
78828 2005-08-20  Jim Meyering  <jim@meyering.net>
78829
78830         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
78831         of unused local, dfa.
78832
78833 2005-08-20  Bruno Haible  <bruno@clisp.org>
78834
78835         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
78836
78837 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78838
78839         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
78840         (re_node_set_insert_last, re_dfa_add_node):
78841         Rename local variables to avoid GCC shadowing warnings.
78842
78843 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78844
78845         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
78846         [defined lint]: Suppress bogus uninitialized-variable warnings.
78847
78848         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
78849         and let the caller return REG_ESPACE if out of space.  This
78850         removes an uninitialied-variable warning with GCC 4.0.1, and also
78851         avoids taking the address of a local variable.  All callers
78852         changed.
78853
78854 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78855
78856         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
78857         $LIBCSRC/posix/regexec.c.
78858         Add glibc bug 1217 for regcomp.c.
78859
78860 2005-08-19  Jim Meyering  <jim@meyering.net>
78861
78862         * lib/regexec.c (proceed_next_node): Redo local variables to
78863         avoid GCC shadowing warnings.
78864
78865 2005-08-18  Bruno Haible  <bruno@clisp.org>
78866
78867         * lib/strstr.c (strstr): Fix return value in multibyte case.
78868         * lib/strcasestr.c (strcasestr): Likewise.
78869
78870 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78871
78872         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
78873
78874 2005-08-17  Jim Meyering  <jim@meyering.net>
78875
78876         Make the %s format (seconds since the epoch) work for a negative
78877         number and when used with a zero-padded field width, e.g. %015s.
78878
78879         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
78880         label so that it precedes the code to set `digits'.  Otherwise,
78881         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
78882         print `00-22'.  Now, it prints `-0022', as it should.
78883
78884 2005-08-17  Bruno Haible  <bruno@clisp.org>
78885
78886         * modules/strstr (Files): Add m4/mbrtowc.m4.
78887         (Depends-on): Add mbuiter.
78888
78889 2005-08-17  Bruno Haible  <bruno@clisp.org>
78890
78891         * modules/strcasestr: New file.
78892         * MODULES.html.sh (String handling, based on ANSI C 89): Add
78893         strcasestr.
78894
78895 2005-08-17  Bruno Haible  <bruno@clisp.org>
78896
78897         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
78898
78899 2005-08-17  Bruno Haible  <bruno@clisp.org>
78900
78901         * modules/mbuiter: New file.
78902         * MODULES.html.sh (Extended multibyte and wide character utilities):
78903         Add mbuiter.
78904
78905 2005-08-17  Bruno Haible  <bruno@clisp.org>
78906
78907         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
78908         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
78909
78910 2005-08-17  Bruno Haible  <bruno@clisp.org>
78911
78912         * m4/strcasestr.m4: New file.
78913
78914 2005-08-17  Bruno Haible  <bruno@clisp.org>
78915
78916         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
78917         * lib/strstr.c: Completely rewritten, with multibyte locale support.
78918
78919 2005-08-17  Bruno Haible  <bruno@clisp.org>
78920
78921         * lib/strcasestr.h: New file.
78922         * lib/strcasestr.c: New file.
78923
78924 2005-08-17  Bruno Haible  <bruno@clisp.org>
78925
78926         * lib/strcasecmp.c: Use mbuiter.h.
78927
78928 2005-08-17  Bruno Haible  <bruno@clisp.org>
78929
78930         * lib/mbuiter.h: New file.
78931
78932 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
78933
78934         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
78935         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
78936         and gl_GETOPT are both invoked via different paths (as happens
78937         with GNU tar CVS because it uses both argp and getopt), the former
78938         wins.
78939
78940 2005-08-16  Bruno Haible  <bruno@clisp.org>
78941
78942         * modules/tls: New file.
78943         * MODULES.html.sh (Multithreading): Add tls.
78944
78945 2005-08-16  Bruno Haible  <bruno@clisp.org>
78946
78947         * modules/strnlen1: New file.
78948         * MODULES.html.sh (String handling): Add strnlen1.
78949
78950 2005-08-16  Bruno Haible  <bruno@clisp.org>
78951
78952         * modules/strcase (Files): Add m4/mbrtowc.m4.
78953         (Depends-on): Add strnlen1, mbchar.
78954
78955 2005-08-16  Bruno Haible  <bruno@clisp.org>
78956
78957         * modules/mbiter: New file.
78958         * MODULES.html.sh (Extended multibyte and wide character utilities):
78959         Add mbiter.
78960
78961 2005-08-16  Bruno Haible  <bruno@clisp.org>
78962
78963         * modules/mbfile: New file.
78964         * MODULES.html.sh (Extended multibyte and wide character utilities):
78965         Add mbfile.
78966
78967 2005-08-16  Bruno Haible  <bruno@clisp.org>
78968
78969         * modules/mbchar: New file.
78970         * MODULES.html.sh (Extended multibyte and wide character utilities):
78971         New section.
78972
78973 2005-08-16  Bruno Haible  <bruno@clisp.org>
78974
78975         * m4/tls.m4: New file, from GNU gettext.
78976
78977 2005-08-16  Bruno Haible  <bruno@clisp.org>
78978
78979         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
78980         always.
78981         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
78982
78983 2005-08-16  Bruno Haible  <bruno@clisp.org>
78984
78985         * m4/mbiter.m4: New file.
78986
78987 2005-08-16  Bruno Haible  <bruno@clisp.org>
78988
78989         * m4/mbfile.m4: New file.
78990
78991 2005-08-16  Bruno Haible  <bruno@clisp.org>
78992
78993         * m4/mbchar.m4: New file.
78994
78995 2005-08-16  Bruno Haible  <bruno@clisp.org>
78996
78997         * lib/tls.h: New file, from GNU gettext.
78998         * lib/tls.c: New file, from GNU gettext.
78999
79000 2005-08-16  Bruno Haible  <bruno@clisp.org>
79001
79002         * lib/strnlen1.h: New file.
79003         * lib/strnlen1.c: New file.
79004
79005 2005-08-16  Bruno Haible  <bruno@clisp.org>
79006
79007         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
79008         (mbi_init): Update.
79009         (mbi_avail, mbi_advance): Let the iteration end before the terminating
79010         NUL byte, not after it.
79011
79012 2005-08-16  Bruno Haible  <bruno@clisp.org>
79013
79014         * lib/strcase.h (strcasecmp): Add note in comments.
79015         * lib/strncasecmp.c: Use code from strcasecmp.c.
79016         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
79017         (strcasecmp): Work correctly in multibyte locales.
79018
79019 2005-08-16  Bruno Haible  <bruno@clisp.org>
79020
79021         * lib/mbiter.h: New file.
79022
79023 2005-08-16  Bruno Haible  <bruno@clisp.org>
79024
79025         * lib/mbfile.h: New file.
79026
79027 2005-08-16  Bruno Haible  <bruno@clisp.org>
79028
79029         * lib/mbchar.h: New file.
79030         * lib/mbchar.c: New file.
79031
79032 2005-08-16  Bruno Haible  <bruno@clisp.org>
79033
79034         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
79035         the valid ones. Makes the comparison operations transitive:
79036         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
79037         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
79038
79039 2005-08-15  Simon Josefsson  <jas@extundo.com>
79040
79041         * modules/ssize_t (License): Change to 'unlimited'.
79042
79043         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
79044
79045 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79046
79047         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
79048         Add comments for each pending glibc patch.
79049
79050 2005-08-15  Bruno Haible  <bruno@clisp.org>
79051
79052         * lib/regex.h (__restrict_arr): Don't define to __restrict if
79053         __cplusplus is defined.
79054
79055 2005-08-14  Jim Meyering  <jim@meyering.net>
79056
79057         Sync from coreutils.
79058
79059         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
79060         Use the hash-table-based cycle-detection code not just when
79061         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
79062         Reported by James Youngman in
79063         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
79064         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
79065         FTS_TIGHT_CYCLE_CHECK.
79066         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
79067         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
79068         once again.
79069         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
79070         * lib/fts.c (fd_safer): Remove decl.
79071         Include fcntl--.h rather than unistd-safer.h
79072         (fts_safe_changedir): Don't call fd_safer; no longer needed
79073         now that we include fcntl--.h.
79074
79075 2005-08-12  Simon Josefsson  <jas@extundo.com>
79076
79077         * modules/getndelim2: Use ssize_t module.
79078         * modules/getnline: Likewise.
79079         * modules/safe-read: Likewise.
79080         * modules/xreadlink: Likewise.
79081
79082         * modules/ssize_t: New file.
79083
79084 2005-08-12  Simon Josefsson  <jas@extundo.com>
79085
79086         * m4/readline.m4: Look for termcap, curses or ncurses if required.
79087
79088 2005-08-12  Simon Josefsson  <jas@extundo.com>
79089
79090         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79091         ssize_t.
79092
79093 2005-08-12  Simon Josefsson  <jas@extundo.com>
79094
79095         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
79096         readline, getdelim and check_version.
79097         (Support for systems lacking ISO C 99: Sizes of integer types):
79098         Add size_max.
79099
79100 2005-08-12  Bruno Haible  <bruno@clisp.org>
79101
79102         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
79103
79104 2005-08-11  Simon Josefsson  <jas@extundo.com>
79105
79106         * modules/readline: New file.
79107
79108         * modules/strnlen (Files): Add strnlen.h.
79109
79110 2005-08-11  Simon Josefsson  <jas@extundo.com>
79111
79112         * m4/readline.m4: New file.
79113
79114 2005-08-11  Simon Josefsson  <jas@extundo.com>
79115
79116         * lib/readline.h, readline.c: New file.
79117
79118 2005-08-11  Simon Josefsson  <jas@extundo.com>
79119
79120         * doc/gnulib.texi (Initial import, Finishing touches): Mention
79121         gl_AVOID.
79122
79123 2005-08-11  Bruno Haible  <bruno@clisp.org>
79124
79125         * lib/strnlen.h (strnlen): Change parameter name to match comment.
79126
79127 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
79128
79129         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
79130
79131 2005-08-10  Simon Josefsson  <jas@extundo.com>
79132
79133         * tests/test-iconvme.c: New file.
79134
79135 2005-08-10  Simon Josefsson  <jas@extundo.com>
79136
79137         * m4/strnlen.m4: New file.
79138
79139         * m4/strndup.m4: Don't check for strnlen declaration, done in
79140         strnlen.m4.
79141
79142 2005-08-10  Simon Josefsson  <jas@extundo.com>
79143
79144         * lib/strndup.c: Use strnlen.h.
79145
79146         * lib/strnlen.h: New file.
79147
79148 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79149
79150         * README: Typos.
79151
79152 2005-08-02  Simon Josefsson  <jas@extundo.com>
79153
79154         * modules/readline: New file.
79155
79156 2005-08-02  Simon Josefsson  <jas@extundo.com>
79157
79158         * modules/getdelim: New file.
79159
79160         * modules/getline: Rewrite, don't use getndelim2.
79161
79162 2005-08-02  Simon Josefsson  <jas@extundo.com>
79163
79164         * m4/getline.m4: Separate out getdelim stuff into separate module.
79165
79166         * m4/getdelim.m4: New file.
79167
79168 2005-08-02  Simon Josefsson  <jas@extundo.com>
79169
79170         * lib/getline.h, getline.c: Rewrite.
79171
79172         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
79173
79174 2005-07-31  Bruno Haible  <bruno@clisp.org>
79175
79176         * lib/lock.h (gl_lock_initializer): New macro.
79177         (gl_lock_define_initialized): Use it.
79178         (gl_rwlock_initializer): New macro.
79179         (gl_rwlock_define_initialized): Use it.
79180         (gl_recursive_lock_initializer): New macro.
79181         (gl_recursive_lock_define_initialized): Use it.
79182
79183 2005-07-30  Karl Berry  <karl@gnu.org>
79184
79185         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
79186         Report from Ben Pfaff, regarding getopt.
79187
79188 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
79189
79190         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
79191         normal way.
79192         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
79193         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
79194         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
79195         (gl_GETOPT): Use the new macros.  Most of the implementation
79196         is moved to the new macros.  This is for programs like Emacs
79197         that don't want all the functionality of gl_GETOPT.
79198
79199 2005-07-26  Bruno Haible  <bruno@clisp.org>
79200
79201         * m4/lock.m4: Update from GNU gettext.
79202
79203 2005-07-26  Bruno Haible  <bruno@clisp.org>
79204
79205         * lib/lock.h: Update from GNU gettext.
79206         * lib/lock.c: Update from GNU gettext.
79207
79208 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
79209
79210         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
79211         obsolescent AC_TRY_RUN.  Include the default includes files, for
79212         'exit'.
79213
79214 2005-07-24  Bruno Haible  <bruno@clisp.org>
79215
79216         * modules/visibility: New file.
79217         * MODULES.html.sh (Misc): Add visibility.
79218
79219 2005-07-24  Bruno Haible  <bruno@clisp.org>
79220
79221         * m4/visibility.m4: New file.
79222
79223 2005-07-24  Bruno Haible  <bruno@clisp.org>
79224
79225         * doc/visibility.texi: New file.
79226
79227 2005-07-22  Bruno Haible  <bruno@clisp.org>
79228
79229         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
79230         $(ALLOCA_H), redundant through BUILT_SOURCES.
79231         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
79232         redundant through BUILT_SOURCES.
79233         * modules/byteswap (Makefile.am): Remove explicit dependency on
79234         $(BYTESWAP_H), redundant through BUILT_SOURCES.
79235         * modules/fnmatch (Makefile.am): Remove explicit dependency on
79236         $(FNMATCH_H), redundant through BUILT_SOURCES.
79237         * modules/getopt (Makefile.am): Remove explicit dependency on
79238         $(GETOPT_H), redundant through BUILT_SOURCES.
79239         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
79240         redundant through BUILT_SOURCES.
79241         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
79242         redundant through BUILT_SOURCES.
79243         * modules/stdbool (Makefile.am): Remove explicit dependency on
79244         $(STDBOOL_H), redundant through BUILT_SOURCES.
79245         * modules/stdint (Makefile.am): Remove explicit dependency on
79246         $(STDINT_H), redundant through BUILT_SOURCES.
79247         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
79248         Remove explicit dependency on $(SYSEXITS_H).
79249         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
79250
79251 2005-07-18  Simon Josefsson  <jas@extundo.com>
79252
79253         * lib/check-version.c (check_version): Accept identical versions too.
79254
79255 2005-07-18  Bruno Haible  <bruno@clisp.org>
79256
79257         * modules/lock: New file.
79258         * MODULES.html.sh (Multithreading): New section.
79259
79260 2005-07-18  Bruno Haible  <bruno@clisp.org>
79261
79262         * m4/lock.m4: New file, from GNU gettext.
79263
79264 2005-07-18  Bruno Haible  <bruno@clisp.org>
79265
79266         * lib/lock.h: New file, from GNU gettext.
79267         * lib/lock.c: New file, from GNU gettext.
79268
79269 2005-07-18  Bruno Haible  <bruno@clisp.org>
79270
79271         * lib/lock.h (gl_once_t): New type.
79272         (gl_once_define, gl_once): New macros.
79273         * lib/lock.c (fresh_once): New variable.
79274         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
79275         functions.
79276
79277 2005-07-16  Simon Josefsson  <jas@extundo.com>
79278
79279         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
79280         workaround, suggested by Bruno.
79281
79282 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
79283
79284         * modules/xalloc (Depends-on): Add xalloc-die.
79285         * modules/xvasprintf (Depends-on): Add xalloc-die.
79286
79287 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
79288
79289         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
79290         with a minor change.
79291
79292 2005-07-15  Bruno Haible  <bruno@clisp.org>
79293
79294         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
79295         When using lib/poll.c, define poll as rpl_poll.
79296
79297 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
79298
79299         * modules/argp (Depends-on): Remove unlocked-io.
79300
79301 2005-07-14  Derek Price  <derek@ximbiot.com>
79302
79303         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
79304         for glob symlink bug.
79305
79306 2005-07-14  Bruno Haible  <bruno@clisp.org>
79307
79308         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
79309         Instead, test for *_unlocked function declarations directly.
79310
79311 2005-07-11  Simon Josefsson  <jas@extundo.com>
79312
79313         * modules/size_max: New file.
79314
79315         * modules/xsize: Depend on size_max module for size_max.m4.
79316
79317 2005-07-11  Simon Josefsson  <jas@extundo.com>
79318
79319         * lib/size_max.h: New file.
79320
79321 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
79322
79323         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
79324         copyright symbol and the year.
79325         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
79326         (version_etc_va): Use parameterized copyright notice.
79327         Reword to conform to the current GNU coding standards.
79328
79329 2005-07-11  Karl Berry  <karl@gnu.org>
79330
79331         * doc/gnulib.texi (Quoting): new node.
79332         (Initial import): more info, from Patrice.
79333
79334 2005-07-11  Bruno Haible  <bruno@clisp.org>
79335
79336         * gnulib-tool (func_usage): Document option --avoid.
79337         (Command line options): Handle --avoid.
79338         (func_acceptable): New function.
79339         (func_modules_transitive_closure): Use it.
79340
79341 2005-07-11  Bruno Haible  <bruno@clisp.org>
79342
79343         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
79344         Reported by Jim Meyering.
79345
79346 2005-07-10  Bruno Haible  <bruno@clisp.org>
79347
79348         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
79349         Needed when size_t is smaller than 'unsigned int'.
79350         Reported by Paul Eggert.
79351
79352 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79353
79354         * modules/argp (Depends-on): Add unlocked-io
79355
79356 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79357
79358         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
79359         block of defines.
79360
79361 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
79362
79363         * config/srclist.txt: Comment out regcomp.c, since we have a porting
79364         fix now.
79365
79366 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
79367         and Paul Eggert  <eggert@cs.ucla.edu>
79368
79369         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
79370         in wint_t, not wchar_t.  Remove now-unnecessary cast.
79371
79372 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79373
79374         * modules/regex (Files): Add lib/regex_internal.c,
79375         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
79376         (Depends-on): Add extensions.
79377         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
79378
79379 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79380
79381         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
79382         pathconf.
79383         * m4/same.m4 (gl_SAME): Likewise.
79384         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
79385
79386         * m4/regex.m4: Adjust to new libc regex implementation.
79387         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
79388         all the .c and .h parts of (the new) regex.
79389         Quote the m4 stuff better.
79390         Check for RE_ICASE bug of old gnulib.
79391         Check for REG_STARTEND of recent libc.
79392         Rename local variables from jm_* to gl_*.
79393         Quote operand of "test -f".
79394         Say "recent enough" version of libc, not "version 2".
79395         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
79396         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
79397         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
79398         Remove check for btowc, isascii.
79399         Require AM_LANGINFO_CODESET.
79400
79401 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79402
79403         * lib/regex.c, regex.h: Sync from libc.
79404         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
79405         * lib/regexec.c:
79406         New files, synced from libc, except that regex_internal.h
79407         currently has a small porting fix.
79408
79409 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79410
79411         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
79412         regex_internal.c, regexec.c.
79413         Add regex_internal.h too, but as a comment, since the libc version
79414         is currently broken in gnulib mode.
79415
79416 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
79417
79418         Support programs like Emacs that use gnulib but not gettext.
79419         * MODULES.html.sh (Internationalization functions): Add gettext-h.
79420         * modules/gettext-h: New file.
79421         * modules/gettext (Files): Remove lib/gettext.h.
79422         (Depends-on): Add gettext-h.
79423         (Makefile.am): Remove lib_SOURCES.
79424         * modules/argmatch, modules/c-stack, modules/closeout:
79425         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
79426         * modules/execute, modules/file-type, modules/getaddrinfo:
79427         * modules/getopt, modules/human, modules/javacomp:
79428         * modules/javaexec, modules/mkdir-p, modules/obstack:
79429         * modules/openat, modules/pagealign_alloc, modules/pipe:
79430         * modules/quotearg, modules/regex, modules/rpmatch:
79431         * modules/unicodeio, modules/userspec, modules/version-etc:
79432         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
79433         * modules/xsetenv:
79434         Depend on gettext-h, not gettext.
79435
79436 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
79437
79438         * gnulib-tool (func_import): Add support for 'public domain' license.
79439         * modules/alloca, modules/atexit, modules/memmove:
79440         Now public domain, not GPL.
79441         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
79442         * modules/realloc, modules/strerror, modules/strtod:
79443         Now LGPL, not GPL.
79444
79445 2005-07-05  Bruno Haible  <bruno@clisp.org>
79446
79447         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
79448         autoconf CVS. Needed for mingw.
79449
79450 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79451
79452         Remove the dependency of the strftime module on the tzset module.
79453         * modules/strftime (Depends-on): Remove dependency on tzset.
79454
79455 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79456
79457         Remove the dependency of the strftime module on the tzset module.
79458         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
79459         gl_FUNC_TZSET_CLOBBER.
79460
79461 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79462
79463         Remove the dependency of the strftime module on the tzset module.
79464         * lib/strftime.c (my_strftime)
79465         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
79466         Copy the input structure, to work around some of the bug with
79467         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
79468         Solaris releases, you should also use the tzset module, but we won't
79469         require it as a dependency any more since we don't want LGPLed code
79470         to depend on GPLed code.
79471
79472 2005-07-02  Jim Meyering  <jim@meyering.net>
79473
79474         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
79475         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
79476         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
79477         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
79478
79479 2005-07-02  Jim Meyering  <jim@meyering.net>
79480
79481         * lib/backupfile.c (backup_args): Change a `0' to NULL.
79482
79483 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79484
79485         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
79486         declares only 'struct timespec;' (!).
79487
79488 2005-07-01  Jim Meyering  <jim@meyering.net>
79489
79490         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
79491         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
79492         * lib/save-cwd.c, tempname.c:
79493         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
79494         and don't include <sys/file.h>).
79495
79496 2005-06-29  Jim Meyering  <jim@meyering.net>
79497
79498         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
79499         type name.  Use the variable name instead.
79500         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
79501         Likewise.
79502
79503 2005-06-28  Simon Josefsson  <jas@extundo.com>
79504
79505         * modules/check-version (Files): Add check-version.m4.
79506
79507 2005-06-28  Simon Josefsson  <jas@extundo.com>
79508
79509         * m4/check-version.m4: New file, suggested by Jim Meyering
79510         <jim@meyering.net>.
79511
79512 2005-06-28  Simon Josefsson  <jas@extundo.com>
79513
79514         * lib/check-version.h, lib/check-version.c: New files.
79515
79516 2005-06-28  Simon Josefsson  <jas@extundo.com>
79517
79518         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
79519         collision with global variable.  Better indentation.  Don't
79520         increment buffer pointer beyond buffer end.  Based on comments
79521         from Paul Eggert <eggert@cs.ucla.edu>.
79522
79523         * lib/base64.h: Indent.
79524
79525 2005-06-28  Simon Josefsson  <jas@extundo.com>
79526
79527         * doc/gnulib.texi (Library version handling): New section.
79528
79529 2005-06-28  Jim Meyering  <jim@meyering.net>
79530
79531         * check-module (find_included_lib_files): Hard-code another
79532         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
79533         but modules/fts-lgpl (correctly) does not list those files.
79534
79535         * modules/canonicalize (Files): Add lib/pathmax.h.
79536
79537 2005-06-25  Simon Josefsson  <jas@extundo.com>
79538
79539         * modules/check-version: New file.
79540
79541 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
79542
79543         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
79544         initializer of struct addrinfo, as an indication that we don't
79545         care how many members the structure has.
79546
79547 2005-06-24  Derek Price  <derek@ximbiot.com>
79548         and Bruno Haible  <bruno@clisp.org>
79549
79550         Remove stat module & update lstat.
79551         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
79552         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79553         * m4/stat.m4: Remove this file.
79554
79555 2005-06-24  Derek Price  <derek@ximbiot.com>
79556         and Bruno Haible  <bruno@clisp.org>
79557
79558         Remove stat module & update lstat.
79559         * lib/stat.c: Remove this file...
79560         (slash_aware_lstat): ...moving this content and its support...
79561         * lib/lstat.c (rpl_lstat): ...into here.
79562         * lib/lstat.h: New file.
79563
79564 2005-06-24  Derek Price  <derek@ximbiot.com>
79565         and Bruno Haible  <bruno@clisp.org>
79566
79567         Remove stat module & update lstat.
79568         * config/srclist.txt (libc sources): Remove stat.
79569
79570 2005-06-24  Derek Price  <derek@ximbiot.com>
79571         and Bruno Haible  <bruno@clisp.org>
79572
79573         Remove stat module & update lstat.
79574         * MODULES.html.sh (stat): Remove.
79575         * MODULES.html: Regenerated.
79576         * modules/lstat (Description): Correct function name.
79577         (Files): Add "lstat.h".
79578         (Depends-on): Remove stat, add xalloc, stat-macros.
79579         * modules/stat: Remove this file.
79580         (Include): Add "lstat.h", remove <sys/stat.h>.
79581
79582 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
79583
79584         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
79585         (ranged_convert): Don't save conversion in a temporary struct.
79586         This causes a warning with GCC 4.0.0, and anyway in the typical
79587         case it's not worth the extra 100 bytes or so of code.
79588         (ranged_convert, __mktime_internal): When calling a function via a
79589         pointer P, use P () rather than (*P) (), as we now assume C89 or
79590         better.
79591
79592 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79593
79594         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
79595         "who -r" failed to give output.  Problem reported by Tim Waugh.
79596
79597         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
79598         (xcalloc): Use it to avoid needless tests.
79599         Problem reported by Jim Meyering.
79600
79601 2005-06-20  Derek Price  <derek@ximbiot.com>
79602
79603         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
79604         unnecessary for Autoconfs > 2.59c.
79605
79606 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79607
79608         * lib/argp.h (__option_is_short): Check upper limit of
79609         __key. Isprint() requires its argument to have the value
79610         of an unsigned char or EOF.
79611
79612 2005-06-16  Jim Meyering  <jim@meyering.net>
79613
79614         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
79615         when either N or S is zero.
79616
79617 2005-06-16  Derek Price  <derek@ximbiot.com>
79618
79619         * m4/bison.m4: Declare YACC & YFLAGS precious.
79620
79621 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
79622
79623         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
79624         multibyte string or pattern, fall back on unibyte matching.
79625         Problem reported by James Youngman.
79626
79627 2005-06-08  Bruno Haible  <bruno@clisp.org>
79628
79629         * modules/csharpcomp: New file.
79630         * MODULES.html.sh (C#): Add csharpcomp.
79631
79632 2005-06-08  Bruno Haible  <bruno@clisp.org>
79633
79634         * m4/csharpcomp.m4: New file, from GNU gettext.
79635
79636 2005-06-08  Bruno Haible  <bruno@clisp.org>
79637
79638         * lib/csharpcomp.h: New file, from GNU gettext.
79639         * lib/csharpcomp.c: New file, from GNU gettext.
79640         * lib/csharpcomp.sh.in: New file, from GNU gettext.
79641
79642 2005-06-08  Bruno Haible  <bruno@clisp.org>
79643
79644         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
79645         warning on mingw.
79646
79647 2005-06-07  Derek Price  <derek@ximbiot.com>
79648
79649         Sync from CVS.
79650         * lib/glob_.h: Indent nested #ifdef.
79651
79652 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79653
79654         Sync from coreutils.
79655         Use "file name" when talking about file names, instead of "filename"
79656         or "path", as per the GNU coding standards.
79657         * lib/mkdir-p.c: Renamed from makepath.c.
79658         (make_dir_parents): Renamed from make_path.  All callers changed.
79659         * lib/mkdir-p.h: Likewise.  All includers changed.
79660         * lib/filenamecat.c: Renamed from path-concat.c.
79661         (file_name_concat): Renamed from path_concat.  All callers changed.
79662         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
79663         * lib/filenamecat.h: Likewise.  All includers changed.
79664         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
79665         in comments or local variable names.
79666         * lib/basename.c: Likewise.
79667         * lib/canonicalize.c, canonicalize.h: Likewise.
79668         * lib/dirname.c, dirname.h: Likewise.
79669         * lib/euidaccess.c: Likewise.
79670         * lib/exclude.c: Likewise
79671         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
79672         * lib/fsusage.c, fsuage.h: Likewise.
79673         * lib/fts.c, fts_.h: Likewise.
79674         * lib/getcwd.c: Likewise.
79675         * lib/getloadavg.c: Likewise.
79676         * lib/mkstemp.c: Likewise.
79677         * lib/mountlist.c, mountlist.h: Likewise.
79678         * lib/openat.c, openat.h: Likewise.
79679         * lib/readlink-stub.c: Likewise.
79680         * lib/readutmp.c, readutmp.h: Likewise.
79681         * lib/rename.c: Likewise.
79682         * lib/rmdir.c: Likewise.
79683         * lib/same.c: Likewise.
79684         * lib/savedir.c: Likewise.
79685         * lib/stripslash.c: Likewise.
79686         * lib/tempname.c: Likewise.
79687         * lib/xreadlink.c: Likewise.
79688         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
79689         All uses changed.
79690         * lib/exclude.h: Likewise.
79691
79692         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
79693         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79694         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
79695         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79696         * lib/pathmax.h: Include <limits.h> unconditionally, since other
79697         files have been getting away with it for years (MORE/BSD 4.3
79698         is extinct now).
79699         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
79700         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79701
79702         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
79703         Define to 256, not 255, as per modern POSIX.
79704
79705 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79706
79707         Sync from coreutils.
79708         Use "file name" when talking about file names, instead of "filename"
79709         or "path", as per the GNU coding standards.
79710         * MODULES.html.sh: mkdir-p renamed from makepath.
79711         filenamecat renamed from path-concat.
79712         * modules/filenamecat: Renamed from modules/path-concat.
79713         (Files): filenamecat.h and filenamecat.c renamed from
79714         path-concat.h and path-concat.c.
79715         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
79716         (Include): filenamecat.h, not path-concat.h.
79717         * modules/mkdir-p: Renamed from modules/makepath.
79718         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
79719         makepath.c.
79720         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
79721         (Include): mkdir-p.h, not makepath.h.
79722
79723 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79724
79725         Sync from coreutils.
79726         * m4/mkdir-p.m4: Renamed from makepath.m4.
79727         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
79728         Rename files from makepath.c to mkdir-p.c, and from
79729         makepath.h to mkdir-p.h.
79730         * m4/filenamecat.m4: Renamed from path-concat.m4.
79731         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
79732         Rename files from path-concat.c to filenamecat.c,
79733         and from path-concat.h to filenamecat.h.
79734         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
79735         "file name" in local variables or comments.
79736         * m4/rename.m4: Likewise.
79737
79738 2005-06-01  Bruno Haible  <bruno@clisp.org>
79739
79740         * modules/csharpexec: New file.
79741         * MODULES.html.sh (C#): New section.
79742
79743 2005-06-01  Bruno Haible  <bruno@clisp.org>
79744
79745         * m4/csharp.m4: New file, from GNU gettext.
79746         * m4/csharpexec.m4: New file, from GNU gettext.
79747
79748 2005-06-01  Bruno Haible  <bruno@clisp.org>
79749
79750         * lib/csharpexec.h: New file, from GNU gettext.
79751         * lib/csharpexec.c: New file, from GNU gettext.
79752         * lib/csharpexec.sh.in: New file, from GNU gettext.
79753
79754 2005-05-31  Derek Price  <derek@ximbiot.com>
79755             Paul Eggert  <eggert@cs.ucla.edu>
79756
79757         Sync from cvs.
79758         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79759
79760 2005-05-31  Derek Price  <derek@ximbiot.com>
79761             Paul Eggert  <eggert@cs.ucla.edu>
79762
79763         Sync from cvs.
79764         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79765
79766 2005-05-29  Derek Price  <derek@ximbiot.com>
79767
79768         * config/srclist.txt (glob_.h, glob.c): Add these files.
79769
79770 2005-05-29  Derek Price  <derek@ximbiot.com>
79771
79772         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
79773         * modules/glob: New file.
79774         * modules/getlogin_r: Add link to POSIX spec in description.
79775
79776 2005-05-29  Derek Price  <derek@ximbiot.com>
79777             Paul Eggert  <eggert@cs.ucla.edu>
79778
79779         * m4/glob.m4: New file.
79780
79781 2005-05-29  Derek Price  <derek@ximbiot.com>
79782             Paul Eggert  <eggert@cs.ucla.edu>
79783
79784         * lib/glob_.h, lib/glob.c: New files.
79785
79786 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79787
79788         * modules/fts (Files): Remove m4/inttypes-pri.m4.
79789         * modules/fts-lgpl (Depends-on): Remove gettext.
79790
79791 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79792
79793         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
79794         and don't require gt_INTTYPES_PRI.
79795
79796 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79797
79798         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
79799
79800         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
79801         the configuration hassle isn't worth it.
79802         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
79803         (LONGEST_MODIFIER, PRIuMAX): Remove.
79804
79805 2005-05-27  Bruno Haible  <bruno@clisp.org>
79806
79807         * lib/getlogin_r.h: Remove second include of <stddef.h>.
79808
79809 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
79810
79811         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
79812         _POSIX_PTHREAD_SEMANTICS for Solaris.
79813
79814 2005-05-25  Derek Price  <derek@ximbiot.com>
79815
79816         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
79817
79818 2005-05-25  Derek Price  <derek@ximbiot.com>
79819             Paul Eggert  <eggert@cs.ucla.edu>
79820
79821         * modules/getlogin_r, m4/getlogin_r.m4: New files.
79822         * lib/getlogin_r.c, getlogin_r.h: New files.
79823
79824 2005-05-25  Bruno Haible  <bruno@clisp.org>
79825             Derek Price  <derek@ximbiot.com>
79826
79827         * lib/getlogin_r.h: Simplify API documentation.
79828
79829 2005-05-23  Derek Price  <derek@ximbiot.com>
79830
79831         * modules/minmax (Files): Add m4/minmax.m4.
79832         (configure.ac): Add gl_MINMAX.
79833
79834 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
79835
79836         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
79837         so that unistd-safer.h (GPL'ed code) need not be included.
79838
79839 2005-05-22  Bruno Haible  <bruno@clisp.org>
79840
79841         * m4/minmax.m4: New file.
79842         Based on a patch by Derek Price <derek@ximbiot.com>.
79843
79844 2005-05-22  Bruno Haible  <bruno@clisp.org>
79845
79846         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
79847         (INT64_MIN): Fix definition.
79848         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
79849
79850         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
79851         NEED_SIGNED_INT_TYPES.
79852
79853         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
79854         HAVE_SYSTEM_INTTYPES.
79855
79856 2005-05-22  Bruno Haible  <bruno@clisp.org>
79857
79858         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
79859         Also include <sys/param.h> if it defines MIN, MAX.
79860         Based on a patch by Derek Price <derek@ximbiot.com>.
79861
79862 2005-05-21  Jim Meyering  <jim@meyering.net>
79863
79864         * modules/fts (Files): Add m4/inttypes-pri.m4.
79865         (Depends-on): Add lstat and remove gettext.  Alphabetize.
79866
79867 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79868
79869         New fts module.
79870         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
79871         (setup_dir, free_dir): New functions.
79872         (enter_dir, leave_dir): Define trivial
79873         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
79874         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
79875         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
79876         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
79877         Move to fts-cycle.c.
79878         (fts_open): Use setup_dir.
79879         (fts_close): Use free_dir.
79880         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
79881         This adds a label and some gotos, but the alternatives were messier.
79882         Check for memory allocation failure when entering a dir.
79883         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
79884         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
79885         (FTS): New member fts_cycle, that is a union that contains the
79886         old active_dir_ht and cycle_state.  All uses changed to mention
79887         fts_cycle.ht and fts_cycle.state.
79888         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
79889         fts.c, with the following changes:
79890         (setup_dir, free_dir): New functions.
79891         (enter_dir): Now returns bool.  Return true if successful, false
79892         if memory exhausted.  All callers changed.
79893         Do not bother partly cleaning up on
79894         memory allocation failure; that is free_dir's job.
79895         However, free ad if hash_insert fails, to avoid memory leak.
79896         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
79897         fts->fts_options to see which union member to use.
79898
79899 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79900
79901         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
79902         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
79903
79904 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79905
79906         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
79907
79908 2005-05-20  Jim Meyering  <jim@meyering.net>
79909
79910         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
79911         Now a macro, to pacify GCC.
79912
79913 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79914
79915         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
79916         of -1.
79917
79918 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79919
79920         * lib/chown.c (rpl_chown): Return -1 on failure.
79921
79922 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79923
79924         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
79925         Don't check for stddef.h.
79926         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
79927         don't use its results.
79928         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
79929         since we include them unconditionally.  Don't require
79930         AM_STDBOOL_H, since stdbool is a prerequisite.
79931         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
79932         since we assume C89 or better.
79933         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
79934         as we don't use their results.
79935         Don't check for fchdir, memmove, memset, strrchr, as we use
79936         them unconditionally.
79937         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
79938         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
79939
79940 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79941
79942         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
79943         Include <stddef.h> unconditionally, since we assume C89 now.
79944         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
79945         * lib/fts.c: Include fts_.h first, to check interface.
79946         Do not include intprops.h; no longer needed.
79947         Include cycle-check.h and hash.h, since fts_.h no longer does.
79948         Remove unnecessary casts of closedir to void.
79949         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
79950         decide whether to decrement nlinks.
79951         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
79952         (FTS): Use struct hash_table * instead of Hash_table, so that
79953         we no longer need to include hash.h here.
79954
79955 2005-05-18  Jim Meyering  <jim@meyering.net>
79956
79957         * modules/dirfd (License): Change to LGPL.  Most of the code
79958         is already in the public domain.
79959
79960 2005-05-18  Jim Meyering  <jim@meyering.net>
79961
79962         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
79963         Reported by Yoann Vandoorselaere.
79964
79965 2005-05-17  Jim Meyering  <jim@meyering.net>
79966
79967         * m4/fts.m4: New file, from coreutils.
79968
79969 2005-05-17  Jim Meyering  <jim@meyering.net>
79970
79971         * lib/fts.c, lib/fts_.h: New files, from coreutils.
79972
79973 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79974
79975         Sync from coreutils.
79976         * m4/unlinkdir.m4: New file.
79977
79978 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79979
79980         Sync from coreutils.
79981         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
79982         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
79983         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
79984         White space changes only.
79985         * lib/makepath.c (make_path): Port to hosts where leading "//" is
79986         special.
79987         * lib/yesno.c: Include getline.h, not ctype.h.
79988         (yesno): Don't remove leading white space; POSIX doesn't allow it.
79989         Use getline to remove arbitrary restriction on response length.
79990
79991 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79992
79993         * config/srclist-update: Spell out "Street" in FSF postal
79994         mail address; this is the style the FSF seems to prefer.
79995
79996         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
79997         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
79998         this updates FSF postal mail address.
79999
80000         Sync from coreutils.
80001         * modules/unlinkdir: New file.
80002         * modules/yesno (Depends-on): Add getline.
80003         * MODULES.html.sh (File system functions): Add unlinkdir.
80004
80005 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80006
80007         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
80008         lib/strsep.h:
80009         Change the initial comment to refer to GPL, not LGPL.
80010         gnulib-tool will change it to LGPL as needed.
80011
80012         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
80013         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
80014         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
80015         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
80016         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
80017         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
80018         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
80019         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
80020         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
80021         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
80022         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
80023         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
80024         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
80025         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
80026         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
80027         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
80028         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
80029         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
80030         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
80031         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
80032         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
80033         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
80034         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
80035         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
80036         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
80037         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
80038         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
80039         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
80040         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
80041         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
80042         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
80043         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
80044         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
80045         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
80046         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
80047         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
80048         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
80049         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
80050         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
80051         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
80052         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
80053         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
80054         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
80055         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
80056         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
80057         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
80058         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
80059         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
80060         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
80061         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
80062         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
80063         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
80064         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
80065         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
80066         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
80067         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
80068         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
80069         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
80070         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
80071         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
80072         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
80073         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
80074         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
80075         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
80076         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
80077         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
80078         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
80079         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
80080         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
80081         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
80082         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
80083         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
80084         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
80085         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
80086         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
80087         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
80088         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
80089         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
80090         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
80091         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
80092         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
80093         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
80094         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
80095         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
80096         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
80097         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
80098         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
80099         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
80100         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
80101         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
80102         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
80103         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
80104         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
80105         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
80106         lib/yesno.c, lib/yesno.h:
80107         Update FSF postal mail address.
80108
80109 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80110
80111         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
80112         tests/test-memmem.c, tests/test-stpncpy.c:
80113         Update FSF postal mail address.
80114
80115 2005-05-13  Bruno Haible  <bruno@clisp.org>
80116
80117         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
80118         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
80119         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
80120         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
80121         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
80122         Add support for 64-bit integers in the MSVC compiler.
80123
80124 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80125
80126         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
80127
80128 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
80129
80130         * gnulib-tool (func_import): Sort and uniquify recommended includes.
80131
80132 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
80133
80134         * doc/getdate.texi (General date syntax): Don't say that date
80135         date --iso-8601=ns generates acceptable dates; it doesn't yet.
80136         Problem reported by Nic Ferrier.
80137
80138 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80139
80140         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
80141         specified in ai_socktype. Fix invalid ai_protocol
80142         check. ai_protocol is usually set to 0 or depending on
80143         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
80144         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
80145         ai_socktype / ai_protocol in the returned addrinfo structure.
80146
80147 2005-05-10  Simon Josefsson  <jas@extundo.com>
80148
80149         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
80150         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80151
80152 2005-05-10  Karl Berry  <karl@gnu.org>
80153
80154         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
80155         (from http://www.gnu.org/licenses).
80156         * doc/COPYING.LIB: also rename to COPYING.LESSER.
80157         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
80158         fdl.texi suffices.
80159
80160 2005-05-10  Karl Berry  <karl@gnu.org>
80161
80162         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
80163         (COPYING.DOC): remove.
80164
80165         * config/srclist-update: new FSF address.
80166
80167 2005-05-10  Derek Price  <derek@ximbiot.com>
80168
80169         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
80170         possible.
80171
80172 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80173             Bruno Haible  <bruno@clisp.org>
80174
80175         * modules/inet_ntop: New file.
80176         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80177         inet_ntop.
80178
80179 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80180             Bruno Haible  <bruno@clisp.org>
80181
80182         * m4/inet_ntop.m4: New file.
80183
80184 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80185             Bruno Haible  <bruno@clisp.org>
80186
80187         * lib/inet_ntop.h: New file.
80188         * lib/inet_ntop.c: New file, from glibc with modifications.
80189
80190 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
80191
80192         * modules/time_r (License): Change to LGPL.
80193         * modules/extensions (License): Change to LGPL.  Actually,
80194         the license is more permissive than that, but currently gnulib-tool
80195         doesn't know how to handle more-permissive licenses.
80196
80197         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
80198         Problem reported by Dave Love.
80199
80200 2005-05-08  Jim Meyering  <jim@meyering.net>
80201
80202         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
80203         blank.
80204
80205 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
80206
80207         * modules/argmatch (Depends-on): Add stdbool.
80208         * modules/backupfile (Depends-on): Likewise.
80209         * modules/chdir-long (Depends-on): Likewise.
80210         * modules/closeout (Depends-on): Likewise.
80211         * modules/cycle-check (Depends-on): Likewise.
80212         * modules/dirname (Depends-on): Likewise.
80213         * modules/fnmatch (Depends-on): Likewise.
80214         * modules/fsusage (Depends-on): Likewise.
80215         * modules/fwriteerror (Depends-on): Likewise.
80216         * modules/getcwd (Depends-on): Likewise.
80217         * modules/getloadavg (Depends-on): Likewise.
80218         * modules/hard-locale (Depends-on): Likewise.
80219         * modules/makepath (Depends-on): Likewise.
80220         * modules/mountlist (Depends-on): Likewise.
80221         * modules/nanosleep (Depends-on): Likewise.
80222         * modules/posixtm (Depends-on): Likewise.
80223         * modules/quotearg (Depends-on): Likewise.
80224         * modules/readtokens (Depends-on): Likewise.
80225         * modules/readtokens0 (Depends-on): Likewise.
80226         * modules/readutmp (Depends-on): Likewise.
80227         * modules/save-cwd (Depends-on): Likewise.
80228         * modules/strftime (Depends-on): Likewise.
80229         * modules/userspec (Depends-on): Likewise.
80230         * modules/utimecmp (Depends-on): Likewise.
80231         * modules/xgetcwd (Depends-on): Likewise.
80232         * modules/xnanosleep (Depends-on): Likewise.
80233         * modules/xstrtod (Depends-on): Likewise.
80234         * modules/yesno (Depends-on): Likewise.
80235
80236 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
80237
80238         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
80239         needless checks.
80240
80241 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80242
80243         Merge from coreutils.  Among other things,
80244         add bulletproofing for cases where stdin, stdout, or stderr are closed.
80245         * lib/fd-safer.c: New file.
80246         * lib/fcntl-safer.h, open-safer.c: Remove.
80247         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
80248         * lib/dup-safer.c: Include unistd-safer.h first.
80249         Don't include errno.h.
80250         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
80251         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
80252         * lib/file-type.c: Rely on file-type.h change.
80253         * lib/getloadavg.c: Include unistd-safer.h.
80254         (getloadavg): Use safer open.
80255         * lib/getusershell.c: Include "stdio-safer.h".
80256         (getusershell): Use safer fopen.
80257         * lib/long-options.c (long_options): Use NULL rather than 0.
80258         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
80259         'free'.
80260         * lib/modechange.c: Likewise.
80261         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
80262         (MODE_DONE): New constant.
80263         (struct mode_change): Remove 'next' member.
80264         (make_node_op_equals): New function; like the old one of the
80265         same name, except it allocates an array.
80266         (mode_compile, mode_create_from_ref): Use it.
80267         (mode_compile): Allocate result as an array, not a linked list.
80268         Parse octal string ourself, so that we catch mistakes like "+0".
80269         (mode_adjust): Arg is an array, not a linked list.
80270         * lib/modechange.c: Include stat-macros.h, xalloc.h.
80271         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
80272         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
80273         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
80274         Remove.  This is now stat-macros.h's job.
80275         (talloc): Remove.  All callers replaced by xalloc, so that
80276         our invokers don't have to worry about reporting memory failures.
80277         (make_node_op_equals): Remove.
80278         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
80279         New constants.
80280         (struct mode_change): Moved here from modechange.h.
80281         (mode_append_entry): Remove.
80282         (mode_compile): Remove MASKED_OPS arg, since it encouraged
80283         apps to have incorrect behavior.  Use simpler algorithm for head
80284         and tail.  Don't futz with umask; that's now the job of mode_adjust.
80285         Detect more invalid usages rather than having somewhat-random behavior.
80286         Don't insert an "a=" action, as that leads to incorrect behavior.
80287         (mode_compile, mode_create_from_ref): Return NULL on error instead
80288         of an enum, since now there's only one way to have an error.  All
80289         callers changed.
80290         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
80291         at the correct time.  Simplify calculation of "+u" and its ilk.
80292         Don't mishandle "+X".
80293         (mode_free): Remove "register" and localize decls.
80294         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
80295         (struct mode_change): Move to modechange.c; callers don't
80296         need to see this stuff.
80297         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
80298         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
80299         (mode_change, mode_adjust): Reflect the new signatures noted above.
80300         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
80301         that might redefine system include files.
80302         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
80303         (my_usleep): Use NULL rather than (void *) 0.
80304         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
80305         Use siginterrupt to specify that system calls should be interrupted.
80306         (rpl_nanosleep): Move initialization of suspended closer to call of
80307         my_usleep.
80308         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
80309         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
80310         (desirable_utmp_entry): New function.
80311         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
80312         using x2nrealloc, to simplify logic.
80313         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
80314         size calculation.  Do not assume utmp file is a regular file.
80315         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
80316         (READ_UTMP_CHECK_PIDS): New constant.
80317         * lib/save-cwd.c: Include unistd-safer.h.
80318         (save_cwd): Use fd_safer.
80319         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
80320         [!_LIBC] Include "stat-macros.h" instead.
80321         * lib/unistd-safer.h (fd_safer): New decl.
80322
80323 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80324
80325         * modules/getloadavg (Depends-on): Add unistd-safer.
80326         * modules/getusershell (Depends-on): Add stdio-safer.
80327         * modules/lstat (Depends-on): Remove xalloc.
80328         * modules/mkstemp (Depends-on): Add stat-macros.
80329         * modules/modechange (Depends-on): Remove xstrtol.
80330         Add stat-macros, xalloc.
80331         * modules/save-cwd (Depends-on): Add unistd-safer.
80332         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
80333         * modules/unistd-safer (Files): Add lib/fd-safer.c
80334         (Makefile.am): Remove lib_SOURCES.
80335
80336         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
80337         Remove fcntl-safer; unistd-safer supersedes it.
80338
80339 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80340
80341         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
80342         AC_HEADER_STAT.
80343         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
80344         (gl_PREREQ_CHOWN): Remove.
80345         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
80346         it.  Don't require AC_HEADER_STAT.
80347         (gl_PREREQ_LSTAT): Remove.
80348         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
80349         Don't require AC_HEADER_STAT.
80350         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
80351         (gl_PREREQ_RMDIR): Remove.
80352         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
80353         mention stat-macros.h or AC_HEADER_STAT, since we'll make
80354         the stat-macros module a prerequisite.
80355         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
80356         * m4/filemode.m4 (gl_FILEMODE): Likewise.
80357         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
80358         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
80359         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
80360         variable names.
80361         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
80362         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
80363         variable prefixes.
80364         * m4/fcntl-safer.m4: Remove.
80365         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
80366         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
80367         Invoke gl_PREREQ_FD_SAFER.
80368         (gl_PREREQ_FD_SAFER): New macro.
80369         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
80370         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
80371         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
80372         Remove duplicate call to AC_LIBOBJ(readutmp).
80373         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
80374
80375         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
80376         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
80377
80378 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80379
80380         * MODULES.html.sh (Misc): Add byteswap.
80381
80382 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80383
80384         * modules/getcwd (Depends-on): Add extensions.
80385         * modules/openat (Depends-on): Likewise.
80386
80387 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80388
80389         * modules/byteswap: New file.
80390
80391 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80392
80393         * m4/byteswap.m4: New file.
80394
80395 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80396
80397         * lib/byteswap_.h: New file.
80398
80399 2005-04-25  Karl Berry  <karl@gnu.org>
80400
80401         * m4/gettext.m4: Update from GNU gettext 0.14.4.
80402
80403 2005-04-25  Albert Chin  <china@thewrittenword.com>
80404
80405         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
80406         Toolkit C bug.
80407
80408 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
80409
80410         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
80411         (func_ln_if_changed): Remove forcibly for no error message
80412         in case file does not exist.
80413
80414 2005-04-19  Simon Josefsson  <jas@extundo.com>
80415
80416         * gnulib-tool (Options): Make --symlink mean --symbolic.
80417
80418 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
80419
80420         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
80421
80422 2005-04-16  Simon Josefsson  <jas@extundo.com>
80423
80424         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
80425
80426 2005-04-15  Simon Josefsson  <jas@extundo.com>
80427
80428         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
80429
80430 2005-04-15  Simon Josefsson  <jas@extundo.com>
80431
80432         * gnulib-tool: Rename --symlink to --symbolic.
80433
80434 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
80435
80436         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
80437         symbolic links to files instead of copying/moving.  Add --aux-dir,
80438         specifying directory relative --dir where auxiliary build tools
80439         are placed.
80440
80441 2005-04-14  Bruno Haible  <bruno@clisp.org>
80442
80443         * modules/allocsa (License): Change to LGPL.
80444         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
80445
80446 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
80447
80448         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
80449         that "UTC +1 second" continues to work.  Problem reported
80450         by Dmitry V. Levin.
80451         (relunit_snumber): New rule.
80452         (relunit): Use it.
80453
80454 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80455
80456         * lib/getdate.y (universal_time_zone_table): New constant.
80457         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
80458         universal_time_zone_table.
80459         (lookup_zone): Prefer universal_time_zone_table to
80460         local_time_zone_table, so that "GMT" time stamps are allowed in
80461         London during the summer.  Problem reported by Ian Abbott.
80462
80463 2005-04-12  Jim Meyering  <jim@meyering.net>
80464
80465         * lib/human.c (humblock): Set *options even when returning due to
80466         xstrtoumax conversion failure.  Thanks to a used-uninitialized
80467         warning from gcc-4.
80468
80469 2005-04-09  Jim Meyering  <jim@meyering.net>
80470
80471         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
80472         -Wuninitialized: initialize tm0.tm_year.
80473
80474 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
80475
80476         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
80477         count, since there's no maximum.  All uses changed.
80478         Add member dsts_seen.
80479         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
80480         not being INT_MAX.
80481         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
80482         Use pc_rels_seen to decide whther a date is absolute.
80483
80484         * lib/getdate.y (number): Don't overwrite year.
80485         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
80486         check.
80487
80488 2005-04-02  Simon Josefsson  <jas@extundo.com>
80489
80490         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
80491         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
80492
80493 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
80494
80495         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
80496         where no absolute path name can be longer than PATH_MAX.
80497
80498 2005-03-27  Jim Meyering  <jim@meyering.net>
80499
80500         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
80501
80502 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
80503
80504         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
80505         "one's complement" -> "ones' complement" in comment, as per Knuth.
80506         "value of type" -> "type or expression" in comment.
80507         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
80508
80509 2005-03-26  Jim Meyering  <jim@meyering.net>
80510
80511         Comment nits.
80512         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
80513         Correct typos: s/or/of/.
80514
80515 2005-03-26  Jim Meyering  <jim@meyering.net>
80516
80517         * modules/check-include-files: Move to ../ and rename to...
80518         * check-module: ...this.
80519
80520 2005-03-25  Jim Meyering  <jim@meyering.net>
80521
80522         * modules/xvasprintf (Files): Add xalloc.h.
80523
80524 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
80525
80526         * modules/gettext (Files): config/config.rpath ->
80527         build-aux/config.rpath
80528         * modules/iconv (Files): Likewise.
80529         Problem reported by Oskar Liljeblad.
80530
80531 2005-03-23  Jim Meyering  <jim@meyering.net>
80532
80533         * modules/check-include-files: New script to check for
80534         missing dependencies, multiple includes, etc.
80535
80536         * modules/c-strtold (Depends-on): Add xalloc.
80537         * modules/c-strtod (Depends-on): Add xalloc.
80538         * modules/hash (Depends-on): Add xalloc.
80539         (Files): Remove lib/xalloc.h.
80540
80541         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
80542         * modules/userspec (Files): Add lib/inttostr.h.
80543
80544 2005-03-23  Jim Meyering  <jim@meyering.net>
80545
80546         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
80547
80548 2005-03-22  Jim Meyering  <jim@meyering.net>
80549
80550         * modules/stat-macros: New module.
80551         * modules/canonicalize, modules/euidaccess, modules/file-type,
80552         * modules/filemode, modules/lchown, modules/makepath,
80553         * modules/rmdir, modules/stat: Depend on new stat-macros module
80554         rather than listing lib/stat-macros.h manually.
80555         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
80556
80557 2005-03-22  Jim Meyering  <jim@meyering.net>
80558
80559         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
80560
80561 2005-03-22  Bruno Haible  <bruno@clisp.org>
80562
80563         * config/srclist.txt: Replace target directory 'config' with
80564         'build-aux'.
80565         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
80566         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
80567         ../build-aux/.
80568
80569 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
80570
80571         * modules/chdir-long (Depends-on): Add mempcpy.
80572
80573         * modules/acl, modules/backupfile, modules/c-strtod,
80574         modules/c-strtold, modules/canon-host, modules/canonicalize,
80575         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
80576         modules/exclude, modules/exitfail, modules/file-type,
80577         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
80578         modules/getdate, modules/getline, modules/getpagesize,
80579         modules/getpass, modules/getugroups, modules/group-member,
80580         modules/hard-locale, modules/hash, modules/human, modules/idcache,
80581         modules/inttostr, modules/long-options, modules/makepath,
80582         modules/md5, modules/memcasecmp, modules/memcoll,
80583         modules/modechange, modules/mountlist, modules/path-concat,
80584         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
80585         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
80586         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
80587         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
80588         modules/strftime, modules/strndup, modules/strverscmp,
80589         modules/timespec, modules/unlocked-io, modules/userspec,
80590         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
80591         modules/yesno:
80592         Remove lib_SOURCES line from Makefile.am section, as this is now
80593         done automatically by the corresponding Autoconf macro.
80594
80595 2005-03-21  Jim Meyering  <jim@meyering.net>
80596
80597         Changes imported from coreutils.
80598
80599         * lib/cycle-check.c: Don't include xalloc.h.
80600
80601         * lib/path-concat.c: Don't include assert.h.
80602         (path_concat): Remove assertion that would have triggered
80603         for ABASE starting with more than one slash.
80604         Reported by Andreas Schwab.
80605
80606         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
80607         properly when ABASE is an absolute file name.
80608         Correct the description of this function.
80609         Include <assert.h>.
80610         Add an assertion and a test driver.
80611         This fixes a bug introduced on 2004-07-02.
80612         Andreas Schwab reported the resulting failure of cp --parents:
80613         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
80614
80615 2005-03-21  Jim Meyering  <jim@meyering.net>
80616
80617         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
80618         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
80619
80620 2005-03-21  Jim Meyering  <jim@meyering.net>
80621         and  Paul Eggert  <eggert@cs.ucla.edu>
80622
80623         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
80624         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
80625         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
80626         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
80627         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
80628         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
80629         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
80630         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
80631         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
80632         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
80633         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
80634         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
80635         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
80636         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
80637         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
80638         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
80639         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
80640         for these modules.
80641
80642 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
80643
80644         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
80645         (which shouldn't happen), generate nothing instead of returning 0
80646         immediately, so that nstrftime (NULL, ...) doesn't return 0.
80647
80648 2005-03-16  Bruno Haible  <bruno@clisp.org>
80649
80650         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
80651         HAVE_LONGLONG_64BIT.
80652
80653 2005-03-16  Bruno Haible  <bruno@clisp.org>
80654
80655         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
80656         HAVE_LONGLONG_64BIT.
80657
80658 2005-03-16  Bruno Haible  <bruno@clisp.org>
80659
80660         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
80661         HAVE_LONGLONG_64BIT.
80662
80663 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
80664
80665         * lib/strftime.c (my_strftime): Prepend space to format so that we can
80666         reliably distinguish strftime failure from empty output on POSIX
80667         hosts.
80668
80669 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
80670
80671         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
80672         (iconv_string): Don't guess a size-zero buffer, as that might cause
80673         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
80674         result would be 'too large', where 'too large' is (heuristically)
80675         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
80676         overflow concerns.  This will prevent some unwanted malloc failures
80677         when the inputs are very large.
80678
80679 2005-03-15  Karl Berry  <karl@gnu.org>
80680
80681         * config/srclist.txt (config.rpath): from gettext.
80682         * config/config.rpath: update.
80683
80684 2005-03-15  Bruno Haible  <bruno@clisp.org>
80685
80686         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
80687         to 'negate'.
80688
80689         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
80690         variable.
80691
80692         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
80693         results.
80694
80695 2005-03-14  Simon Josefsson  <jas@extundo.com>
80696
80697         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
80698         <fx@gnu.org>.
80699
80700 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
80701
80702         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
80703         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
80704         intprops.h.
80705         * lib/strtol.c: Likewise.
80706
80707 2005-03-14  Jim Meyering  <jim@meyering.net>
80708
80709         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
80710         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
80711         to be nonzero so that we (and caller) can detect the difference
80712         between a valid zero-length expansion and an error return, even
80713         when the underlying strftime fails before writing anything into
80714         that location.
80715
80716 2005-03-14  Bruno Haible  <bruno@clisp.org>
80717
80718         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
80719         Update from GNU gettext 0.14.3.
80720
80721 2005-03-10  Jim Meyering  <jim@meyering.net>
80722
80723         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
80724
80725 2005-03-10  Jim Meyering  <jim@meyering.net>
80726
80727         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
80728         so that this module works on systems without fchdir.
80729
80730 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
80731
80732         Factor int-properties macros into a single file, except for
80733         glibc-related files.
80734         * lib/intprops.h: New file.
80735         * lib/getloadavg.c: Include it instead of limits.h.
80736         (INT_STRLEN_BOUND): Remove.
80737         * lib/human.c: Include intprops.h.
80738         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
80739         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
80740         302/1000.
80741         * lib/inttostr.h: Include intprops.h instead of limits.h.
80742         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
80743         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
80744         for consistency with intprops.h.
80745         (time_t_is_integer, twos_complement_arithmetic): Use them.
80746         * lib/sig2str.h: Include <signal.h>, intprops.h.
80747         (INT_STRLEN_BOUND): Remove.
80748         * lib/strftime.c (TYPE_SIGNED): Remove.
80749         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
80750         * lib/strtol.c: Adjust comments to match intprops.h.
80751         * lib/userspec.c: Include intprops.h.
80752         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
80753         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
80754         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
80755         instead of rolling our own expressions.
80756         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
80757
80758         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
80759         instead of int.
80760         (my_strftime): Do not mishandle years close to INT_MAX, by doing
80761         the right thing even if adding 1900 would overflow.  Similarly
80762         for tm_mon + 1 and tm_yday + 1.
80763         Make %Y always equivalent to %C%y, and similarly for %G and %g.
80764         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
80765         (DO_SIGNED_NUMBER): New macro.
80766         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
80767
80768 2005-03-07  Bruno Haible  <bruno@clisp.org>
80769
80770         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
80771
80772 2005-03-07  Bruno Haible  <bruno@clisp.org>
80773
80774         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
80775
80776 2005-03-04  Derek R. Price  <derek@ximbiot.com>
80777
80778         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
80779         (func_import): Only replace files via --import when they have actually
80780         changed.
80781
80782 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80783
80784         * m4/mmap-anon.m4: New file.
80785         * m4/pagealign_alloc.m4: New file.
80786
80787 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80788             Bruno Haible  <bruno@clisp.org>
80789
80790         * modules/pagealign_alloc: New file.
80791         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
80792
80793 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80794             Bruno Haible  <bruno@clisp.org>
80795
80796         * lib/pagealign_alloc.h: New file.
80797         * lib/pagealign_alloc.c: New file.
80798
80799 2005-03-03  Bruno Haible  <bruno@clisp.org>
80800
80801         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
80802         Use an all-permissive copyright notice, recommended by RMS.
80803
80804 2005-03-02  Bruno Haible  <bruno@clisp.org>
80805
80806         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
80807         of AIX, the replacement has to be done only after <string.h> is
80808         included, therefore not in config.h. stpncpy.h does the replacement,
80809         and stpncpy.c uses it.
80810
80811 2005-03-02  Bruno Haible  <bruno@clisp.org>
80812
80813         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
80814         stpncpy.c uses it.
80815
80816 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80817
80818         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
80819         The workaround isn't strictly needed for POSIX conformance, and
80820         it's too much of a pain to configure and maintain.  We'll ask
80821         people to fix their kernels instead.
80822         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
80823         (NANOSLEEP_BUG_WORKAROUND): Remove.
80824         (xnanosleep): Remove the workaround.
80825
80826 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80827
80828         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
80829         Reported by Derek Price.
80830         (Include): Add "timespec.h".
80831
80832         * modules/xnanosleep (Depends-on): Remove gethrxtime.
80833
80834 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80835
80836         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
80837         to detect nanosleep bug.
80838
80839 2005-03-01  Bruno Haible  <bruno@clisp.org>
80840
80841         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
80842
80843 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
80844
80845         * modules/gethrxtime: New file.
80846         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
80847         (Depends-on): Add gethrxtime.
80848         (configure.ac): Add gl_XNANOSLEEP.
80849         (Makefile.am): Remove lib_SOURCES line.
80850
80851 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80852
80853         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
80854         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
80855
80856 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80857
80858         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
80859         * lib/timespec.h (gettime): Return void, since it always
80860         succeeds now.  All uses changed.
80861         * lib/gettime.c (gettime): Likewise.
80862         [HAVE_NANOTIME]: Prefer nanotime.
80863         Assume gettimeofday succeeds, as POSIX requires.
80864         Assime time () succeeds, since other code already does.
80865         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
80866         (timespec_subtract): Remove.
80867         (NANOSLEEP_BUG_WORKAROUND): New constant.
80868         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
80869         things considerably.  Use it only on GNU/Linux hosts, since the
80870         workaround shouldn't be needed elsewhere.
80871
80872 2005-02-24  Bruno Haible  <bruno@clisp.org>
80873
80874         * modules/gettext (Files): Add m4/glibc2.m4.
80875
80876 2005-02-24  Bruno Haible  <bruno@clisp.org>
80877
80878         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
80879         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
80880         * m4/progtest.m4:
80881         Update from GNU gettext 0.14.2.
80882         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
80883
80884 2005-02-24  Bruno Haible  <bruno@clisp.org>
80885
80886         * lib/localcharset.c: Update from GNU gettext 0.14.2.
80887         * lib/config.charset: Update from GNU gettext 0.14.2.
80888
80889 2005-02-24  Bruno Haible  <bruno@clisp.org>
80890
80891         * lib/gettext.h: Update from GNU gettext 0.14.2.
80892
80893 2005-02-23  Simon Josefsson  <jas@extundo.com>
80894
80895         * m4/iconvme.m4: New file.
80896
80897 2005-02-23  Jim Meyering  <jim@meyering.net>
80898
80899         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
80900         change.
80901         Thanks to Bruno Haible for catching it.
80902
80903 2005-02-22  Simon Josefsson  <jas@extundo.com>
80904
80905         * modules/iconvme: New file.
80906
80907         * MODULES.html.sh: Add iconvme.
80908
80909 2005-02-22  Simon Josefsson  <jas@extundo.com>
80910
80911         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
80912
80913 2005-02-22  Simon Josefsson  <jas@extundo.com>
80914
80915         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
80916
80917 2005-02-22  Jim Meyering  <jim@meyering.net>
80918
80919         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
80920         s/ifndef/ifdef/.
80921
80922 2005-02-20  Neil Conway  <neilc@samurai.com>
80923
80924         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
80925         returned by OSX/Darwin if the specified buffer is not large
80926         enough for the hostname.
80927
80928 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80929
80930         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
80931         pass it to _help, otherwise the latter coredumps trying to
80932         dereference state.root_argp.
80933
80934 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80935
80936         * modules/chdir-long (Depends-on): Add memrchr.
80937         * modules/memrchr (Files): Add lib/memrchr.h.
80938         (Include): "memrchr.h".
80939
80940 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80941
80942         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
80943
80944 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80945
80946         * lib/memrchr.h: New file.
80947         * lib/chdir-long.c: Include it.
80948         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
80949         Don't bother including stddef.h.
80950
80951 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
80952
80953         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
80954         inclusion.
80955         Include <sys/types.h>, for dev_t.
80956         (ME_DUMMY, ME_REMOTE): Move from here....
80957         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
80958         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
80959         Dmitry V. Levin.
80960         Include mountlist.h first, to test the interface.
80961
80962 2005-01-29  Bruno Haible  <bruno@clisp.org>
80963
80964         * lib/progname.c (program_name): Initialize.
80965         Needed when linking statically on MacOS X.
80966
80967 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80968
80969         Sync from coreutils.
80970         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
80971         (Depends-on): Add c-strtod.
80972         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
80973
80974 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80975
80976         Sync from coreutils.
80977         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
80978
80979         Remove files that are specific to coreutils.
80980         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
80981
80982 2005-01-28  Bruno Haible  <bruno@clisp.org>
80983
80984         * modules/javacomp: New file.
80985         * MODULES.html.sh (Java): Add javacomp.
80986
80987 2005-01-28  Bruno Haible  <bruno@clisp.org>
80988
80989         * m4/javacomp.m4: New file, from GNU gettext.
80990
80991 2005-01-28  Bruno Haible  <bruno@clisp.org>
80992
80993         * lib/javacomp.sh.in: New file, from GNU gettext.
80994         * lib/javacomp.h: New file, from GNU gettext.
80995         * lib/javacomp.c: New file, from GNU gettext.
80996
80997 2005-01-26  Simon Josefsson  <jas@extundo.com>
80998
80999         * lib/gai_strerror.c: Use GPL in header.
81000
81001 2005-01-26  Bruno Haible  <bruno@clisp.org>
81002
81003         * modules/javaexec: New file.
81004         * MODULES.html.sh (Java): Add javaexec.
81005
81006 2005-01-26  Bruno Haible  <bruno@clisp.org>
81007
81008         * m4/javaexec.m4: New file, from GNU gettext.
81009
81010 2005-01-26  Bruno Haible  <bruno@clisp.org>
81011
81012         * lib/javaexec.sh.in: New file, from GNU gettext.
81013         * lib/javaexec.h: New file, from GNU gettext.
81014         * lib/javaexec.c: New file, from GNU gettext.
81015
81016 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81017
81018         * modules/lchown (Depends-on): Remove lchown.h
81019
81020 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81021
81022         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
81023         must be defined if the header file was not found, in order
81024         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
81025
81026 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81027
81028         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
81029         initializers for struct pentry_state.
81030         (__argp_error): Check return value of __asprintf
81031         (__argp_failure): Translate error message
81032
81033         * lib/argp-parse.c: Removed braces around the expansion of N_()
81034
81035 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
81036
81037         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
81038         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
81039         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
81040         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
81041         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
81042         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
81043         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
81044         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
81045         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
81046         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
81047         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
81048         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
81049         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
81050         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
81051         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
81052         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
81053         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
81054         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
81055         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
81056         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
81057         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
81058         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
81059         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
81060         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
81061         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
81062         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
81063         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
81064         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
81065         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
81066         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
81067         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
81068         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
81069         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
81070         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
81071         xstrtol.m4, xstrtoumax.m4, yesno.m4:
81072         Use an all-permissive copyright notice, recommended by RMS.
81073
81074 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
81075
81076         * modules/chdir-long (Depends-on): Remove mempcpy.
81077
81078 2005-01-21  Jim Meyering  <jim@meyering.net>
81079
81080         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
81081         same value as for Solaris 9.
81082
81083         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
81084         component length.  This included changing the parameter to be
81085         of type `char *' rather than `char const *'.
81086         * lib/chdir-long.h (chdir_long): Update prototype.
81087
81088         * lib/openat.c (fdopendir, fstatat): New functions.
81089         * lib/openat.h: Include headers required for use of DIR and struct
81090         stat.
81091         [AT_SYMLINK_NOFOLLOW]: Define.
81092         (fdopendir, fstatat): Add prototypes.
81093
81094 2005-01-21  Bruno Haible  <bruno@clisp.org>
81095
81096         * modules/classpath: New file.
81097         * MODULES.html.sh (Java): Add classpath.
81098
81099 2005-01-21  Bruno Haible  <bruno@clisp.org>
81100
81101         * lib/classpath.h: New file, from GNU gettext.
81102         * lib/classpath.c: New file, from GNU gettext.
81103
81104 2005-01-20  Simon Josefsson  <jas@extundo.com>
81105
81106         * modules/version-etc-fsf: New file.
81107
81108 2005-01-20  Simon Josefsson  <jas@extundo.com>
81109
81110         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
81111         * lib/version-etc.c: Remove version_etc_copyright.
81112         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
81113         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
81114
81115 2005-01-20  Simon Josefsson  <jas@extundo.com>
81116
81117         * lib/base64.h (isbase64): Add.
81118
81119         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
81120         using a unsigned prototype, don't inline.
81121         (base64_decode): Use it.
81122
81123 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81124
81125         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
81126         it.
81127
81128 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81129
81130         * lib/save-cwd.c (save_cwd): Remove code to support the case
81131         where fchdir is missing or flaky.
81132
81133 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81134
81135         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
81136
81137 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
81138
81139         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
81140         AC_LIBSOURCES now does this.
81141         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
81142         with new ullong_max module.
81143
81144 2005-01-19  Bruno Haible  <bruno@clisp.org>
81145
81146         * modules/sh-quote: New file.
81147         * MODULES.html.sh (Executing programs): Add sh-quote.
81148
81149 2005-01-19  Bruno Haible  <bruno@clisp.org>
81150
81151         * lib/sh-quote.h: New file, from GNU gettext.
81152         * lib/sh-quote.c: New file, from GNU gettext.
81153
81154 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81155
81156         Merge from coreutils.
81157         * m4/ullong_max.m4: New file.
81158         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
81159         (gl_MACROS): Assume localeconv exists.
81160
81161 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81162
81163         Merge changes from coreutils, as described below in several
81164         changelogs dated today.
81165
81166         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
81167         (O_DIRECTORY): Remove; not needed here, since "." must be
81168         a directory.  All uses removed.
81169         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
81170         universal on Suns, and we also need to test for IRIX.
81171         Revamp code to use 'if' rather than '#if'.
81172         Avoid unnecessary comparison of cwd->desc to 0.
81173
81174         * lib/utimens.c (futimens): Robustify the previous patch, by checking
81175         for known valid error numbers rather than observed invalid ones.
81176
81177 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81178
81179         * modules/ullong_max: New file.
81180
81181         * modules/chdir-long, modules/openat: New files.
81182         * modules/save-cwd (Depends-on): Depend on chdir-long.
81183         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
81184
81185 2005-01-18  Jim Meyering  <jim@meyering.net>
81186
81187         Merge from coreutils.
81188         * m4/chdir-long.m4, m4/openat.m4: New files.
81189         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
81190         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
81191         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
81192         is sane and DOES follow symlinks.  Besides, testing 20 different
81193         systems found no broken chown implementations.
81194         Prompted by a change in rsync's copy of this macro.
81195         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
81196
81197         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
81198
81199         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
81200         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
81201         NULL-means-set-to-current-time semantics.
81202         Remove temporary file immediately, rather than waiting
81203         for configure's at-exit trap code to do it.
81204
81205 2005-01-18  Jim Meyering  <jim@meyering.net>
81206
81207         * lib/version-etc.c (version_etc_copyright): Update copyright date.
81208
81209         * lib/utimens.c (futimens): Account for the fact that futimes
81210         can also fail with errno == ENOSYS or errno == ENOENT.
81211         Patch from Dmitry V. Levin.
81212
81213         Change the name of the robust chdir function from chdir to chdir_long.
81214         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
81215         (restore_cwd): Use chdir_long, not chdir.
81216         * lib/chdir-long.c: Renamed from chdir.c.
81217         * lib/chdir-long.h: Renamed from chdir.h.
81218         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
81219         Hurd.
81220
81221 2005-01-18  Bruno Haible  <bruno@clisp.org>
81222
81223         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
81224         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
81225         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
81226         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
81227         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
81228         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
81229         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
81230         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
81231         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
81232         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
81233         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
81234         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
81235         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
81236         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
81237         Use an all-permissive copyright notice, recommended by RMS.
81238
81239 2005-01-18  Bob Proulx  <bob@proulx.com>
81240
81241         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
81242         simplify offsetof() macro construct to avoid compile failure with
81243         native HP-UX 11.0 ANSI C compiler.
81244
81245 2005-01-17  Bruno Haible  <bruno@clisp.org>
81246
81247         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
81248         redundant because stpncpy.m4 takes care of it.
81249
81250 2005-01-17  Bruno Haible  <bruno@clisp.org>
81251
81252         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
81253
81254 2005-01-17  Bruno Haible  <bruno@clisp.org>
81255
81256         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
81257         used.
81258
81259 2005-01-17  Bruno Haible  <bruno@clisp.org>
81260
81261         * lib/fwriteerror.h (fwriteerror): Change specification to include
81262         fclose.
81263         * lib/fwriteerror.c: Include <stdbool.h>.
81264         (fwriteerror): At the end, close the file stream. Record whether
81265         stdout was already closed.
81266
81267 2005-01-17  Bruno Haible  <bruno@clisp.org>
81268
81269         * lib/execute.c (environ): Declare if needed.
81270         * lib/pipe.c (environ): Likewise.
81271         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
81272
81273 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81274
81275         * modules/argp: Depend on vsnprintf
81276
81277 2005-01-10  Jim Meyering  <jim@meyering.net>
81278
81279         * modules/closeout (Depends-on): Add atexit.
81280
81281 2005-01-06  Bruno Haible  <bruno@clisp.org>
81282
81283         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
81284
81285 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
81286
81287         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
81288         definitions to be after all include files, to avoid collisions.
81289         Problem reported by Bob Proulx.
81290
81291 2005-01-04  Jim Meyering  <jim@meyering.net>
81292
81293         Changes imported from coreutils.
81294         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
81295         as the mkstemp template, use a temporary directory and an
81296         8.3-friendly template to avoid trouble on systems like DJGPP.
81297         Reported by Juan M. Guerrero via Stepan Kasal.
81298         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
81299         close. Remove the temporary directory right away, rather than waiting
81300         for configure's at-exit trap code to do it.
81301         Suggestion from Stepan Kasal.
81302
81303 2005-01-01  Simon Josefsson  <jas@extundo.com>
81304
81305         * gnulib-tool: Print #include directives when --import'ing.
81306
81307 2004-12-28  Simon Josefsson  <jas@extundo.com>
81308
81309         * tests/test-base64.c: Include required header files.  Remove
81310         unused variables.
81311
81312 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
81313
81314         * modules/error (Depends-on): Remove gettext.
81315
81316 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
81317
81318         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
81319         not needed.  This removes a dependency on the gettext module.
81320         [defined _LIBC]: Do not include <libintl.h>; not needed.
81321
81322 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
81323
81324         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
81325         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
81326
81327 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
81328
81329         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
81330         HAVE_DECL_STRTOLD.
81331
81332 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81333
81334         * modules/getdate (Depends-on): Remove alloca-opt.
81335
81336 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81337
81338         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
81339
81340 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81341
81342         * lib/argp-parse.c: Include <stddef.h>.
81343         (alignof, alignto): New macros.
81344         (parser_init): Don't assume that void * is aligned sufficiently
81345         for struct option.
81346
81347         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
81348         need to extend the stack.
81349         (YYINITDEPTH): New macro, so that the initial stack isn't overly
81350         large.
81351
81352 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81353
81354         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
81355
81356 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
81357
81358         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
81359         (2004-10-24) change.  Apparently this was a false alarm.
81360
81361         * modules/getdate: Depend on alloca-opt, not alloca.
81362
81363 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
81364
81365         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
81366         Remove now-obsolete comment about AIX.
81367         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
81368         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
81369         (YYMAXDEPTH): New macro.
81370
81371 2004-12-18  Simon Josefsson  <jas@extundo.com>
81372
81373         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
81374
81375 2004-12-18  Bruno Haible  <bruno@clisp.org>
81376
81377         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
81378
81379 2004-12-18  Bruno Haible  <bruno@clisp.org>
81380
81381         * lib/fatal-signal.c (fatal_signals): Make non-const.
81382         (init_fatal_signals): New function.
81383         (uninstall_handlers, install_handlers): Ignore signals that were set to
81384         SIG_IGN.
81385         (at_fatal_signal): Call init_fatal_signals.
81386         (init_fatal_signal_set): Likewise. Ignore signals that were set to
81387         SIG_IGN.
81388         Reported by Paul Eggert.
81389
81390 2004-12-18  Bruno Haible  <bruno@clisp.org>
81391
81392         * doc/alloca.texi: New file.
81393         * doc/alloca-opt.texi: New file.
81394
81395 2004-12-17  Jim Meyering  <jim@meyering.net>
81396
81397         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
81398         Otherwise, install-sh could exit with improper exit status when
81399         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
81400
81401 2004-12-16  Simon Josefsson  <jas@extundo.com>
81402
81403         * tests/test-base64.c: Add license.
81404
81405 2004-12-15  Stepan Kasal  <address@hidden>
81406
81407         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
81408
81409 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
81410
81411         * modules/getcwd (Files): Add m4/d-ino.m4.
81412         Suggested by Mark D. Baushke.
81413
81414 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
81415
81416         * lib/getdate.y (textint): New member "negative".
81417         (time_zone_hhmm): New function.
81418         Expect 14 shift-reduce conflicts, not 13.
81419         (o_colon_minutes): New rule.
81420         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
81421         (yylex): Set the "negative" member of signed numbers.
81422
81423 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
81424
81425         * doc/getdate.texi (Time of day items, Time zone items):
81426         Describe new formats +00:00, UTC+00:00.
81427
81428 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
81429
81430         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
81431         spurious "-l"s.  Problem reported by Stepan Kasal.
81432
81433 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
81434
81435         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
81436         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
81437
81438 2004-12-04  Simon Josefsson  <jas@extundo.com>
81439
81440         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
81441         Vandoorselaere <yoann@prelude-ids.org>.
81442
81443 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81444
81445         Changes imported from coreutils.
81446         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
81447         exist.
81448         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
81449
81450 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81451
81452         Changes imported from coreutils.
81453         * lib/hard-locale.c: Assume <locale.h> exists.
81454         Include "strdup.h".
81455         (GLIBC_VERSION): New macro.
81456         (hard_locale): Assume setlocale exists.
81457         Rewrite to avoid #ifdef.
81458         Use strdup rather than malloc + strcpy.
81459         * lib/human.c: Assume <locale.h> exists.
81460         (human_readable): Assume localeconv exists.
81461
81462 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81463
81464         * modules/hard-locale (Depends-on): Add strdup.
81465
81466 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
81467
81468         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
81469         convert T2, not T.  (Imported from libc.)
81470
81471 2004-11-30  Simon Josefsson  <jas@extundo.com>
81472
81473         * modules/restrict (License): Change to LGPL.
81474
81475 2004-11-30  Simon Josefsson  <jas@extundo.com>
81476
81477         * m4/restrict.m4: Add copyright and copying conditions.
81478
81479 2004-11-30  Simon Josefsson  <jas@extundo.com>
81480
81481         * m4/base64.m4: New file.
81482
81483 2004-11-30  Simon Josefsson  <jas@extundo.com>
81484
81485         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
81486         base64.
81487
81488         * tests/test-base64.c: New file.
81489
81490         * modules/base64: New file.
81491
81492 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
81493
81494         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
81495         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
81496
81497         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
81498
81499 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
81500
81501         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
81502         (__getcwd.c): Don't restore errno; glibc doesn't.
81503         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
81504         first, falling back to our code only if its results look suspicious.
81505         Ensure that the resulting buffer is only as large as necessary.
81506
81507         * lib/readutmp.c: Include readutmp.h first.
81508         Include <errno.h>, since readutmp.h no longer does that.
81509         * lib/readutmp.h: Don't include <errno.h>,
81510         <sys/param.h>, <time.h>; not needed to establish interface.
81511         (errno): Remove decl.
81512         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
81513         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
81514         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
81515
81516 2004-11-28  Simon Josefsson  <jas@extundo.com>
81517
81518         * lib/base64.h, base64.c: New file.
81519
81520 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
81521
81522         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
81523
81524 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
81525
81526         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
81527         (Depends-on): Remove pathmax, same.  Add mempcpy.
81528         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
81529         (Makefile.am): Append getcwd.h to lib_SOURCES.
81530         (Include): Add getcwd.h.
81531         (Maintainer): Change from Jim Meyering to "all, glibc",
81532         since getdate now uses intended-for-glibc code.
81533         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
81534         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
81535
81536 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81537
81538         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
81539         HP's ANSI C compiler.
81540         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
81541         Declaring int functions causes warnings on some modern systems and
81542         shouldn't be needed to compile on ancient ones.
81543         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
81544         defined.
81545
81546         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
81547         with the following changes.
81548         (__set_errno): Parenthesize properly.
81549         Include <stdbool.h>.
81550         (MIN, MAX, MATCHING_INO): New macros.
81551         (__getcwd): Define with prototype, not K&R form.
81552         Use heuristics to allocate default buffer on stack if possible.
81553         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
81554         behavior, and to avoid the PATH_MAX limit when computing
81555         ../../../../...
81556         Use MATCHING_INO to compare inode number to file.
81557         Check for arithmetic overflow in size calculations.
81558         Fix bug in reallocation of dot array that caused getcwd to fail
81559         on directories nested deeper than 75.
81560         Be more careful about saving errno on error.
81561         Do not use realloc; use only free+malloc, as this is a bit
81562         more flexible and avoids a needless copy operation.
81563         Do not inspect st_dev and st_ino for symbolic links; POSIX
81564         doesn't specify the latter.
81565         Check for closedir errors.
81566         Avoid needless casts.
81567         Use "#ifdef weak_alias" around weak_alias, to be like other
81568         glibc code.
81569         The following changes to getcwd.c have effect only when used in
81570         gnulib; they have no effect inside glibc proper.
81571         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
81572         as alloca isn't used.
81573         (alloca, __alloca): Likewise.
81574         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
81575         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81576         unconditionally, as gnulib assumes C89 or better.
81577         Do not include <sys/param.h>.
81578         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
81579         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
81580         better.
81581         (NULL) [!defined NULL]: Remove; we assume C89 or better.
81582         Include <dirent.h> in a way that is compatible with modern Autoconf.
81583         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
81584         New macros, if not already defined.
81585         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
81586         Use "_LIBC", not "defined _LIBC", for consistency.
81587         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
81588         a mempcpy module.
81589         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
81590         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
81591         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
81592         credit only to Jim Meyering and adjust the copyright dates.
81593         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
81594         <stdlib.h>, <unistd.h>, "pathmax.h".
81595         Instead, include "xgetcwd.h" (first) and "getcwd.h".
81596         (INITIAL_BUFFER_SIZE): Remove.
81597         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
81598
81599 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81600
81601         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
81602         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
81603         Use the _ONCE methods, for efficiency.
81604         Check for fcntl.h.  In test program, include <errno.h>
81605         and <fcntl.h> if available.  Remove old K&R cruft from
81606         test program.  Check for common errors in GNU/Linux,
81607         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
81608         don't do AC_LIBOBJ, as that's getcwd.m4's job.
81609         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
81610         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
81611         name accordingly.
81612         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
81613         accommodate new getcwd.c.
81614         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
81615         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
81616         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
81617         that's all we need now.
81618
81619 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81620
81621         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
81622         argp-parse.c depends on getopt internals, that means we should
81623         always use our getopt, to be on the safe side.
81624         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
81625         order not to spoil the result of an eventual previous invocation
81626         of gl_GETOPT_SUBSTITUTE.
81627
81628 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81629
81630         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
81631         redefinition warnings. To avoid them, include the defines
81632         in `#if !defined __need_getopt ... #endif'. The only place
81633         where __getopt_argv_const is used is in definitions
81634         of getopt_long and getopt_long_only below, which are as well
81635         protected by `#ifndef __need_getopt'.
81636         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
81637         __need_getopt after including <stdio.h> and <unistd.h> These
81638         headers might have defined it.
81639
81640 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
81641
81642         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
81643
81644 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
81645
81646         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
81647         (futimens): New function, which uses futimes if available.
81648         (futimens, utimens): Support timespec==NULL, with same semantics
81649         as utime and utimens.
81650         * lib/utimens.h (futimens): New decl.
81651
81652 2004-11-23  Jim Meyering  <jim@meyering.net>
81653
81654         * lib/getopt_.h: Remove trailing blanks.
81655
81656 2004-11-23  Jim Meyering  <jim@meyering.net>
81657
81658         * lib/__fpending.c: Add comment.
81659
81660 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
81661
81662         * modules/canonicalize (Depends-on): Add xreadlink.
81663         Problem reported by James Youngman.
81664
81665 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
81666
81667         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
81668         New macros.
81669         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
81670         optopt): Use them instead of invoking ## directly; otherwise, the
81671         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
81672
81673 2004-11-19  Bruno Haible  <bruno@clisp.org>
81674
81675         * lib/strtok_r.c: Move comments from here...
81676         * lib/strtok_r.h: ... to here.
81677
81678 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
81679
81680         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
81681         implementations that mishandle size_t overflow.
81682
81683 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
81684
81685         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
81686         might fail.  Problem reported by Yoann Vandoorselaere.
81687         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
81688         implementations that mishandle size_t overflow.
81689
81690 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81691
81692         * modules/canon-host (Depends-on): Add strdup.
81693
81694 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81695
81696         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
81697
81698 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81699
81700         * lib/canon-host.c: Include "strdup.h".
81701         (canon_host): Use getaddrinfo if available, so that IPv6 works.
81702         Use strdup instead of malloc/strcpy to duplicate strings.
81703
81704         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
81705         (human_space_before_unit): New constant.
81706         * lib/human.c (human_readable): Support it.
81707
81708         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
81709         (xgetcwd): Set errno correctly when failing.
81710         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
81711         the failure is actually due to a PATH_MAX problem.
81712
81713         Further getopt changes to make it more likely that glibc will
81714         buy the changes back.
81715         * lib/getopt.c (POSIXLY_CORRECT): New constant.
81716         (getopt): Use it, so to preserve glibc semantic
81717         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
81718         when compiling for libc.
81719         * lib/getopt_.h (__getopt_argv_const): Bring it back.
81720         (getopt_long, getopt_long_only): Use it.
81721
81722         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81723         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
81724         (getopt): Argv is now char * const *, as per standard.
81725         (_getopt_internal_r, _getopt_internal): Argv is now char **,
81726         not char *__getopt_argv_const *.
81727         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81728         _getopt_long_only_r): Likewise.
81729         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
81730         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81731         _getopt_long_r, _getopt_long_only_r): Likewise.
81732         * lib/getopt_.h (__getopt_argv_const): Remove.
81733         (getopt): Argv is now char * const *, as per standard.
81734
81735         * lib/getdate.y (tORDINAL): New token.
81736         (day, relunit): Allow it for relative times.
81737         (relative_time_table): Use tORDINAL for ordinals.
81738
81739 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81740
81741         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
81742         Document that "second" isn't allowed as an ordinal number.
81743
81744 2004-11-16  Jim Meyering  <jim@meyering.net>
81745
81746         * modules/closeout (Depends-on): Add fpending.
81747
81748 2004-11-15  Jim Meyering  <jim@meyering.net>
81749
81750         * lib/closeout.c: Include "__fpending.h" once again.
81751         Include <stdbool.h>.
81752         (close_stdout): Don't fail just because stdout was closed initially,
81753         since some programs don't write to stdout in the normal course of
81754         operation (other than --version and --help), and we don't want this
81755         function to make e.g. `touch file >&-' fail.
81756         But do fail if it was closed and someone has tried to write to it.
81757         E.g., `printf foo >&-' must fail.
81758
81759 2004-11-13  Jim Meyering  <jim@meyering.net>
81760
81761         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
81762
81763 2004-11-12  Simon Josefsson  <jas@extundo.com>
81764
81765         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
81766         small doc fix is still pending.
81767
81768 2004-11-11  Simon Josefsson  <jas@extundo.com>
81769
81770         * modules/strtok_r: New file.
81771
81772         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81773         strtok_r.
81774
81775 2004-11-11  Simon Josefsson  <jas@extundo.com>
81776
81777         * m4/strtok_r.m4: New file.
81778
81779         * m4/getopt.m4: Replace opterr.
81780
81781 2004-11-11  Simon Josefsson  <jas@extundo.com>
81782
81783         * lib/strtok_r.h, strtok_r.c: New file.
81784
81785 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81786
81787         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
81788         of replacing opterr, getopt, etc.  This should handle the
81789         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
81790
81791 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81792
81793         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
81794         we can stop lying to compilers about the constness of argv when we
81795         are compiled outside glibc.
81796         (getopt, getopt_long, getopt_long_only): Use it.
81797         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81798         _getopt_internal, getopt): Likewise.
81799         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81800         _getopt_long_only_r): Likewise.
81801         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81802         _getopt_long_r, _getopt_long_only_r): Likewise.
81803
81804         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
81805         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
81806         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
81807         the other external symbols.
81808         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
81809         declaration, since the above renaming now works around collisions.
81810
81811 2004-11-11  Jim Meyering  <jim@meyering.net>
81812
81813         * lib/linebreak.c: Remove trailing blanks.
81814         * lib/alloca_.h: Likewise.
81815         * lib/acosl.c: Likewise.
81816         * lib/euidaccess.c: Likewise.
81817         * lib/allocsa.h: Likewise.
81818
81819 2004-11-10  Simon Josefsson  <jas@extundo.com>
81820
81821         * m4/getaddrinfo.m4: New file.
81822
81823 2004-11-10  Simon Josefsson  <jas@extundo.com>
81824
81825         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
81826
81827 2004-11-10  Simon Josefsson  <jas@extundo.com>
81828
81829         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81830         getaddrinfo.
81831
81832         * modules/getaddrinfo: New file.
81833
81834 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81835
81836         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
81837
81838 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81839
81840         * lib/mktime.c (SHR): New macro, which is a portable
81841         substitute for >> that should work even on Crays.
81842         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
81843         Problem reported by Mark D. Baushke in
81844         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
81845         * lib/getdate.y (SHR): Likewise.
81846         (tm_diff): Use it.
81847         * lib/strftime.c (SHR): Likewise.
81848         (tm_diff): Use it.
81849         * lib/quotearg.c (struct quoting_options): Use unsigned int for
81850         quote_these_too, so that right shifts are well defined.  All uses
81851         changed.
81852
81853 2004-11-10  Jim Meyering  <jim@meyering.net>
81854
81855         Ensure that no close failure goes unreported.
81856         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
81857         return early when it seems there's nothing to flush.
81858         Don't include __fpending.h.
81859
81860 2004-11-10  Jim Meyering  <jim@meyering.net>
81861
81862         * modules/closeout (Depends-on): Remove fpending.
81863
81864 2004-11-10  Jim Meyering  <jim@meyering.net>
81865
81866         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
81867
81868 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81869
81870         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
81871         gl_FUNC_STRFTIME.
81872         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
81873         and AC_REQUIRE when possible, to avoid duplicate checks.
81874         Check for <wchar.h>.
81875
81876 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81877
81878         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
81879
81880 2004-11-09  Bruno Haible  <bruno@clisp.org>
81881
81882         * m4/sockpfaf.m4: New file.
81883
81884 2004-11-05  Bruno Haible  <bruno@clisp.org>
81885
81886         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
81887         Reported by Mark D. Baushke <mdb@cvshome.org>.
81888
81889 2004-11-04  Bruno Haible  <bruno@clisp.org>
81890
81891         2004-09-11  Bruno Haible  <bruno@clisp.org>
81892                 * allocsa.valgrind: New file.
81893         2004-02-06  Bruno Haible  <bruno@clisp.org>
81894                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
81895                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
81896                 Reported by Christopher Seip <chris.seip@hp.com>.
81897
81898 2004-11-04  Bruno Haible  <bruno@clisp.org>
81899
81900         * modules/allocsa (Files): Add lib/allocsa.valgrind.
81901         (Makefile.am): Distribute it.
81902
81903 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
81904
81905         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
81906         with errno == ERANGE if the buffer is too small.
81907         Problem reported by Mark D. Baushke.
81908
81909 2004-11-03  Albert Chin  <china@thewrittenword.com>
81910             Paul Eggert  <eggert@cs.ucla.edu>
81911
81912         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
81913         equivalent, substitute $ac_type for equivalent type rather than
81914         blindly using uint32_t *always* which won't work if uint32_t is not
81915         available.  Define _UINT32_T to work around typedef of uint32_t if
81916         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
81917         2.5.1.
81918
81919 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81920
81921         * m4/jm-macros.m4: Sync from coreutils.
81922         (gl_MACROS): Check for mbrlen, for pathchk.
81923         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
81924
81925 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81926
81927         * lib/xreadlink.c (MAXSIZE): New macro.
81928         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
81929         size does not exceed MAXSIZE.  Avoid cast.
81930         As suggested by Mark D. Baushke in
81931         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
81932         if readlink fails with buffer size just under MAXSIZE, try again
81933         with MAXSIZE.
81934
81935 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81936
81937         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
81938
81939 2004-11-02  Derek R. Price  <derek@ximbiot.com>
81940         and  Paul Eggert  <eggert@cs.ucla.edu>
81941
81942         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
81943         (get_date): Overparenthesize to avoid GCC warning.
81944
81945 2004-11-02  Bruno Haible  <bruno@clisp.org>
81946
81947         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
81948         returns void.
81949
81950 2004-11-02  Bruno Haible  <bruno@clisp.org>
81951
81952         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
81953         function returns void.
81954
81955 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81956
81957         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
81958         fflush_unlocked, flockfile, funlockfile, funlockfile,
81959         fputs_unlocked, putc_unlocked.
81960
81961 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81962
81963         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81964         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
81965         already declared.
81966
81967 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81968
81969         * modules/getdate (Files): Add doc/getdate.texi.
81970         (Depends-on): Add setenv, xalloc.
81971
81972 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81973
81974         * lib/getdate.y: Add support for TZ="foo" within a date string.
81975         Fix some bugs near time_t boundaries.  Reject dates with
81976         out-of-range components, e.g., "Sept 31".
81977         Include <stdlib.h>, "setenv.h", "xalloc.h".
81978         (ISDIGIT_LOCALE): Remove; unused.
81979         Note that the TZ and time functions used here are not reentrant.
81980         (mktime_ok, get_tz): New functions.
81981         (TZBUFSIZE): New constant.
81982         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
81983         This requires that we sometimes generate our own TZ="XXX..." setting.
81984
81985 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81986
81987         * doc/getdate.texi: New file, from coreutils with modifications for
81988         the new TZ parsing.
81989
81990 2004-10-27  Derek R. Price  <derek@ximbiot.com>
81991
81992         * lib/mktime.c (not_equal_tm): Remove redundant check.
81993
81994 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81995
81996         * modules/regex (lib_SOURCES): Add regex.c.
81997         Reported by James Youngman in
81998         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
81999
82000 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82001
82002         * lib/getdate.y: Use Bison 1.875 features, and some minor
82003         code cleanups.  This change does not affect semantics.
82004         Don't include <stdlib.h>; no longer needed.
82005         Don't include unlocked-io.h; only the "#if TEST" code uses
82006         stdio, and performance isn't crucial there.
82007         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
82008         Bison 1.875 features as described below.
82009         All uses of "PC." replaced by "pc->".
82010         (YYSTYPE): Add a forward declaration.
82011         (yylex, yyerror): Use full prototypes in forward decls.
82012         Use "%pure-parser" rather than obsolescent "%pure_parser".
82013         Use %parse-param and %lex-param instead of obsolescent
82014         YYPARSE_PARAM and YYLEX_PARAM.
82015         (meridian_table, month_and_day_table, time_units_table,
82016         relative_time_table, time_zone_table, military_table,
82017         lookup_zone, lookup_word, get_date):
82018         Use NULL instead of 0 where appropriate.
82019         (to_hour): Avoid abort (), to avoid a dependency on
82020         stdlib.h.
82021         (yyerror, yylex): Now accepts parser_control * arg.
82022         (main) [TEST]: Use '\0' rather than 0 for char.
82023
82024 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82025
82026         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
82027
82028 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82029
82030         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
82031         It's now the caller's responsibility to handle the case where
82032         !HAVE_GETPAGESIZE && !defined getpagesize.
82033
82034         * lib/mktime.c (leapyear): Arg is long int, not int.
82035
82036 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
82037
82038         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
82039
82040 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
82041
82042         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
82043         missing.  Problem reported by James Youngman.
82044
82045 2004-10-16  Simon Josefsson  <jas@extundo.com>
82046
82047         * gnulib-tool: Fix comments.  Fix parse problem.
82048         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
82049
82050 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
82051
82052         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
82053         implementation of getopt_long.  Problem reported by Alexander Taler in:
82054         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
82055
82056 2004-10-15  Bruno Haible  <bruno@clisp.org>
82057
82058         * gnulib-tool: Untabify. Initialize supplied_libname.
82059         (func_usage): More homogenous output.
82060         (func_modules_transitive_closure, func_modules_to_filelist,
82061         func_emit_lib_Makefile_am): New functions.
82062         (func_import): New function, extracted from big case statement. Use
82063         func_get_license, func_modules_transitive_closure,
82064         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
82065         opt_lgpl. Don't use test -a, as it's not portable.
82066         (func_create_testdir): Use func_modules_transitive_closure,
82067         func_modules_to_filelist, func_emit_lib_Makefile_am.
82068
82069 2004-10-15  Bruno Haible  <bruno@clisp.org>
82070
82071         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
82072
82073 2004-10-15  Bruno Haible  <bruno@clisp.org>
82074
82075         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
82076         the portions belonging to each module.
82077         Suggested by Derek Robert Price <derek@ximbiot.com>.
82078
82079 2004-10-12  Simon Josefsson  <jas@extundo.com>
82080
82081         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
82082         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
82083         to real functions.
82084
82085 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82086
82087         * modules/vsnprintf: New file.
82088
82089 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82090
82091         * m4/vsnprintf.m4: New file.
82092
82093 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82094
82095         * lib/vsnprintf.h: New file.
82096         * lib/vsnprintf.c: New file.
82097
82098 2004-10-11  Bruno Haible  <bruno@clisp.org>
82099
82100         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
82101         vsnprintf.
82102
82103 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
82104
82105         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
82106
82107 2004-10-07  Bruno Haible  <bruno@clisp.org>
82108
82109         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
82110         fits into the provided buffer.
82111
82112 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
82113
82114         * lib/diacrit.c, diacrit.h: Add GPL notice.
82115
82116         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
82117         notice.
82118         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
82119         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
82120         This avoids a potential constant-folding bug.
82121
82122 2004-10-05  Bruno Haible  <bruno@clisp.org>
82123
82124         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
82125         for the declaration of strsep.
82126
82127 2004-10-05  Bruno Haible  <bruno@clisp.org>
82128
82129         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
82130
82131 2004-10-04  Simon Josefsson  <jas@extundo.com>
82132
82133         * modules/memmem: New file.
82134         * tests/test-memmem.c: New file.
82135         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
82136
82137 2004-10-04  Simon Josefsson  <jas@extundo.com>
82138
82139         * m4/memmem.m4: New file.
82140
82141 2004-10-04  Simon Josefsson  <jas@extundo.com>
82142
82143         * lib/memmem.h: New file.
82144         * lib/memmem.c: New file, taken from glibc.
82145
82146 2004-10-04  Simon Josefsson  <jas@extundo.com>
82147
82148         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
82149         '#ifdef USE_UNLOCKED_IO'.
82150
82151 2004-10-04  Simon Josefsson  <jas@extundo.com>
82152
82153         * config/srclist.txt: Add memmem from glibc.
82154
82155 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82156
82157         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
82158
82159         * modules/argmatch, modules/argp, modules/closeout, modules/error,
82160         modules/exclude, modules/getdate, modules/getline,
82161         modules/getndelim2, modules/getpass, modules/getpass-gnu,
82162         modules/getusershell, modules/linebuffer, modules/md5,
82163         modules/mountlist, modules/posixtm, modules/readtokens,
82164         modules/readutmp, modules/regex, modules/sha1,
82165         modules/version-etc, modules/yesno:
82166         Remove dependency on unlocked-io.
82167
82168 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82169
82170         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
82171
82172         * m4/unlocked-io.m4: Add copyright notice.
82173         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
82174
82175 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82176
82177         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
82178         * lib/xmalloc.c (xmemdup): Likewise.
82179         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
82180         XFREE): Remove these long-obsolescent macros.
82181         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
82182         * lib/xstrdup.c: Remove.
82183
82184         * lib/regex.c (re_comp): Cast gettext return value to char *,
82185         Problem reported by Martin Neitzel via Mark D. Baushke.
82186
82187 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82188
82189         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
82190         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
82191         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
82192         regex.c, sha1.c, version-etc.c, yesno.c:
82193         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
82194         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
82195         the includer's responsibility.
82196
82197         Sync from coreutils.
82198
82199         * lib/modechange.c (mode_compile): Don't decrement a pointer that
82200         points to the start of a string, as the C Standard says the
82201         resulting behavior is undefined.
82202
82203         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
82204         simple -> simple_backups, numbered_existing ->
82205         numbered_existing_backups, numbered -> numbered_backups
82206         to avoid shadowing problems.  All uses changed.
82207         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
82208         * lib/backupfile.c (check_extension, numbered_backup):
82209         Rename locals to avoid shadowing 'basename'.
82210         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
82211         once.
82212
82213         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
82214         * lib/.cvsignore: Add getopt.h.
82215
82216 2004-10-04  Bruno Haible  <bruno@clisp.org>
82217
82218         * modules/README: New file.
82219         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
82220         not a module.
82221
82222 2004-10-02  Jim Meyering  <jim@meyering.net>
82223
82224         * lib/dirfd.h, getpagesize.h: Add copyright notice.
82225
82226 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82227
82228         * modules/strsep: New file.
82229
82230 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82231
82232         * m4/strsep.m4: New file.
82233
82234 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82235
82236         * lib/strsep.h: New file.
82237         * lib/strsep.c: New file.
82238
82239 2004-10-01  Simon Josefsson  <jas@extundo.com>
82240
82241         * lib/snprintf.c (snprintf): Handle size==0.
82242
82243 2004-10-01  Simon Josefsson  <jas@extundo.com>
82244             Bruno Haible  <bruno@clisp.org>
82245
82246         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
82247         (snprintf): Declare 'args'.
82248
82249 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
82250
82251         * lib/snprintf.c: Remove comments as to why each header is needed.
82252
82253 2004-10-01  Bruno Haible  <bruno@clisp.org>
82254
82255         * MODULES.html.sh: Add strsep.
82256
82257 2004-09-30  Simon Josefsson  <jas@extundo.com>
82258
82259         * modules/snprintf: New file.
82260
82261 2004-09-30  Simon Josefsson  <jas@extundo.com>
82262
82263         * m4/snprintf.m4: New file.
82264
82265 2004-09-30  Simon Josefsson  <jas@extundo.com>
82266
82267         * lib/snprintf.h, lib/snprintf.c: New files.
82268
82269 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82270
82271         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
82272         (hol_entry_help): Never translate an empty string.
82273         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
82274         * lib/argp.h (OPTION_NO_TRANS): New option.
82275
82276 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82277
82278         * modules/argp (Maintainer): Replace Simon Josefsson
82279         by Sergey Poznyakoff.
82280
82281 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82282
82283         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
82284         changes merged back into glibc.
82285
82286 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82287
82288         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
82289
82290 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82291
82292         * lib/xvasprintf.c: Include xalloc.h.
82293         (xvasprintf): Use xalloc_die, not xmalloc_die.
82294
82295 2004-09-29  Bruno Haible  <bruno@clisp.org>
82296
82297         * modules/alloca-opt: New file, derived from modules/alloca.
82298         * modules/allocsa: Depend on alloca-opt instead of alloca.
82299         * modules/setenv: Likewise.
82300         * modules/vasnprintf: Likewise.
82301         * MODULES.html.sh: Add alloca-opt.
82302
82303 2004-09-28  Simon Josefsson  <jas@extundo.com>
82304
82305         * gnulib-tool: New parameter --lgpl, to asseert that modules are
82306         LGPL, and to replace license template from GPL to LGPL.
82307
82308 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
82309
82310         * modules/dummy: Change license to LGPL.
82311
82312 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
82313
82314         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
82315
82316 2004-09-24  Simon Josefsson  <jas@extundo.com>
82317
82318         * modules/minmax (License): Change from GPL to LGPL.
82319
82320 2004-09-23  Simon Josefsson  <jas@extundo.com>
82321
82322         * gnulib-tool (--import): Typo.
82323
82324 2004-09-23  Simon Josefsson  <jas@extundo.com>
82325
82326         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
82327
82328 2004-09-22  Bruno Haible  <bruno@clisp.org>
82329
82330         * modules/*: Add 'License' field.
82331         * gnulib-tool: Accept --extract-license option.
82332         (func_get_license): New function.
82333
82334 2004-09-21  Bruno Haible  <bruno@clisp.org>
82335
82336         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
82337         Reported by Simon Josefsson.
82338
82339 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
82340
82341         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
82342         gl_AC_TYPE_LONG_LONG.
82343
82344 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
82345
82346         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
82347
82348 2004-09-18  Simon Josefsson  <jas@extundo.com>
82349         and  Paul Eggert  <eggert@cs.ucla.edu>
82350
82351         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
82352         calls with autoreconf.  Define GL_LIB.
82353
82354 2004-09-14  Karl Berry  <karl@gnu.org>
82355
82356         * config/srclist.txt: unsync setenv.c, sigh.
82357
82358 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
82359
82360         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
82361         Problem reported by Bruno Haible in:
82362         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
82363
82364 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
82365
82366         * config/srclist.txt: Comment out argp-pvh.c.
82367
82368 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
82369
82370         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
82371         in case some system header has #define'd it.  Problem reported by
82372         Soeren D. Schulze in
82373         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
82374
82375 2004-09-09  Karl Berry  <karl@gnu.org>
82376
82377         * regex.[ch]: delete from the root.  These were supposed to be
82378                 synced with emacs cvs, but this has not happened for about
82379                 a year, and anyway nothing else uses emacs regex.[ch].
82380                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
82381                 lib/regex[.ch] is untouched.
82382
82383 2004-09-09  Bruno Haible  <bruno@clisp.org>
82384
82385         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
82386
82387 2004-09-09  Bruno Haible  <bruno@clisp.org>
82388
82389         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
82390         modifications.
82391         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
82392
82393 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
82394
82395         * modules/xvasprintf: New file.
82396         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
82397
82398 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
82399
82400         * lib/xvasprintf.h: New file.
82401         * lib/xvasprintf.c: New file.
82402         * lib/xasprintf.c: New file.
82403
82404 2004-09-08  Bruno Haible  <bruno@clisp.org>
82405
82406         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
82407
82408 2004-09-08  Bruno Haible  <bruno@clisp.org>
82409
82410         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
82411         length is > INT_MAX.
82412         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
82413         more.
82414
82415 2004-09-08  Bruno Haible  <bruno@clisp.org>
82416
82417         * lib/stdint_.h: New file, taken from GNU clisp.
82418
82419 2004-09-08  Bruno Haible  <bruno@clisp.org>
82420             Oskar Liljeblad  <oskar@osk.mine.nu>
82421
82422         * modules/stdint: New file.
82423         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
82424
82425 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82426
82427         Import from coreutils.
82428         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
82429         strings on unbounded length.  alloca's performance benefits aren't
82430         that important here.
82431         (V_STRDUP): Remove.
82432         (parse_with_separator): New function, with most of the internals
82433         of the old parse_user_spec.  Allow user to omit both user and group,
82434         for compatibility with FreeBSD.
82435         Clone only the user name, not the entire spec.
82436         Do not set *uid, *gid unless entirely successful.
82437         Avoid memory leak in some failing cases.
82438         Fix regression for USER.GROUP reported by Dmitry V. Levin in
82439         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
82440         (parse_user_spec): Rewrite to use parse_with_separator.
82441
82442 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82443
82444         * modules/userspec: Don't depend on alloca.
82445
82446 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82447
82448         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
82449
82450 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
82451
82452         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
82453         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
82454         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
82455
82456 2004-08-16  Simon Josefsson  <jas@extundo.com>
82457
82458         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
82459         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
82460         Add --dry-run for --import.
82461         Let user provided command line parameters override configure.ac
82462         settings.
82463
82464 2004-08-12  Simon Josefsson  <jas@extundo.com>
82465
82466         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
82467         as discussed with Paul Eggert in threads rooted at
82468         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
82469         and
82470         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
82471         Before, the test was empty, and relied on ELIDE_CODE in source
82472         code.)
82473         (gl_PREREQ_GETOPT): New macro.
82474         (gl_GETOPT): Use them.
82475
82476 2004-08-12  Simon Josefsson  <jas@extundo.com>
82477
82478         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
82479         * lib/getopt_.h: Renamed from getopt.h.
82480
82481 2004-08-12  Simon Josefsson  <jas@extundo.com>
82482
82483         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
82484         Change default library name from libfoo to libgnu.
82485         Now, if you have a configure.ac that says:
82486                 gl_SOURCE_BASE(gl)
82487                 gl_M4_BASE(gl/m4)
82488                 gl_MODULES(error getopt etcetera)
82489                 gl_INIT
82490         you can import all you need by running:
82491                 ../gnulib/gnulib-tool --import
82492
82493         * modules/getopt (Files): Rename getopt.h to getopt_.h.
82494         (Makefile.am): Rewrite, use logic from argz.
82495         (Include): Use <getopt.h> instead of "getopt.h".
82496
82497 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82498
82499         * modules/argp (Files): Add m4/unlocked-io.m4.
82500         (Depends-on): Add extensions.
82501
82502 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82503
82504         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
82505         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
82506         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
82507         Check for program_invocation_name, program_invocation_short_name,
82508         flockfile, funlockfile, features.h, _getopt_long_only_r.
82509
82510 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82511
82512         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
82513         its complicated substitute.
82514         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
82515         and program_invocation_name.
82516         (__argp_basename) [!_LIBC]: Remove; the only use was
82517         replaced by its body.
82518         (__argp_short_program_name): Change condition from
82519         !defined __argp_short_program_name to
82520         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
82521         to match argp-namefrob.h.
82522         (__argp_failure): Don't assume strerror_r returns char *.
82523         * lib/argp-parse.c (N_): Define unconditionally.
82524         (argp_default_options): Fill out initializers with 0 to avoid
82525         gcc warnings.
82526
82527 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82528
82529         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
82530         getopt1.c.
82531
82532 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82533
82534         Merge from coreutils.
82535
82536         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
82537
82538         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
82539         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
82540
82541 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82542
82543         Merge from coreutils.
82544
82545         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
82546         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
82547         for Reliant Unix 5.43.
82548
82549         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
82550         (union fooround): Use uintmax_t, not long int.
82551         The rest is a merge from libc:
82552         [defined _LIBC]: Include <shlib-compat.h>.
82553         (_obstack) [defined _LIBC]: Remove after 2.3.4.
82554
82555         * lib/settime.c (settime): Recode to avoid warning with
82556         Sun Forte C 6U2.
82557
82558         * lib/strverscmp.c: Convert to UTF-8.
82559
82560 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82561
82562         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
82563         m4/uintmax_t.m4.
82564
82565 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82566
82567         * modules/xalloc-die: New file.
82568         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
82569
82570         * modules/md5 (Files): Add m4/uint32_t.m4.
82571         * modules/sha1: Renamed from modules/sha.
82572         (Files):
82573         Rename lib/sha.h to lib/sha1.h.
82574         Rename lib/sha.c to lib/sha1.c.
82575         Rename m4/sha.m4 to m4/sha1.m4.
82576         (lib_SOURCES): Likewise.
82577         (configure.ac): Rename gl_SHA to gl_SHA1.
82578         (Include): sha.h -> sha1.h.
82579
82580 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82581
82582         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
82583         * m4/sha1.m4: Renamed from sha.m4.
82584         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
82585
82586 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82587
82588         * lib/obstack.h (obstack_empty_p):
82589         Don't assume that chunk->contents is suitably aligned.
82590         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
82591         Likewise. Problem reported by Benno in
82592         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
82593
82594         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
82595         readable.  This could be improved further but it'd take some work.
82596
82597 2004-08-08  Simon Josefsson  <jas@extundo.com>
82598
82599         * modules/xgethostname (Depends-on): Remove exit and error (not
82600         used).
82601
82602         * modules/getpass-gnu: Add getpass.h.
82603         (Depends-on): Add stdbool.
82604         * modules/getpass: Add getpass.h.
82605
82606 2004-08-08  Simon Josefsson  <jas@extundo.com>
82607
82608         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
82609         Check getpass declaration.
82610
82611 2004-08-08  Simon Josefsson  <jas@extundo.com>
82612
82613         * lib/xgethostname.c: Don't include error.h (not used).
82614
82615         * lib/getpass.h: Add.
82616         * lib/getpass.c: Include getpass.h first.
82617
82618 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
82619
82620         * lib/xalloc-die.c: New file.
82621         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
82622         All uses removed.
82623         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
82624         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
82625         xalloc-die.c.
82626         (_, N_, xalloc_die): Move to xalloc-die.c.
82627         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
82628         so that we needn't mess with xalloc_msg_memory_exhausted.
82629
82630         * lib/sha1.h: Renamed from sha.h.
82631         (SHA1_H): Renamed from _SHA_H.
82632         (sha1_ctx): Renamed from sha_ctx.
82633         (sha1_init_ctx): Renamed from sha_init_ctx.
82634         (sha1_process_block): Renamed from sha_process_block.
82635         (sha1_process_bytes): Renamed from sha_process_bytes.
82636         (sha1_finish_ctx): Renamed from sha_finish_ctx.
82637         (sha1_read_ctx): Renamed from sha_read_ctx.
82638         (sha1_stream): Renamed from sha_stream.
82639         (sha1_buffer): Renamed from sha_buffer.
82640         * lib/sha1.c: Likewise; renamed from sha.c.
82641         Do not include <sys/types.h>.
82642         Include <stddef.h> rather than <stdlib.h>.
82643
82644 2004-08-08  Bruno Haible  <bruno@clisp.org>
82645
82646         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
82647         FILESYSTEM_PREFIX_LEN.
82648         * lib/progreloc.c: Likewise.
82649         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
82650
82651 2004-08-06  Simon Josefsson  <jas@extundo.com>
82652
82653         * modules/progname (Depends-on): Don't depend on stdbool.
82654
82655 2004-08-06  Simon Josefsson  <jas@extundo.com>
82656
82657         * modules/getsubopt: New file.
82658         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82659         getsubopt.
82660
82661 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82662
82663         More merge from coreutils.
82664
82665         * m4/utimens.m4, m4/utimecmp.m4: New files.
82666         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
82667         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
82668         prereq.m4, sha.m4: Import changes from coreutils.
82669
82670 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82671
82672         More merge from coreutils.
82673         * modules/raise, modules/readtokens0, modules/utimens:
82674         * modules/utimecmp, module/xnanosleep: New files.
82675         * modules/strftime: Add lib/strftime.h.
82676         Change include from <time.h> to "strftime.h".
82677         * modules/yesno: Add lib/yesno.h.
82678         * modules/backupfile: Remove lib/addext.c.
82679         * modules/euidaccess: Add stat-macros.h.
82680         * modules/canonicalize, modules/euidaccess,
82681         modules/filemode, modules/lchown, modules/makepath,
82682         modules/rmdir, modules/stat: Likewise.
82683
82684 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82685
82686         Merge from tar.
82687         * lib/argp-help.c (make_hol, hol_append): Don't assume that
82688         SIZE_MAX is a valid preprocessor constant.
82689         (__argp_basename): Change from "#ifndef _LIBC"
82690         to "#ifndef __argp_short_program_name", so that
82691         we don't compile these functions for tar.
82692
82693         More merges from coreutils.
82694         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
82695         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
82696         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
82697         * lib/addext.c: Remove; no longer needed.
82698         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
82699         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
82700         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
82701         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
82702         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
82703         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
82704         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
82705         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
82706         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
82707         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
82708         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
82709         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
82710         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
82711         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
82712         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
82713         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
82714         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
82715         Import changes from coreutils.
82716
82717 2004-08-05  Simon Josefsson  <jas@extundo.com>
82718
82719         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
82720
82721 2004-08-05  Simon Josefsson  <jas@extundo.com>
82722
82723         * m4/getsubopt.m4: New file.
82724
82725 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82726
82727         Merge from coreutils.
82728
82729         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
82730         * m4/getcwd-path-max.m4: New files.
82731
82732         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
82733         FILESYSTEM_PREFIX_LEN ->
82734         FILE_SYSTEM_PREFIX_LEN.
82735         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
82736         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
82737         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
82738         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
82739
82740         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
82741         prerequisite modules now handle the DOS stuff.
82742         Don't check for unistd.h.
82743
82744 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82745
82746         Merge from coreutils.
82747
82748         * lib/.gdb-history: Remove; this doesn't belong here.
82749
82750         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
82751         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
82752         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
82753         * lib/getcwd.c: New files.
82754
82755         * lib/dirname.h: Include <stdbool.h>.
82756         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
82757         for consistency with POSIX terminology.  All uses changed.
82758         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
82759         (strip_trailing_slashes): Use bool for booleans.
82760         * lib/stripslash.c (strip_trailing_slashes): Likewise.
82761
82762         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
82763         sometimes returns a positive errno value even when it succeeds.
82764         (print_errno_message) [!LIBC]: Fall back on strerror if
82765         __strerror_r fails.
82766
82767         * lib/path-concat.c (mempcpy): Don't define if a system header defines
82768         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
82769         (longest_relative_suffix): New function.
82770         (path_concat): Use it.  Assume first argument is not NULL.
82771         Port to DOS.  Omit redundant separators.
82772         Report an error instead of returning NULL.
82773         Use mempcpy instead of memcpy.
82774         (xpath_concat): Remove: not declared or used.
82775
82776         * lib/same.h: Include <stdbool.h>
82777         (same_name): Return bool, not int.
82778         * lib/same.c (same_name): Likewise.
82779         (errno): Don't declare; we assume C89 or better now.
82780
82781         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
82782         if not already defined.
82783
82784         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
82785         * lib/dup-safer.c (errno): Likewise.
82786
82787 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82788
82789         Merge from coreutils.
82790         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
82791         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
82792         * modules/path-concat: Don't depend on strdup.
82793
82794 2004-08-03  Simon Josefsson  <jas@extundo.com>
82795
82796         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
82797         * lib/progname.h: Don't include stdbool.h.
82798
82799 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82800
82801         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
82802         * MODULES.html.sh (func_all_modules): Remove fatal.
82803
82804 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82805
82806         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
82807
82808 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82809
82810         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
82811         working.
82812
82813 2004-08-02  Simon Josefsson  <jas@extundo.com>
82814
82815         * lib/getsubopt.h: New file, with comments from Bruno Haible.
82816         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
82817         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
82818
82819 2004-08-01  Simon Josefsson  <jas@extundo.com>
82820
82821         * lib/xgetdomainname.c: Include stdlib.h, for free().
82822
82823 2004-07-19  Bruno Haible  <bruno@clisp.org>
82824
82825         * MODULES.html.sh (func_all_modules): Add dummy.
82826
82827 2004-07-16  Simon Josefsson  <jas@extundo.com>
82828
82829         * modules/dummy: New file.
82830
82831 2004-07-16  Simon Josefsson  <jas@extundo.com>
82832
82833         * lib/dummy.c: New file.
82834
82835 2004-07-16  Bruno Haible  <bruno@clisp.org>
82836
82837         * lib/backupfile.h: Add extern "C" for C++.
82838         * lib/closeout.h: Likewise.
82839         * lib/copy-file.h: Likewise.
82840         * lib/findprog.h: Likewise.
82841         * lib/full-write.h: Likewise.
82842         * lib/pathname.h: Likewise.
82843         * lib/progname.h: Likewise.
82844         * lib/stpcpy.h: Likewise.
82845         * lib/stpncpy.h: Likewise.
82846         * lib/strcase.h: Likewise.
82847         * lib/strstr.h: Likewise.
82848         * lib/xalloc.h: Likewise.
82849
82850         * lib/mbswidth.h: Add extern "C" for C++.
82851         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
82852
82853 2004-07-13  Robert Millan  <robertmh@gnu.org>
82854
82855         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
82856
82857 2004-07-09  Simon Josefsson  <jas@extundo.com>
82858
82859         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
82860         failed without this.)
82861
82862 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82863
82864         * modules/chown (Files): Add lib/fchown-stub.c, since
82865         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
82866
82867 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82868
82869         * lib/fchown-stub.c: New file.
82870
82871 2004-06-24  Jim Meyering  <jim@meyering.net>
82872
82873         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
82874
82875 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82876
82877         * modules/argz: Omit "#include".
82878
82879         * MODULES.html.sh (func_all_modules): Add calloc, to match
82880         2004-06-01 addition of calloc module.
82881
82882 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82883
82884         * m4/argz.m4: New file, which is autoupdated from libtool.
82885
82886 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82887
82888         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
82889         libtool.
82890
82891 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82892
82893         * config/srclist-update: Don't insist on "USA." before the
82894         close-comment, as libtool omits the period and puts the */ on a
82895         separate line.
82896         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
82897         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
82898
82899 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
82900
82901         * modules/argz: New file.
82902         * MODULES.html.sh (func_all_modules): Add argz.
82903
82904 2004-06-12  Jim Meyering  <jim@meyering.net>
82905         and  Paul Eggert  <eggert@cs.ucla.edu>
82906
82907         * modules/hash (Files): Add lib/xalloc.h.
82908         * modules/pipe (Depends-on): Add wait-process.
82909         * modules/stat (Depends-on): Add xalloc.
82910         * modules/userspec (Files): Add lib/userspec.h.
82911         * modules/xstrto
82912
82913         Upgrade from gettext-0.13.
82914         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
82915         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
82916         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
82917
82918 2004-06-10  Jim Meyering  <jim@meyering.net>
82919
82920         * lib/calloc.c: New file.
82921
82922 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
82923
82924         * lib/getdate.y (yylex): Allow space between sign and number.
82925         Problem reported by Dan Jacobson.
82926
82927 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82928
82929         Merge from coreutils CVS.
82930
82931         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
82932         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
82933         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
82934         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
82935         xstrtol.m4: Fix copyright date and/or serial number.
82936
82937         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
82938         See if we need an fchown replacement.
82939         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
82940         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
82941         and use the replacement function if we detect either defect.
82942
82943         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
82944         gl_UTIMECMP.
82945
82946 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82947         and  Jim Meyering  <jim@meyering.net>
82948
82949         Merge from coreutils CVS.
82950
82951         * lib/stat-macros.h: New file, with contents from file-type.h
82952         and coreutils' system.h.
82953         * lib/file-type.c: Include "stat-macros.h".
82954         * lib/file-type.h (file_type): Move all macro definitions to new file,
82955         stat-macros.h.
82956
82957         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
82958         Wrap old code with this conditional.
82959         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
82960         function that does not dereference symlinks.
82961         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
82962
82963         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
82964         dependency problems.
82965         (xreadlink): Accept new arg SIZE, for efficiency.
82966         All decls and uses changed.
82967         * lib/xreadlink.h: Include <stddef.h>, for size_t.
82968
82969         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
82970         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
82971
82972         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
82973         sysexits.h.
82974
82975 2004-06-01  Jim Meyering  <jim@meyering.net>
82976
82977         * m4/calloc.m4: New file.
82978
82979 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
82980
82981         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
82982         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
82983         Also, fix a typo in a diagnostic.
82984
82985 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82986
82987         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
82988         or AC_FUNC_REALLOC.
82989
82990 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82991
82992         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
82993         macros to be defined.
82994         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
82995         the allocator returns NULL because the requested size is zero.
82996
82997 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82998
82999         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
83000         var.  Add comment explaining why libc still defines it.  This
83001         merges the following patch from glibc:
83002         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
83003
83004 2004-05-20  Andreas Schwab  <schwab@suse.de>
83005
83006         * m4/free.m4: Replace free if it not known to work, not the other
83007         way round.
83008
83009 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
83010
83011         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
83012         present in glibc since revision 1.1 of this file.
83013         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
83014         obstack_alignment_mask, obstack_alloc, obstack_base,
83015         obstack_blank, obstack_blank_fast, obstack_chunk_size,
83016         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
83017         obstack_grow0, obstack_init, obstack_int_grow,
83018         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
83019         obstack_next_free, obstack_object_size, obstack_ptr_grow,
83020         obstack_ptr_grow_fast, obstack_room): Remove declarations of
83021         nonexistent functions.
83022
83023 2004-05-18  Karl Berry  <karl@gnu.org>
83024
83025         * config/srclist.txt: break link for vasnprintf.c.
83026
83027 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
83028
83029         Port obstack to the AS/400, where pointers are 16 bytes wide and
83030         you cannot cast an integer to a valid pointer.  This patch is
83031         currently waiting to be integrated into glibc; see
83032         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
83033
83034         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
83035         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
83036         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
83037         (struct obstack): temp member is now a union of a pointer and
83038         an integer, instead of an integer.  All integer uses changed.
83039         This does not affect the physical layout of struct obstack,
83040         except on hosts (like the AS/400) where the size or alignment of
83041         void * is greater than that of ptrdiff_t.
83042         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
83043         __STDC__)]: Store temporary in pointer member of union, not
83044         integer member.
83045         * lib/obstack.c: Include <stddef.h>, for offsetof.
83046         (struct fooalign): Remove; it doesn't need a name.
83047         (union fooround): Change double to long double, and add void *.
83048         (DEFAULT_ALIGNMENT): Use offsetof to compute.
83049         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
83050         not a macro.  Hence the values are always int; so remove all
83051         casts-to-int in uses.
83052
83053 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
83054
83055         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
83056         we can get this patch merged into glibc.
83057
83058 2004-05-17  Derek R. Price  <derek@ximbiot.com>
83059             Paul Eggert  <eggert@cs.ucla.edu>
83060
83061         * m4/argp: Depend on alloca.
83062
83063 2004-05-17  Derek R. Price  <derek@ximbiot.com>
83064             Paul Eggert  <eggert@cs.ucla.edu>
83065
83066         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
83067         freecoding.
83068
83069 2004-05-17  Bruno Haible  <bruno@clisp.org>
83070
83071         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
83072         precision that consists of a '.' followed by an empty digit string.
83073         Patch by Tor Lillqvist <tml@iki.fi>.
83074
83075 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
83076
83077         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
83078         for backward compatibility with older code.  We need our own
83079         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
83080         it under some other name, and our alloca.h will define it.
83081
83082 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
83083             Derek Price  <derek@ximbiot.com>
83084
83085         * lib/alloca.c: Include <alloca.h>, to get our interface.
83086         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
83087         include <alloca.h> first.  Use C89 prototype for alloca; this
83088         requires including <stddef.h> for size_t.  Use extern "C" if C++.
83089         Use #elif for simplicity, since we can assume C89 now.
83090         Don't try to source the system alloca.h since it will not be found
83091         and to prevent recursively including its replacement.
83092         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
83093         * lib/regex.c: Likewise.
83094
83095 2004-05-16  Derek Price  <derek@ximbiot.com>
83096             Paul Eggert  <eggert@cs.ucla.edu>
83097
83098         getline cleanup.  This changes the getndelim2 API: both order of
83099         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
83100         no delimiter).
83101
83102         * lib/getline.c: Don't include stddef.h or stdio.h, since our
83103         interface does that.
83104         (getline): Always use getdelim, so that we don't have two
83105         copies of this code.
83106         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
83107         if available.
83108         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
83109         (GETNDELIM2_MAXIMUM): New macro.
83110         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
83111         instead of the old practice of delim2==0.  All callers changed.
83112         Return -1 on overflow, instead of returning junk.
83113         Do not set *linesize unless allocation succeeds.
83114         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
83115         that we include sys/types.h.
83116         * lib/getnline.h: Likewise.
83117         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
83118         (getndelim2): Reorder arguments.
83119         * lib/getnline.c (getnline, getndelim):
83120         Don't discard the NMAX argument.
83121         (getnline): Invoke getndelim, to avoid code duplication.
83122         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
83123         of (size_t) -1 by callers of the getnline family.
83124
83125 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83126
83127         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
83128         Check for gettimeofday.
83129         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
83130         Check for settimeofday, stime.
83131
83132 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83133
83134         * lib/nanosleep.c (suspended): Change its type from int to
83135         sig_atomic_t volatile.
83136         (first_call): Make it private to rpl_nanosleep, and have it
83137         be zero initially as that's a bit faster.
83138         (my_usleep): Round up fractional times instead of truncating them,
83139         as this is the usual meaning for 'sleep'.
83140
83141         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
83142         doesn't work.
83143         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
83144         (ENOSYS): Define if not defined.
83145         (settime): Fall back on stime if it exists and settimeofday fails.
83146         But don't bother with fallbacks if a method fails with errno == EPERM.
83147
83148 2004-05-11  Jim Meyering  <jim@meyering.net>
83149
83150         Prior to this change, the save_cwd caller required read access to the
83151         current directory on most systems (ones with the fchdir function).
83152
83153         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
83154         fails, try write-only, and finally, resort to using xgetcwd.
83155
83156 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83157
83158         * lib/obstack.c, obstack.h: Import changes from libc.
83159
83160 2004-04-28  Bruno Haible  <bruno@clisp.org>
83161
83162         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
83163         also implicitly appends .exe to executables.
83164         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
83165         accepts Windows pathnames.
83166         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
83167         Treat Cygwin like Windows, since it now accepts Windows pathnames.
83168         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
83169         Treat Cygwin like Windows, since it now accepts Windows pathnames.
83170         Reported by Derek Robert Price <derek@ximbiot.com>.
83171
83172 2004-04-21  Karl Berry  <karl@gnu.org>
83173
83174         * config/srclist.txt (localcharset.c): break sync.
83175
83176 2004-04-20  Paul Eggert  <eggert@twinsun.com>
83177
83178         * m4/host-os.m4: Add a copyright notice.
83179
83180 2004-04-20  Jim Meyering  <jim@meyering.net>
83181
83182         Change UTILS_ to gl_ in AC_DEFINE'd names.
83183         Change utils_- and jm_-prefixed variables, too.
83184         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
83185         UTILS_FUNC_MKDIR_TRAILING_SLASH.
83186         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
83187
83188         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
83189         Don't emit trailing blanks.
83190         Also rename jm_-prefixed variables to have gl_ prefix.
83191
83192         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
83193         Also rename jm_-prefixed variables to have gl_ prefix.
83194
83195         * m4/jm-macros.m4: Reflect the renamings.
83196         * m4/prereq.m4: Likewise.
83197
83198 2004-04-20  Jim Meyering  <jim@meyering.net>
83199
83200         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
83201         memory.
83202
83203 2004-04-20  Jim Meyering  <jim@meyering.net>
83204             Bruno Haible  <bruno@clisp.org>
83205
83206         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
83207         memory when realloc fails.
83208
83209 2004-04-19  Jim Meyering  <jim@meyering.net>
83210
83211         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
83212         now that readutmp.c may call `free (0)'.
83213
83214 2004-04-19  Bruno Haible  <bruno@clisp.org>
83215
83216         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
83217         * m4/inttypes_h.m4: Likewise.
83218         * m4/stdint_h.m4: Likewise.
83219         * m4/intmax_t.m4: Likewise.
83220         * m4/uintmax_t.m4: Likewise.
83221
83222 2004-04-18  Jim Meyering  <jim@meyering.net>
83223
83224         * m4/prereq.m4: Don't forbid jm_ prefix.
83225
83226         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
83227         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
83228         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
83229         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
83230         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
83231         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
83232         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
83233         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
83234         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
83235         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
83236         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
83237         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
83238         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
83239         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
83240         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
83241         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
83242         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
83243         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
83244         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
83245
83246 2004-04-18  Jim Meyering  <jim@meyering.net>
83247
83248         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
83249         failure, don't leak memory and do call END_UTMP_ENT.
83250
83251 2004-04-16  Jim Meyering  <jim@meyering.net>
83252
83253         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
83254         coreutils' stat program.
83255         (gl_PREREQ): Don't require jm_PREREQ_STAT.
83256
83257 2004-04-11  Paul Eggert  <eggert@twinsun.com>
83258
83259         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
83260         C89.
83261         (CHAR_BIT): Remove, since we assume C89.
83262         Include <stdint.h> if available, as per current Autoconf CVS advice.
83263
83264 2004-03-31  Jim Meyering  <jim@meyering.net>
83265
83266         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
83267         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
83268         * m4/xalloc.m4: Likewise.
83269
83270 2004-03-30  Paul Eggert  <eggert@twinsun.com>
83271
83272         Merge from coreutils.
83273
83274         * m4/inttostr.m4: New file.
83275         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
83276         Require AM_STDBOOL_H and gl_TIMESPEC instead.
83277         Require gl_CLOCK_TIME.
83278         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
83279
83280 2004-03-30  Paul Eggert  <eggert@twinsun.com>
83281
83282         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
83283         not bool, to be more consistent with Unix conventions.
83284         Suggested by Bruno Haible.
83285
83286         Merge from coreutils.
83287
83288         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
83289         * lib/umaxtostr.c: New files.
83290
83291         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
83292         the usual <time.h> dance.
83293         (get_date): Change signature to support fractional time stamps.
83294         All callers changed.
83295         * lib/getdate.y: Include "getdate.h" first, as we can now
83296         assume C89 and don't need to worry about 'const'.
83297         Similarly, include "unlocked-io.h" near start, not in middle.
83298         Include <limits.h>.
83299         (textint.value): Use long int rather than int.
83300         (textint.digits): Use size_t rather than int.
83301         (BILLION, LOG10_BILLION): New constants.
83302         (parser_control): New member rel_ns.  Members day_ordinal,
83303         time_zone, month, day, hour, minutes, rel_year, rel_month,
83304         rel_day, rel_hour, rel_minutes, rel_seconds
83305         are now long int, not int.  Member seconds is now struct timespec,
83306         not int.  New member timespec_seen.  Members dates_seen, days_seen,
83307         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
83308         not int.
83309         (%union.intval): Now long int, not int.
83310         New member timespec.
83311         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
83312         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
83313         (spec): Now is a timespec or an item list.
83314         (timespec, items): New nonterminals.
83315         (time, rel, relunit, number, get_date):
83316         Add support for fractional seconds.
83317         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
83318         (gmtime, localtime, mktime): Remove decls; not needed with C89.
83319         (to_hour): First arg is now long int, not int.
83320         (to_year): Returns long int, not int.
83321         Don't treat year -70 like 70.
83322         (tm_diff): Returns long int, not int.
83323         (lookup_word): Use bool instead of int when appropriate.
83324         (yylex): Use size_t for count, not int.
83325         Detect overflow when parsing large integer constants.
83326         Add support for fractions.
83327         (get_date): Make pointers 'const' if possible.
83328         Use more-portable code to detect integer overflow.
83329         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
83330         Don't use ctime; it's not reliable if the year has >4 digits.
83331
83332         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
83333         This is for compatibility with BSD.
83334
83335         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
83336         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
83337         From coreutils' system.h.
83338
83339         * lib/userspec.c: Don't include "posixver.h".
83340         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
83341         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
83342         compatible extension.  Simplify code by removing a boolean int
83343         that was always nonzero if a string was nonnull.
83344
83345 2004-03-30  Jim Meyering  <jim@meyering.net>
83346
83347         Merge from coreutils.
83348
83349         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
83350         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
83351         on some systems one must include <grp.h> before it.
83352         Reported by Christian Krackowizer.
83353
83354 2004-03-30  Jim Meyering  <jim@meyering.net>
83355
83356         Merge from coreutils.
83357
83358         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
83359
83360         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
83361         an empty input stream.
83362
83363         * lib/readtokens.c: Include <stdbool.h>.
83364         (readtoken): Use `size_t' rather than int/long.
83365         All callers adjusted.
83366         Use `bool' rather than `int' where appropriate.
83367         Use memset rather than an explicit loop.
83368         Use x2nrealloc rather than xrealloc.
83369         Allow the use of `\0' as a delimiter.
83370         (readtokens): Likewise.
83371         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
83372
83373 2004-03-30  Jim Meyering  <jim@meyering.net>
83374
83375         * m4/realloc.m4: Remove file, since now it does no more than
83376         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
83377         the `configure.ac' section of module/realloc.
83378         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
83379
83380 2004-03-30  Bruno Haible  <bruno@clisp.org>
83381
83382         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
83383         nonnull.
83384
83385 2004-03-29  Paul Eggert  <eggert@twinsun.com>
83386
83387         Merge changes to getloadavg.c from coreutils and Emacs.
83388
83389         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
83390         Define to an expression, not to the empty string.
83391         Include cloexec.h and xalloc.h.
83392         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
83393         Use set_cloexec_flag rather than rolling our own.
83394         * lib/cloexec.c, lib/cloexec.h: New files.
83395
83396 2004-03-29  Paul Eggert  <eggert@twinsun.com>
83397
83398         * m4/cloexec.m4: New file.
83399
83400 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83401
83402         * lib/getopt.h: Sync with libc CVS.
83403
83404 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83405             Bruno Haible  <bruno@clisp.org>
83406
83407         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
83408         mbswidth.
83409
83410 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83411             Bruno Haible  <bruno@clisp.org>
83412
83413         * lib/mbswidth.h: Include <wchar.h> only if
83414         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
83415         <wchar.h>.
83416         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
83417
83418 2004-03-09  Paul Eggert  <eggert@twinsun.com>
83419
83420         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
83421         Sync with libc CVS.
83422         * lib/getopt_int.h: New file, also synced from libc.
83423
83424 2004-03-09  Paul Eggert  <eggert@twinsun.com>
83425
83426         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
83427         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
83428         Bring back getopt.c, getopt.h, getopt1.c.
83429
83430 2004-03-07  Paul Eggert  <eggert@twinsun.com>
83431
83432         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
83433         All uses changed.  Check for sa_sigaction member; this fixes
83434         a bug first reported by Jason Andrade in
83435         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
83436
83437 2004-03-07  Paul Eggert  <eggert@twinsun.com>
83438
83439         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
83440         '#if' expressions.  Unlike the code it replaces, it does not
83441         depend on (defined _SC_PAGESIZE).  However, it does depend on
83442         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
83443         first reported by Jason Andrade in
83444         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
83445
83446 2004-02-25  Simon Josefsson  <jas@extundo.com>
83447
83448         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
83449
83450 2004-02-25  Simon Josefsson  <jas@extundo.com>
83451
83452         * lib/strdup.h: New file.
83453         * lib/strdup.c: Include it.
83454         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
83455         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
83456
83457 2004-02-23  Karl Berry  <karl@gnu.org>
83458
83459         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
83460         (from fencepost.gnu.org:/gd/gnuorg).
83461
83462 2004-02-23  Karl Berry  <karl@gnu.org>
83463
83464         * config/srclistvars.sh (GNUORG) [karl]: redefine.
83465         * config/srclist.txt: add maintain/standards documents.
83466
83467 2004-02-18  Bruno Haible  <bruno@clisp.org>
83468
83469         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
83470         Reported by Derek Robert Price <derek@ximbiot.com>.
83471
83472 2004-02-16  Karl Berry  <karl@gnu.org>
83473
83474         * config/mkinstalldirs, install-sh: update from automake.
83475
83476 2004-02-06  Karl Berry  <karl@gnu.org>
83477
83478         * m4/po.m4: update from gettext 0.14.1.
83479
83480 2004-02-06  Karl Berry  <karl@gnu.org>
83481
83482         * lib/config.charset: update from gettext 0.14.1.
83483
83484 2004-02-05  Paul Eggert  <eggert@twinsun.com>
83485
83486         Add comments and code, prompted by suggestions from Bruno Haible
83487         for sh-quote.
83488         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
83489         describing the enum quoting_style values.
83490         * lib/quotearg.c (quotearg_alloc): New function.
83491         (quotearg_buffer_restyled): Treat lone { and } as special.
83492         Treat = as special.  Work around bug with older shells
83493         that "see" a '\' that is really the 2nd byte of a multibyte char.
83494         Quote empty string with shell_quoting_style.
83495
83496 2004-02-03  Bruno Haible  <bruno@clisp.org>
83497
83498         * m4/pipe.m4: New file, from GNU gettext.
83499
83500 2004-02-03  Bruno Haible  <bruno@clisp.org>
83501
83502         * lib/pipe.h: New file, from GNU gettext.
83503         * lib/pipe.c: New file, from GNU gettext.
83504
83505 2004-01-27  Bruno Haible  <bruno@clisp.org>
83506
83507         * m4/execute.m4: New file, from GNU gettext.
83508
83509 2004-01-27  Bruno Haible  <bruno@clisp.org>
83510
83511         * lib/execute.h: New file, from GNU gettext.
83512         * lib/execute.c: New file, from GNU gettext.
83513         * lib/w32spawn.h: New file, from GNU gettext.
83514
83515 2004-01-24  Paul Eggert  <eggert@twinsun.com>
83516
83517         Merge from diffutils.
83518
83519         * lib/file-type.c (file_type): Add typed memory objects.
83520         * lib/file-type.h (S_TYPEISTMO): New macro.
83521
83522         * lib/c-stack.h (c_stack_action): Remove argv argument.
83523         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
83524         (die): Don't calculate message unless segv_action returns.
83525         (get_stack_location, min_address_from_argv, max_address_from_argv,
83526         volatile stack_base, volatile_stack_size): Remove.
83527         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
83528         that every segmentation violation is a stack overflow.  (Ouch!)
83529         See Debian bug 136249 (still outstanding) for more info about why
83530         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
83531
83532 2004-01-24  Paul Eggert  <eggert@twinsun.com>
83533
83534         Exit-status fix from coreutils.
83535
83536         Use exit_failure consistently in place of EXIT_FAILURE,
83537         so that program exit statuses are consistent on failure.
83538
83539         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
83540         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
83541         * lib/argmatch.h: Comment fix to match the above.
83542         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
83543         Now a macro referring to exit_failure, instead of a separate
83544         variable.  Include "exitfail.h" to get it.
83545         * lib/xstrtol.h: Include "exitfail.h".
83546         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
83547
83548         * lib/long-options.c (parse_long_options): Use prototype
83549         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
83550         for clarity.
83551
83552 2004-01-21  Jim Meyering  <jim@meyering.net>
83553
83554         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
83555         so as not to conflict with a different-sized __mktime_internal
83556         function in GNU libc.
83557         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
83558         Problem building statically-linked `ls' reported by Michael Brunnbauer.
83559
83560 2004-01-20  Karl Berry  <karl@gnu.org>
83561
83562         * config/config.guess: update from config.
83563
83564         * config/srclistvars.sh: GNUWWWLICENSES for karl.
83565
83566 2004-01-20  Bruno Haible  <bruno@clisp.org>
83567
83568         Safer stack allocation.
83569         * lib/setenv.c: Include allocsa.h.
83570         (alloca): Remove fallback definition.
83571         (freea): Remove macro.
83572         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
83573         instead of freea.
83574
83575 2004-01-20  Bruno Haible  <bruno@clisp.org>
83576
83577         * m4/eealloc.m4: New file, from GNU gettext.
83578
83579 2004-01-20  Bruno Haible  <bruno@clisp.org>
83580
83581         * m4/allocsa.m4: New file, from GNU gettext.
83582
83583 2004-01-20  Bruno Haible  <bruno@clisp.org>
83584
83585         * lib/xallocsa.h: New file, from GNU gettext.
83586         * lib/xallocsa.c: New file, from GNU gettext.
83587
83588 2004-01-20  Bruno Haible  <bruno@clisp.org>
83589
83590         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
83591
83592 2004-01-20  Bruno Haible  <bruno@clisp.org>
83593
83594         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
83595         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
83596         specially.
83597
83598 2004-01-20  Bruno Haible  <bruno@clisp.org>
83599
83600         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
83601         patch.
83602
83603 2004-01-20  Bruno Haible  <bruno@clisp.org>
83604
83605         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
83606
83607 2004-01-20  Bruno Haible  <bruno@clisp.org>
83608
83609         * lib/eealloc.h: New file.
83610
83611 2004-01-20  Bruno Haible  <bruno@clisp.org>
83612
83613         * lib/binary-io.h: Avoid warnings on Cygwin.
83614
83615 2004-01-20  Bruno Haible  <bruno@clisp.org>
83616
83617         * lib/allocsa.h: New file, from GNU gettext.
83618         * lib/allocsa.c: New file, from GNU gettext.
83619
83620 2004-01-18  Karl Berry  <karl@gnu.org>
83621
83622         * doc/gpl.texi, doc/lgpl.texi: new files.
83623
83624 2004-01-18  Karl Berry  <karl@gnu.org>
83625
83626         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
83627         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
83628
83629 2004-01-15  Paul Eggert  <eggert@twinsun.com>
83630
83631         Merge from coreutils.
83632
83633         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
83634         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
83635         (gl_DEFAULT_POSIX2_VERSION): Move
83636         the documentation from 'configure' into 'config.hin',
83637         so that 'configure --help' isn't burdened by it and
83638         we don't have to worry about its formatting there.
83639         Reword the documentation so that it's more succinct
83640         and can be run together into a single paragraph.
83641         * m4/same.m4 (gl_SAME): Check for pathconf.
83642
83643 2004-01-15  Paul Eggert  <eggert@twinsun.com>
83644
83645         Merge from coreutils.
83646
83647         * lib/posixver.c: Include posixver.h.
83648
83649         * lib/same.c: Include <stdbool.h>, <limits.h>.
83650         (_POSIX_NAME_MAX): Define if not defined.
83651         (MIN): New macro.
83652         (same_name): If file names are silently truncated, report
83653         that the file names are the same if they are the same after
83654         the silent truncation.
83655
83656         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
83657         conversion function.
83658         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
83659         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
83660         longer needed.
83661
83662 2004-01-15  Jim Meyering  <jim@meyering.net>
83663
83664         Merge from coreutils.
83665
83666         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
83667         if no library is required.
83668         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
83669         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
83670         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
83671         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
83672         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
83673         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
83674         value, $ac_cv_search_crypt, if it's "none required".
83675         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
83676         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
83677         not gl_FUNC_GETLOADAVG.
83678         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
83679         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
83680
83681 2004-01-15  Jim Meyering  <jim@meyering.net>
83682
83683         Merge from coreutils.
83684
83685         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
83686         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
83687         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
83688
83689         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
83690         optional configure-time default.
83691
83692         * lib/version-etc.c (version_etc_copyright): Update copyright date.
83693
83694         * lib/xreadlink.c (xreadlink): Correct outdated comment.
83695
83696 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
83697
83698         Merge from coreutils.
83699
83700         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
83701         value, $ac_cv_search_nanosleep, if it's "none required".
83702
83703 2004-01-14  Paul Eggert  <eggert@twinsun.com>
83704
83705         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
83706         with like-named macro in fnmatch.c.
83707         (EXT): Use an internal constant instead.
83708
83709         Merge fnmatch patches from glibc.
83710         * lib/fnmatch.c (mbsinit): Remove define.
83711         Add libc_hidden_ver (__fnmatch, fnmatch).
83712         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
83713         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
83714
83715 2004-01-14  Karl Berry  <karl@gnu.org>
83716
83717         * config/install-sh: update from automake.
83718
83719 2004-01-13  Karl Berry  <karl@gnu.org>
83720
83721         * config/install-sh: update from automake.
83722
83723 2004-01-09  Karl Berry  <karl@gnu.org>
83724
83725         * config/install-sh: update from automake.
83726
83727 2004-01-05  Karl Berry  <karl@gnu.org>
83728
83729         * config/config.{sub,guess}: update from config.
83730
83731 2003-12-31  Karl Berry  <karl@gnu.org>
83732
83733         * config/depcomp: update from automake.
83734
83735 2003-12-14  Karl Berry  <karl@gnu.org>
83736
83737         * lib/config.charset: update from gettext-runtime.
83738
83739 2003-12-03  Paul Eggert  <eggert@twinsun.com>
83740
83741         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
83742         Bug reported by Alfred M. Szmidt.
83743
83744 2003-12-03  Bruno Haible  <bruno@clisp.org>
83745
83746         * m4/gettext.m4: Upgrade from gettext-0.13.
83747         * m4/po.m4: Upgrade from gettext-0.13.
83748         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
83749         * m4/intmax.m4: New file, from gettext-0.13.
83750         * m4/printf-posix.m4: New file, from gettext-0.13.
83751
83752 2003-11-29  Karl Berry  <karl@gnu.org>
83753
83754         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
83755
83756 2003-11-25  Paul Eggert  <eggert@twinsun.com>
83757             Bruno Haible  <bruno@clisp.org>
83758
83759         * lib/printf-parse.h: Don't include sys/types.h.
83760         (ARG_NONE): New macro.
83761         (char_directive): Change type of *arg_index fields to size_t.
83762         * lib/printf-parse.c: Don't include sys/types.h.
83763         (SSIZE_MAX): Remove macro.
83764         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
83765         Remove unnecessary overflow check.
83766         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
83767         fields.
83768
83769 2003-11-25  Bruno Haible  <bruno@clisp.org>
83770
83771         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
83772
83773 2003-11-25  Bruno Haible  <bruno@clisp.org>
83774
83775         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
83776         gt_TYPE_SSIZE_T.
83777
83778 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83779
83780         * modules/alloca: Remove dependency on xalloc.
83781
83782 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83783
83784         * lib/alloca.c: Remove dependency on xalloc module.
83785         (xalloc_die): Remove.
83786         (memory_full) [!defined emacs]: New macro.
83787         [!defined emacs]: Don't include xalloc.h.
83788         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
83789         address arithmetic overflows.  Change datatypes a bit to avoid
83790         unnecessary casts.
83791
83792 2003-11-22  Jim Meyering  <jim@meyering.net>
83793
83794         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
83795         s/size/size_t/.
83796
83797 2003-11-21  Karl Berry  <karl@gnu.org>
83798
83799         * config/config.{sub,guess}: update from config.
83800
83801 2003-11-18  Karl Berry  <karl@gnu.org>
83802
83803         * config/config.{sub,guess}: update from config.
83804
83805         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
83806
83807 2003-11-17  Paul Eggert  <eggert@twinsun.com>
83808
83809         * README: Mention that S+T cannot overflow if S is the size of
83810         an existing object and T is sufficiently small.
83811
83812 2003-11-17  Jim Meyering  <jim@meyering.net>
83813
83814         On systems without utime and without a utimes function capable of
83815         dealing with a NULL struct utimbuf* argument, this utime replacement
83816         could -- in unusual circumstances -- leak a file descriptor.
83817         * lib/utime.c: Include <unistd.h> and <errno.h>.
83818         (utime_null): Be sure to close `fd' and to preserve errno.
83819         Reported by Geoff Collyer via Arnold Robbins.
83820
83821 2003-11-17  Bruno Haible  <bruno@clisp.org>
83822
83823         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
83824         (Depends-on): Add xsize.
83825
83826 2003-11-17  Bruno Haible  <bruno@clisp.org>
83827
83828         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
83829
83830 2003-11-17  Bruno Haible  <bruno@clisp.org>
83831
83832         * lib/vasnprintf.c (alloca): Remove fallback definition.
83833         (freea): Remove definition.
83834         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
83835         Reported by Paul Eggert.
83836
83837 2003-11-16  Paul Eggert  <eggert@twinsun.com>
83838             Bruno Haible  <bruno@clisp.org>
83839
83840         Protect against address arithmetic overflow.
83841         * lib/printf-args.h: Include stddef.h.
83842         (arguments): Change type of field 'count' to size_t.
83843         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
83844         'unsigned int' where appropriate.
83845         * lib/printf-parse.h: Include sys/types.h.
83846         (char_directive): Change type of *arg_index fields to ssize_t.
83847         (char_directives): Change type of fields 'count', max_*_length to
83848         size_t.
83849         * lib/printf-parse.c: Include sys/types.h and xsize.h.
83850         (SSIZE_MAX): Define fallback value.
83851         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
83852         instead of 'int' where appropriate. Check a_allocated, d_allocated
83853         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
83854         * lib/vasnprintf.c: Include xsize.h.
83855         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
83856         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
83857         overflow. Avoid wraparound when converting a width or precision from
83858         decimal to binary.
83859
83860 2003-11-16  Bruno Haible  <bruno@clisp.org>
83861
83862         Update from GNU gettext.
83863         * lib/printf-parse.c: Generalize to it can be compiled for wide
83864         strings.
83865         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
83866         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
83867         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
83868         SNPRINTF): New macros.
83869         Don't include <alloca.h> if the file is used inside libintl.
83870         (local_wcslen): New function, for Solaris 2.5.1.
83871         (VASNPRINTF): Use it instead of wcslen.
83872
83873 2003-11-16  Bruno Haible  <bruno@clisp.org>
83874
83875         * lib/xsize.h (xmax): New function.
83876         (xsum, xsum3, xsum4): Declare as "pure" functions.
83877
83878 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83879
83880         * modules/xalloc (Files): Undo latest change, since xalloc.h
83881         no longer needs SIZE_MAX or PTRDIFF_MAX.
83882
83883 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83884
83885         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
83886         gl_PTRDIFF_MAX.
83887
83888 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83889
83890         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
83891         "return", to pacify some unknown compiler.  Problem reported
83892         by Joerg Schilling.
83893
83894 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83895
83896         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
83897         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
83898         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
83899         heuristic is just as accurate as far as we know, and it removes a
83900         dependency on size_max.m4 and ptrdiff_max.m4.
83901
83902 2003-11-11  Bruno Haible  <bruno@clisp.org>
83903
83904         * modules/xsize (Files): Add m4/size_max.m4.
83905         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
83906
83907 2003-11-11  Bruno Haible  <bruno@clisp.org>
83908
83909         * m4/size_max.m4: New file.
83910         * m4/ptrdiff_max.m4: New file.
83911         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
83912         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
83913         (gl_XALLOC): Invoke it.
83914
83915 2003-11-11  Bruno Haible  <bruno@clisp.org>
83916
83917         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
83918         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
83919         defined.
83920
83921 2003-11-10  Paul Eggert  <eggert@twinsun.com>
83922
83923         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
83924         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
83925         rejected some allocations of exactly SIZE_MAX - 2 bytes.
83926         From Bruno Haible.
83927         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
83928         not (size_t) -1, since it's defined here.
83929
83930 2003-11-09  Karl Berry  <karl@gnu.org>
83931
83932         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
83933
83934 2003-11-06  Paul Eggert  <eggert@twinsun.com>
83935
83936         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
83937         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
83938         Reject sizes of exactly SIZE_MAX bytes.
83939         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
83940         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
83941
83942 2003-11-05  Bruno Haible  <bruno@clisp.org>
83943
83944         * lib/xsize.h: Include limits.h, to avoid a possible collision with
83945         SIZE_MAX defined in <limits.h> on Solaris.
83946
83947 2003-11-04  Jim Meyering  <jim@meyering.net>
83948
83949         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
83950         variable names, rather than @VAR@.
83951         * modules/poll: Likewise.
83952
83953 2003-11-04  Bruno Haible  <bruno@clisp.org>
83954
83955         * modules/xsize: New file.
83956         * modules/linebreak: Depend on xsize.
83957         * MODULES.html.sh (func_all_modules): Add xsize.
83958
83959 2003-11-04  Bruno Haible  <bruno@clisp.org>
83960
83961         * m4/xsize.m4: New file.
83962
83963 2003-11-04  Bruno Haible  <bruno@clisp.org>
83964
83965         * lib/xsize.h: New file.
83966         * lib/linebreak.c: Include xsize.h.
83967         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
83968         argument for overflow.
83969         Suggested by Paul Eggert.
83970
83971 2003-11-03  Karl Berry  <karl@gnu.org>
83972
83973         * config/config.{guess,sub}: update from config.
83974
83975 2003-11-03  Jim Meyering  <jim@meyering.net>
83976
83977         * modules/userspec (lib_SOURCES): Add userspec.h.
83978         (Include): Add "userspec.h".
83979         Improve description.
83980
83981 2003-11-03  Jim Meyering  <jim@meyering.net>
83982
83983         * lib/userspec.c: Include "userspec.h".
83984         * lib/userspec.h: New file.
83985
83986 2003-11-03  Bruno Haible  <bruno@clisp.org>
83987
83988         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
83989
83990 2003-11-03  Bruno Haible  <bruno@clisp.org>
83991
83992         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
83993         available, to avoid (extremely rare) race condition.
83994         Suggested by Paul Eggert.
83995
83996 2003-11-02  Karl Berry  <karl@gnu.org>
83997
83998         * config/srclist.txt (vasprintf.c): sync broken, sigh.
83999
84000 2003-10-31  Paul Eggert  <eggert@twinsun.com>
84001
84002         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
84003         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
84004         (read_filesystem_list): Set and use me_type_malloced.
84005         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
84006         whatever the type happens to be), for brevity and consistency.
84007         Check for size calculation overflow on Alphas running OSF/1.
84008
84009 2003-10-31  Jim Meyering  <jim@meyering.net>
84010
84011         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
84012
84013         * lib/linebuffer.c: Include <string.h> for declaration of memset.
84014
84015 2003-10-30  Paul Eggert  <eggert@twinsun.com>
84016             Bruno Haible  <bruno@clisp.org>
84017
84018         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
84019         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
84020
84021 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
84022
84023         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
84024         netbsd*-gnu*.  Suggested by Robert Millan.
84025
84026 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84027
84028         * modules/group-member: Depend on stdbool.
84029
84030 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84031
84032         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
84033
84034 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84035
84036         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
84037         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
84038         after the 'gnu' in these cases.  This fixes some bugs in the
84039         previous change, and is based on suggestions by Robert Millan.
84040
84041 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84042
84043         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
84044         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
84045         no longer needed.
84046         * lib/quotearg.c (quotearg_n_options): Use it.
84047         * lib/group-member.c: Include <stdbool.h>.
84048         (free_group_info): Arg is now const *; don't free arg.
84049         (get_group_info): Now returns bool and accepts struct group_info *,
84050         rather than returning a malloc'ed struct group_info *.
84051         All uses changed.  Check for overflow in internal size calculation.
84052
84053         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
84054         rather than xmalloc/xrealloc.
84055         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
84056         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
84057         conformance bug: the old code used a pointer after freeing the
84058         storage that it addressed.
84059         * lib/hash.c (hash_initialize): Simplify the code by using
84060         xalloc_oversized rather than doing it by hand.
84061         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
84062         the buffer preserved.  Use free and xmalloc instead.
84063         * lib/quotearg.c (quotearg_n_options): Likewise.
84064         Use a simpler test for size overflow.  Don't use xalloc_oversized
84065         because unsigned int might be wider than size_t (!); this suggests
84066         that we should switch from unsigned int to size_t for slot numbers.
84067
84068 2003-10-28  Paul Eggert  <eggert@twinsun.com>
84069
84070         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
84071         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
84072         NetBSD kernels.  Requested by Richard Stallman.
84073
84074 2003-10-27  Paul Eggert  <eggert@twinsun.com>
84075
84076         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
84077         to allocate the returned structure.  Do not allocate a subarray,
84078         as x2nrealloc will do that.
84079         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
84080         instead of xnrealloc.
84081         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
84082
84083 2003-10-27  Bruno Haible  <bruno@clisp.org>
84084
84085         * lib/stdbool_.h: Better support for BeOS.
84086
84087 2003-10-26  Paul Eggert  <eggert@twinsun.com>
84088
84089         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
84090         now uses inline.
84091
84092 2003-10-26  Paul Eggert  <eggert@twinsun.com>
84093
84094         * lib/xalloc.h (xalloc_oversized): New static inline function, for
84095         callers that want to do their own size-overflow checking.  Include
84096         <stdbool.h>, since xalloc_oversized returns bool.
84097         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
84098         to use xalloc_oversized.
84099
84100         Add two functions x2realloc, x2nrealloc, for programs that grow
84101         arrays dynamically by doubling their sizes.
84102         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
84103         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
84104         New functions.
84105
84106         Port to C99 semantics for 'inline' of external functions.
84107         Bug reported by Bruno Haible.
84108         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
84109         with the old contents of xnmalloc.
84110         (xnmalloc, xmalloc): Use it.
84111         (xnrealloc_inline): New static inline function,
84112         with the old contents of xnrealloc.
84113         (xnrealloc, xrealloc): Use it.
84114
84115         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
84116         that.
84117
84118 2003-10-26  Karl Berry  <karl@gnu.org>
84119
84120         * config/srclist.txt (COPYING.DOC): no longer available from
84121         /gd/gnuorg; don't know where the ultimate source is.
84122
84123 2003-10-25  Paul Eggert  <eggert@twinsun.com>
84124
84125         Fix several address-calculation bugs in the hash modules,
84126         plus some minor code cleanup.
84127
84128         * lib/hash.h: Include <stdbool.h>, for bool.
84129         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
84130         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
84131         hash_get_n_entries, hash_get_max_bucket_length,
84132         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
84133         hash_rehash): Use size_t rather than unsigned.
84134         * lib/hash.c (struct hash_table, hash_get_n_buckets,
84135         hash_get_n_buckets_used, hash_get_n_entries,
84136         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
84137         hash_get_entries, hash_do_for_each, hash_string, is_prime,
84138         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
84139         Likewise.
84140         (SIZE_MAX): Define if not defined.
84141         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
84142         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
84143         hash_print):
84144         Use const * when possible.
84145         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
84146         (check_tuning): Fix bug: if tuning parameters were very close to
84147         0 or 1, rounding errors could have caused subscript violations.
84148         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
84149         (hash_initialize): Add 'fail:' label
84150         to free table and return NULL, and use it to simplify code.
84151         Use calloc rather than clearing the storage ourself.
84152         (hash_initialize, hash_rehash): Check for arithmetic overflow in
84153         buffer size calculations.
84154         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
84155         Include <stddef.h>, for size_t.
84156         * lib/hash-pjw.c (hash_pjw): Likewise.
84157         Switch to method described by Bruno Haible.
84158         Include <limits.h>, for CHAR_BIT.
84159         (SIZE_BITS): New macro.
84160
84161 2003-10-23  Paul Eggert  <eggert@twinsun.com>
84162
84163         * m4/getline.m4 (AM_FUNC_GETLINE):
84164         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
84165         hosts.  Problem reported by Derek Robert Price in
84166         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
84167         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
84168         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
84169
84170 2003-10-21  Paul Eggert  <eggert@twinsun.com>
84171
84172         * lib/getndelim2.c (getndelim2): When size calculation overflows,
84173         ceiling the allocation at NMAX bytes rather than silently
84174         discarding input bytes before NMAX is reached.  This makes
84175         a difference only if NMAX exceeds SIZE_MAX / 2.
84176
84177         * lib/obstack.c: Merge from glibc.
84178         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
84179         Add libc_hidden_def (_obstack_newchunk).
84180         (_obstack_free) [! defined _LIBC]: Remove.
84181         [defined _LIBC]: Make a strong alias from obstack_free, rather than
84182         a clone of the function body.
84183         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
84184         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
84185
84186         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
84187         glibc.
84188         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
84189         arg to memcpy.
84190
84191         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
84192         (obstack_ptr_grow_fast, obstack_int_grow_fast):
84193         Don't use lvalue casts, as GCC plans to remove support for them
84194         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
84195         was also present in the non-GCC version, indicating that this
84196         code had always been buggy and had never been widely used.
84197         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
84198         Use the fast variant of each macro, rather than copying the
84199         definiens of the fast variant; that way, we'll be more likely to
84200         catch future bugs in the fast variants.
84201
84202 2003-10-20  Bruno Haible  <bruno@clisp.org>
84203
84204         * modules/wait-process: New file.
84205         * MODULES.html.sh (func_all_modules): Add wait-process.
84206
84207 2003-10-20  Bruno Haible  <bruno@clisp.org>
84208
84209         * m4/wait-process.m4: New file.
84210
84211 2003-10-20  Bruno Haible  <bruno@clisp.org>
84212
84213         * lib/wait-process.h: New file, from GNU gettext.
84214         * lib/wait-process.c: New file, from GNU gettext.
84215
84216 2003-10-19  Jim Meyering  <jim@meyering.net>
84217
84218         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
84219         HPUX 10.20.
84220
84221 2003-10-18  Karl Berry  <karl@gnu.org>
84222
84223         * config/config.guess: update from config.
84224
84225 2003-10-16  Paul Eggert  <eggert@twinsun.com>
84226
84227         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
84228         (getgroups): First arg is int, not size_t.
84229         Don't let 'free' mangle errno.
84230
84231 2003-10-16  Paul Eggert  <eggert@twinsun.com>
84232
84233         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
84234
84235 2003-10-16  Karl Berry  <karl@gnu.org>
84236
84237         * config/config.{guess,sub}: update from config.
84238
84239 2003-10-16  Jim Meyering  <jim@meyering.net>
84240
84241         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
84242         memcpy.
84243
84244 2003-10-15  Paul Eggert  <eggert@twinsun.com>
84245
84246         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
84247         (SIZE_MAX): Remove.
84248         (new_exclude, add_exclude_file): Initial size no longer needs to
84249         be a power of 2.
84250         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
84251         our own address arithmetic overflow checking.
84252
84253         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
84254         (fnmatch): Do not alloca more than 2000 wide characters;
84255         instead, use malloc for large buffers.
84256         Check for address arithmetic overflow, and return -1
84257         with errno set to ENOMEM in that case.
84258         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
84259         (NEW_PATTERN): Do not alloca more than 8000 bytes;
84260         instead, return -1.  Check for address arithmetic overflow.
84261
84262 2003-10-14  Paul Eggert  <eggert@twinsun.com>
84263
84264         Handle invalid suffixes and overflow independently, so that
84265         callers can treat them independently as needed.  Fix some bugs in
84266         suffix handling, e.g., "100k@" was not diagnosed as an invalid
84267         suffix for a human-readable blocksize.  The major caller-visible
84268         change is the addition of a new
84269         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
84270         that both overflow and suffix chars were found.
84271
84272         * lib/human.c (humblock): Don't check separately for invalid suffix
84273         char; that is xstrtoumax's job (now that its bug is fixed).
84274         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
84275         INTMAX_MAX]: New macros.
84276         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
84277         TYPE_MAXIMUM): New macros.
84278         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
84279         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
84280         if overflow occurs, as it's what __strtol does and it's more useful
84281         in practice.
84282         (__xstrtol): If __strtol reports some error other than ERANGE,
84283         reflect it to the caller as LONGINT_INVALID.  If it reports
84284         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
84285         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
84286         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
84287         value.
84288         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
84289         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
84290         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
84291         [defined UINTMAX_MAX]: New macros.
84292
84293 2003-10-14  Bruno Haible  <bruno@clisp.org>
84294
84295         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
84296
84297 2003-10-14  Bruno Haible  <bruno@clisp.org>
84298
84299         * m4/sig_atomic_t: New file, from GNU gettext.
84300         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
84301
84302 2003-10-14  Bruno Haible  <bruno@clisp.org>
84303
84304         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
84305         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
84306         Also use volatile where needed.
84307
84308 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84309
84310         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
84311         Change maintainer from Bruno Haible to 'all'.
84312
84313 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84314
84315         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
84316
84317 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84318
84319         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
84320         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
84321         and define in terms of the other primitives.
84322         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
84323         (SIZE_MAX): Define if not already defined.
84324         (array_size_overflow): New function.
84325         (xalloc_die): Abort instead of exiting if 'error' returns.
84326         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
84327         (xmalloc, xrealloc): Use them.
84328         (xcalloc): Check for address arithmetic overflow.
84329         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
84330         a bit faster than strcpy.
84331
84332 2003-10-10  Simon Josefsson  <jas@extundo.com>
84333
84334         * modules/argp (Depends-on): Add restrict and strcase.
84335
84336 2003-10-10  Simon Josefsson  <jas@extundo.com>
84337
84338         * m4/argp.m4: Add AC_C_INLINE.
84339
84340 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84341
84342         Merge getpass from libc, plus a few fixes.
84343
84344         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
84345         Include <stdbool.h>.
84346         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
84347         __fsetlocking to empty.
84348         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
84349         do include <bits/libc-lock.h>.
84350         Do not include <fcntl.h>; not needed.
84351         [_LIBC]: Include <wchar.h>.
84352         (NOTCANCEL_MODE): New macro.
84353         (flockfile, funlockfile) [_LIBC]: New macros.
84354         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
84355         [!_LIBC]: New macros.
84356         (call_fclose): New function.
84357         (getpass): Use it.  Save tty stream separately; this simplifies the
84358         code and makes it more reliable if stdin happens to equal stdout.
84359         Invoke __fsetlocking on tty.
84360         Handle thread cancellation if needed.
84361         Namespace cleanup (use __tcgetattr, __getline).
84362         Use bool for Booleans.
84363         [USE_IN_LIBIO]: Handle wide streams.
84364         [!_LIBC]: Unconditionally do the fseek, since we don't know what
84365         stream might go where.
84366
84367         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
84368         doesn't have to include <stdio.h> before us.
84369         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
84370         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
84371         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
84372         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
84373         if not declared, so that we can use getpass.c code from libc without
84374         rewriting it.
84375         (flockfile, ftrylockfile, funlockfile): New macros.
84376
84377 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84378
84379         * modules/getpass: Depend on stdbool.
84380
84381 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84382
84383         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
84384
84385 2003-10-07  Karl Berry  <karl@gnu.org>
84386
84387         * config/config.{guess,sub}: update from config.
84388
84389 2003-10-06  Jim Meyering  <jim@meyering.net>
84390             Bruno Haible  <bruno@clisp.org>
84391
84392         This lets translators provide better translations for the
84393         "Written by ..." part of --version output.
84394         * lib/version-etc.h: Include stdarg.h.
84395         (version_etc_copyright): Declare as readonly.
84396         (version_etc): Make this function variadic with a NULL-terminated list
84397         of author name strings.
84398         (version_etc_va): New declaration.
84399         * lib/version-etc.c: Include stdarg.h, stdlib.h.
84400         (version_etc_copyright): Declare as readonly.
84401         (version_etc_va): New function. Provide a different translatable string
84402         for each possible number of authors < 10. Abbreviate when there are 10
84403         authors or more.
84404         (version_etc): Make this function variadic. Call version_etc_va.
84405         Suggestion from Gary V. Vaughan.
84406
84407         * lib/long-options.h (parse_long_options): Change prototype: the
84408         authors string is moved to the end and becomes variadic.
84409         * lib/long-options.c: Include stdarg.h.
84410         (parse_long_options): Make this function variadic, too.
84411         Call version_etc_va, not version_etc.
84412
84413 2003-10-06  Bruno Haible  <bruno@clisp.org>
84414
84415         * modules/version-etc-2: Remove file.
84416         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
84417
84418 2003-10-06  Bruno Haible  <bruno@clisp.org>
84419
84420         * modules/fatal-signal: New file.
84421         * MODULES.html.sh (func_all_modules): Add fatal-signal.
84422
84423 2003-10-06  Bruno Haible  <bruno@clisp.org>
84424
84425         * m4/fatal-signal.m4: New file.
84426         * m4/signalblocking.m4: New file, from GNU gettext.
84427
84428 2003-10-06  Bruno Haible  <bruno@clisp.org>
84429
84430         * lib/version-etc-2.h: Remove file.
84431         * lib/version-etc-2.c: Remove file.
84432
84433 2003-10-06  Bruno Haible  <bruno@clisp.org>
84434
84435         * lib/fatal-signal.h: New file, from GNU gettext.
84436         * lib/fatal-signal.c: New file, from GNU gettext.
84437
84438 2003-10-05  Paul Eggert  <eggert@twinsun.com>
84439
84440         * README: Rework advice for preventing empty .o files.
84441         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
84442         not <sys/types.h>.
84443
84444 2003-10-04  Karl Berry  <karl@gnu.org>
84445
84446         * lib/argp*: update from libc.
84447
84448 2003-10-04  Karl Berry  <karl@gnu.org>
84449
84450         * config/config.{guess,sub}: update from config.
84451
84452 2003-10-02  Bruno Haible  <bruno@clisp.org>
84453
84454         * modules/lchown (Include): Add lchown.h.
84455         * modules/time_r (Include): Use "..." syntax.
84456         * modules/xgetdomainname (Include): Add xgetdomainname.h.
84457
84458 2003-10-01  Simon Josefsson  <jas@extundo.com>
84459
84460         * MODULES.html.sh (func_all_modules): Move gethostname from section
84461         'based on' to section 'lacking' POSIX:2001.
84462
84463 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
84464
84465         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
84466         to output mode on the same stream.
84467
84468 2003-09-29  Paul Eggert  <eggert@twinsun.com>
84469
84470         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
84471         Fix arg typo in previous patch.
84472
84473 2003-09-28  Jim Meyering  <jim@meyering.net>
84474
84475         * lib/error.c: Correct cpp indentation.
84476
84477 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84478
84479         * modules/free: New file.
84480
84481 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84482
84483         * m4/free.m4: New file.
84484
84485 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84486
84487         * lib/minmax.h (MIN, MAX)
84488         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
84489         Omit the special code that used __typeof__, since we worry that
84490         it could be more trouble than it's worth.  See:
84491         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
84492         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
84493
84494         * lib/free.c: New file.
84495
84496 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
84497
84498         Trivial fixes to Makefile.am parts of module listings.
84499         * modules/strstr: Append strstr.h to lib_SOURCES.
84500         * modules/strcase: Likewise, for strcase.h.
84501
84502 2003-09-27  Karl Berry  <karl@gnu.org>
84503
84504         * config/mkinstalldirs: update from automake.
84505
84506 2003-09-26  Paul Eggert  <eggert@twinsun.com>
84507
84508         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
84509         (error_tail): Do not loop, reallocating temporary buffer, since
84510         the output cannot contain more wide characters than the input
84511         contains bytes, the size must be big enough already.  This avoids
84512         one potential size overflow calculation.  Check for size overflow
84513         when calculating temporary buffer size.  Free temporary buffer
84514         when done, if it was allocated with malloc; this plugs a memory
84515         leak.  Remove casts from void * to pointers, that are no longer
84516         needed now that we're assuming C89 or better.
84517
84518         Merge error changes from glibc.
84519
84520         * lib/error.c, error.h: Update copyright notice header to match glibc.
84521         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
84522         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
84523         Disable cancellation while printing error.
84524         * lib/error.h: Prepend __ to parameter names.
84525
84526 2003-09-26  Jim Meyering  <jim@meyering.net>
84527
84528         * lib/error.c (error_tail): Move some declarations
84529         into inner scope where the local variables are used.
84530
84531 2003-09-26  Bruno Haible  <bruno@clisp.org>
84532
84533         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
84534         stpncpy().
84535         Don't define stpncpy through config.h; it's now done through stpncpy.h.
84536
84537 2003-09-26  Bruno Haible  <bruno@clisp.org>
84538
84539         * lib/stpncpy.h (gnu_stpncpy): New declaration.
84540         (stpncpy): Define as alias for gnu_stpncpy.
84541         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
84542
84543 2003-09-25  Simon Josefsson  <jas@extundo.com>
84544
84545         * lib/xgetdomainname.h: New file.
84546         * lib/xgetdomainname.c: New file.
84547
84548 2003-09-25  Simon Josefsson  <jas@extundo.com>
84549             Bruno Haible  <bruno@clisp.org>
84550
84551         * modules/getdomainname: New file.
84552         * modules/xgetdomainname: New file.
84553         * MODULES.html.sh (func_all_modules): Add getdomainname,
84554         xgetdomainname.
84555
84556 2003-09-25  Simon Josefsson  <jas@extundo.com>
84557             Bruno Haible  <bruno@clisp.org>
84558
84559         * m4/getdomainname.m4: New file.
84560
84561 2003-09-25  Simon Josefsson  <jas@extundo.com>
84562             Bruno Haible  <bruno@clisp.org>
84563
84564         * lib/getdomainname.h: New file.
84565         * lib/getdomainname.c: New file.
84566
84567 2003-09-25  Karl Berry  <karl@gnu.org>
84568
84569         * lib/argp-fmtstream.c, argp-help.c: update from libc.
84570
84571 2003-09-25  Karl Berry  <karl@gnu.org>
84572
84573         * config/install-sh: update from automake.
84574
84575 2003-09-25  Bruno Haible  <bruno@clisp.org>
84576
84577         * modules/version-etc-2: New file, from modules/version-etc with
84578         modifications.
84579         * MODULES.html.sh (func_all_modules): Add version-etc-2.
84580
84581 2003-09-25  Bruno Haible  <bruno@clisp.org>
84582
84583         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
84584         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
84585
84586 2003-09-24  Simon Josefsson  <jas@extundo.com>
84587
84588         * modules/xgethostname: Add xgethostname.h.
84589
84590 2003-09-24  Paul Eggert  <eggert@twinsun.com>
84591
84592         * lib/linebuffer.c (freebuffer): Don't free the argument, just
84593         the buffer associated with the argument.  Bug reported by
84594         Simon Josefsson.
84595
84596 2003-09-24  Paul Eggert  <eggert@twinsun.com>
84597
84598         * README: Document assumptions that 'int' is at least 32 bits
84599         wide, that integer arithmetic is 2's complement without overflow,
84600         that there are no holes in integer values, that adding sizes of
84601         two nonoverlapping objects can't overflow, and that all-bits-zero
84602         yields scalar zero.  Fix spelling and capitalization typos.
84603
84604 2003-09-19  Karl Berry  <karl@gnu.org>
84605
84606         * lib/argp.h: update from libc.
84607
84608 2003-09-17  Paul Eggert  <eggert@twinsun.com>
84609
84610         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
84611         to avoid spurious warnings like "AC_RUN_IFELSE was called before
84612         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
84613
84614 2003-09-17  Paul Eggert  <eggert@twinsun.com>
84615
84616         * gnulib-tool: Use "test -h", not "test -L", for portability
84617         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
84618         (tags_regexp): Remove, since \| doesn't conform to POSIX.
84619         (sed_extract_prog): Issue s commands one-by-one, rather than
84620         using \| in one s command.
84621
84622 2003-09-16  Paul Eggert  <eggert@twinsun.com>
84623
84624         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
84625         input error, instead of returning NULL the next time we are called
84626         (and therefore losing track of errno).
84627
84628 2003-09-16  Bruno Haible  <bruno@clisp.org>
84629
84630         * gnulib-tool (func_create_testdir): Warn about duplicated
84631         dependencies.
84632
84633 2003-09-15  Paul Eggert  <eggert@twinsun.com>
84634
84635         * modules/argmatch, modules/fatal, modules/obstack,
84636         modules/xalloc, modules/xgethostname: Sort dependencies by
84637         importance, not alphabetically.
84638
84639 2003-09-15  Paul Eggert  <eggert@twinsun.com>
84640
84641         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
84642         fails, so that the caller gets the proper errno.
84643
84644         * lib/readutmp.c (read_utmp): Likewise.
84645         Check for fstat error.  Close stream and free storage
84646         when failing.
84647
84648 2003-09-14  Karl Berry  <karl@gnu.org>
84649
84650         * config/srclist.txt (strdup.c): disable for c89 changes.
84651
84652 2003-09-14  Jim Meyering  <jim@meyering.net>
84653
84654         * lib/getloadavg.c: Correct cpp indentation.
84655         * lib/strdup.c: Likewise.
84656         * lib/vasnprintf.c: Likewise.
84657
84658 2003-09-14  Bruno Haible  <bruno@clisp.org>
84659
84660         * modules/fwriteerror: New file.
84661         * MODULES.html.sh (func_all_modules): Add fwriteerror.
84662
84663 2003-09-14  Bruno Haible  <bruno@clisp.org>
84664
84665         * lib/fwriteerror.h: New file.
84666         * lib/fwriteerror.c: New file.
84667
84668 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84669
84670         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
84671         modules/xgethostname, modules/xalloc: Depend on exit.
84672
84673 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84674
84675         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
84676
84677         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
84678         and AC_MINIX, too, so that their extensions are available.
84679
84680         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
84681         This macro has been superseded by gl_BACKUPFILE.
84682
84683         More patches to assume C89 or better.
84684
84685         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
84686
84687         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
84688         unconditionally.
84689         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
84690         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
84691         Include <string.h>, <stdlib.h> unconditionally.
84692         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
84693         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
84694         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
84695         headers or for string.h.
84696         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
84697         or strtoul.
84698
84699         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
84700         headers.
84701         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
84702         * m4/userspec.m4 (gl_USERSPEC): Likewise.
84703         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
84704         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
84705         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
84706         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
84707         memcpy, memset.
84708         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
84709         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
84710         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
84711         strtol.
84712         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
84713         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
84714         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
84715         strtoul.
84716
84717 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84718
84719         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
84720         * lib/obstack.c [!defined _LIBC]: Likewise.
84721         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
84722         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
84723         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
84724
84725         More changes to assume C89 or better.
84726
84727         * lib/error.c (error_tail): Assume vprintf.
84728
84729         * lib/argmatch.c (getenv): Remove decl.
84730         * lib/progreloc.c (get_full_program_name): Define via prototype.
84731         * lib/setenv.c (clearenv): Likewise.
84732         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
84733         needed.
84734         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
84735         (malloc, memcpy): Remove decls.
84736         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
84737         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
84738         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84739         (memcpy): Remove macro.
84740         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
84741         (__P): Remove.  All uses removed.
84742         (PTR): Remove.  All uses changed to void *.
84743         (CHAR_BIT, NULL): Remove.
84744         (spaces, zeros, memset_space, memset_zero)
84745         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
84746         Remove.
84747         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
84748         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
84749         Define with prototype.
84750         Remove now-unnecessary prototype decl.
84751         (extra_args_spec): Assume ANSI C.  All uses changed.
84752         (extra_args_spec_iso): Remove.
84753         (my_strftime, emacs_strftimeu): Define via prototype.
84754         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
84755         unconditionally.
84756         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
84757         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
84758         (strtoul, strtol): Remove decls.
84759         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
84760         LONG_MAX): Remove.
84761         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84762         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
84763         (LOCALE_PARAM_PROTO): New macro.
84764         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
84765         (INTERNAL (strtol), strtol): Define with a prototype.
84766         (PARAMS): Remove.  All uses removed.
84767         * lib/tempname.c: Include <string.h> unconditionally.
84768         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
84769         * lib/xgethostname.c (main): Define with a prototype.
84770         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
84771         Include <stdlib.h> unconditionally.
84772         (calloc, malloc, realloc, free): Remove decls.
84773         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
84774         Include <stdlib.h> unconditionally.  Sort include file names.
84775         (strtod): Remove.
84776         (xstrtod): Define with a prototype.
84777         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
84778         (strtol, strtoul): Remove decls.
84779
84780 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84781
84782         More patches to assume C89 or better.
84783         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
84784         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
84785         string.h, memchr, STDC_HEADERS.
84786
84787 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84788
84789         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
84790         Include <stdlib.h>, <string.h> unconditionally.
84791         Remove now-unnecessary cast to char *.
84792         * lib/strnlen.c: Include <string.h> unconditionally.
84793         * lib/yesno.c (yesno): Define with a prototype.
84794
84795 2003-09-11  Bruno Haible  <bruno@clisp.org>
84796
84797         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
84798
84799 2003-09-10  Jim Meyering  <jim@meyering.net>
84800
84801         * lib/error.c: Correct indentation of cpp directives.
84802
84803 2003-09-10  Bruno Haible  <bruno@clisp.org>
84804
84805         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
84806         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
84807         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
84808         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
84809         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
84810         <stdlib.h> and <string.h> checks.
84811         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
84812         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
84813
84814 2003-09-10  Bruno Haible  <bruno@clisp.org>
84815
84816         * lib/strcspn.c: Include <string.h> unconditionally.
84817         * lib/strpbrk.c: Include <string.h> unconditionally.
84818         * lib/strstr.c: Include <string.h> unconditionally.
84819         * lib/unicodeio.c: Include <string.h> unconditionally.
84820         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
84821         * lib/unsetenv.c: Likewise.
84822         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
84823         * lib/yesno.c: Include <stdlib.h> unconditionally.
84824         (rpmatch): Add prototype.
84825
84826 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84827
84828         More patches to assume C89 or better.
84829         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
84830         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
84831         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
84832         or for string.h.
84833         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
84834         stdlib.h.
84835         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
84836         C headers.
84837         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
84838         string.h.
84839         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
84840         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
84841         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
84842         or for string.h.
84843         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
84844         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
84845         C headers.
84846         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
84847         memcpy.
84848         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
84849         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
84850         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
84851         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
84852         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
84853         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
84854         string.h, free.
84855         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
84856         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
84857         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
84858         C headers, or for string.h.
84859         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
84860         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
84861         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
84862         headers, memory.h, stdlib.h, string.h, strings.h.
84863         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
84864         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
84865         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
84866         strchr.
84867         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
84868         headers, memory.h, string.h.
84869         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
84870         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
84871         free.
84872         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
84873         headers.
84874         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
84875         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
84876         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
84877         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
84878         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
84879
84880 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84881
84882         More K&R removal.
84883
84884         * lib/acosl.c (main): Use a prototype.
84885         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
84886         tanl.c: Likewise.
84887
84888         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
84889
84890         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
84891         (getopt, etopt_long, getopt_long_only, _getopt_internal)
84892         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
84893         with a prototype.
84894         * lib/getopt.c (const): Remove macro.
84895         Include <string.h> unconditionally.
84896         (my_index): Remove; all uses changed to strchr.
84897         (strlen): Remove decl.
84898         (exchange): Remove forward decl; no longer needed.
84899         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
84900         Define with prototype.
84901         * lib/getopt1.c (const): Remove macro.
84902         (getopt_long, getopt_long_only, main): Define with prototype.
84903
84904         * lib/getugroups.c: Include <string.h> unconditionally.
84905
84906         * lib/getusershell.c: Include <stdlib.h> unconditionally.
84907         (getusershell, setusershell, endusershell, readname, main):
84908         Define with prototypes.
84909
84910         * lib/group-member.c: Include group-member.h first.
84911         Include <stdlib.h> unconditionally.
84912
84913         * lib/hard-locale.c: Include hard-locale.h first.
84914         Include <stdlib.h>, <string.h> unconditionally.
84915
84916         * lib/hash.c (free, malloc): Remove decls.
84917         Include <stdlib.h> unconditionally.
84918
84919         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
84920         (getenv): Do not declare.
84921
84922         * lib/idcache.c: Include <string.h> unconditionally.
84923
84924         * lib/long-options.c: Include long-options.h first, to test interface.
84925         Include <stdlib.h> unconditionally.
84926
84927         * lib/makepath.c: Include makepath.h first, to test interface.
84928         Include <stdlib.h> and <string.h> unconditionally.
84929
84930         * lib/linebuffer.c: Include <stdlib.h>.
84931         (free): Remove decl.
84932
84933         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
84934         stddef.h. rpl_malloc returns void *, not char *.
84935         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
84936         prototype.
84937
84938         * lib/md5.h: Include <limits.h> unconditionally.
84939         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
84940         (__P): Remove; all uses removed.
84941         * lib/md5.c: Include "md5.h" first.
84942         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
84943         md5_buffer, md5_process_bytes, md5_process_block):
84944         Define with prototypes.
84945         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
84946         * lib/sha.c: Include "sha.h" first.
84947         Include <stdlib.h>, <string.h> unconditionally.
84948
84949         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
84950         * lib/memcmp.c (__ptr_t): Likewise.
84951         * lib/memrchr.c (__ptr_t): Likewise.
84952         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
84953         Include <string.h> unconditionally.
84954         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
84955         * lib/memchr.c: Include <stdlib.h> unconditionally.
84956         * lib/memchr.c (LONG_MAX): Remove.
84957         * lib/memrchr.c (LONG_MAX): Likewise.
84958         * lib/memchr.c (__memchr): Define via a prototype.
84959         * lib/memrchr.c (__memrchr): Likewise.
84960         * lib/memcmp.c (__P): Remove, and remove all uses.
84961         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
84962         Remove forward decls; no longer needed.
84963         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
84964         Use types required by C89 in prototype.
84965
84966         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
84967         * lib/savedir.c: Likewise.
84968         * lib/mkdir.c (free): Remove decl.
84969         * lib/rmdir.c (rmdir): Define with a prototype.
84970         * lib/savedir.c: Include savedir.h first, to test interface.
84971
84972         * lib/mktime.c (STDC_HEADERS): Remove.
84973         Include <stdlib.h>, <string.h> unconditionally.
84974
84975         * lib/modechange.c: Include <stdlib.h> unconditionally.
84976         (malloc): Remove decl.
84977
84978         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
84979         (free): Remove decl.
84980
84981         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
84982         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
84983         (This type really should be intptr_t, but that's a C99ism.)
84984         (_obstack_memcpy): Remove: all uses changed to memcpy.
84985         Include <string.h> unconditionally.
84986         (struct obstack): Assume __STDC__ for types of members
84987         chunkfun, freefun, extra_arg.
84988         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
84989         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
84990         obstack_begin, obstack_specify_allocation,
84991         obstack_specify_allocation_with_arg, obstack_chunkfun,
84992         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
84993         Remove unprototyped decls and the macros that use them.
84994         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
84995         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
84996         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
84997         (defined __STDC__ && __STDC__)]:
84998         Remove nonprototyped code.
84999         Include <stdlib.h> unconditionally.
85000         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
85001         _obstack_allocated_p, _obstack_free, obstack_free,
85002         _obstack_memory_used, print_and_abort):
85003         Define using prototypes.
85004         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
85005         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
85006         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
85007         obstack_next_free, obstack_object_size, obstack_room) [0]:
85008         Remove unused, unprototyped code.
85009
85010         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
85011
85012         * lib/physmem.c (physmem_total, physmem_available, main): Define
85013         with prototypes.
85014
85015         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
85016         (main): Define with a prototype.
85017
85018         * lib/posixver.c (getenv): Remove decl.
85019
85020         * lib/putenv.c (malloc): Returns void *, not char *.
85021         Include <string.h> unconditionally.
85022         (strchr, memcpy, NULL): Do not define.
85023
85024         * lib/readtokens.c: Include readtokens.h first, to test interface.
85025         Include <stdlib.h>, <string.h> unconditionally.
85026         (init_tokenbuffer): Define with a prototype.
85027
85028         * lib/regex.c (PARAMS): Remove.  All uses removed.
85029         All uses of _RE_ARGS removed, too.
85030         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
85031         unconditionally.
85032         (bzero): Assume memset exists.
85033         (memcmp, memcpy, NULL): Remove.
85034         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
85035         char, or assignments to local vars of type signed char.
85036         (init_syntax_once, PREFIX(extract_number_and_incr),
85037         PREFIX(print_partial_compiled_pattern),
85038         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
85039         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
85040         PREFIX(regex_grow_registers), PREFIX(regex_compile),
85041         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
85042         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
85043         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
85044         wcs_compile_range, byte_compile_range, truncate_wchar,
85045         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
85046         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
85047         count_mbs_length, wcs_re_match_2_internal,
85048         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
85049         PREFIX(alt_match_null_string_p),
85050         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
85051         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
85052         regfree, PREFIX(extract_number)): Define with prototype.  Remove
85053         now-unnecessary declaration, if any.
85054         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
85055         regcomp, regexec):
85056         Remove now-unnecessary casts among pointer types.
85057         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
85058
85059         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
85060         (free): Remove decl.
85061
85062         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
85063
85064         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
85065         (free): Remove decl.
85066
85067         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
85068         * lib/xgetcwd.c: Likewise.
85069
85070         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
85071         (free): Remove decl.
85072
85073         * lib/strchrnul.c (strchrnul): Define with a prototype.
85074         Fix bug: c_in was not converted to char before searching.
85075
85076         The following changes are not K&R related:
85077
85078         * lib/group-member.h: Include <sys/types.h>, so that this file is
85079         self-contained.
85080         * lib/makepath.h: Likewise.
85081
85082         * lib/getusershell.c (readname, default_index, line_size, readname):
85083         Use size_t, not int, for sizes.
85084         (readname): If the size overflows, report an error instead of
85085         looping forever.
85086
85087 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85088
85089         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
85090         libc.
85091
85092 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85093
85094         * README: New section: portability guidelines.
85095
85096 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
85097
85098         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
85099         C89 spec.
85100
85101 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
85102
85103         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
85104
85105 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85106
85107         Assume C89 or better; remove K&R cruft.
85108         A few of these changes were first proposed by Derek Robert Price
85109         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
85110
85111         * lib/addext.c: Include <string.h> unconditionally.
85112         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
85113         Don't declare getenv or malloc.
85114
85115         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
85116         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
85117         (NULL): Remove.
85118         (find_stack_direction, alloca): Use prototypes.
85119
85120         * lib/atexit.c (atexit): Define using a prototype.
85121
85122         * lib/basename.c, dirname.c, stripslash.c:
85123         Include <string.h> unconditionally.
85124
85125         * lib/bcopy.c: Include <stddef.h>.
85126         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
85127
85128         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
85129
85130         * lib/error.h (error, error_at_line, error_print_progname)
85131         [! (defined (__STDC__) && __STDC__)]: Remove decls.
85132         * lib/error.c: Include error.h first, to check interface.
85133         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85134         (VA_START): Remove; all uses changeed to va_start.
85135         (exit, strerror): Remove decls.
85136         (error_print_progname): Prototype uncondionally.
85137         Don't include <errno.h>; no longer needed.
85138         (private_strerror): Remove.
85139         (error_tail): Always define.
85140         (error, error_at_line): Assume C89 or better; always use prototypes.
85141         * lib/fatal.c: Include "fatal.h" first, to test interface.
85142         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85143         (VA_START): Remove; all uses changed to va_start.
85144         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
85145         this case.
85146         (exit): Remove decl.
85147         (fatal): Prototype unconditionally.  Assume va_start works.
85148         Abort at end, to pacify gcc.
85149
85150         * lib/euidaccess.c (main): Define with a prototype.
85151
85152         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
85153
85154         * lib/exitfail.c: Include <stdlib.h> unconditionally.
85155
85156         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
85157         prototypes.
85158         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
85159         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
85160         (getenv): Remove decl.
85161         (fnmatch): Define using a prototype.
85162         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
85163         (FCT): Define using a prototype.
85164
85165         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
85166
85167         * lib/gethostname.c: Include <stddef.h>.
85168         (gethostname): Define with prototype.  Length is size_t, not int.
85169
85170 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85171
85172         Assume C89 or better; remove K&R cruft.
85173         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
85174         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
85175         string.h, getenv, malloc.
85176         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
85177         headers.
85178         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
85179         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
85180         do not check for strerror.
85181         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
85182         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
85183         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
85184         do not check for doprnt or vprintf.
85185         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
85186         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
85187
85188 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85189
85190         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
85191         getversion.c should have been removed then, but was accidentally
85192         preserved.
85193
85194         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
85195         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
85196
85197 2003-09-08  Karl Berry  <karl@gnu.org>
85198
85199         * config/config.sub, config.guess, srclistvars.sh: update from savannah
85200                 config, forget about prep.
85201
85202         * config/depcomp, missing: update from automake.
85203
85204 2003-09-07  Paul Eggert  <eggert@twinsun.com>
85205
85206         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
85207         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
85208
85209 2003-09-07  Paul Eggert  <eggert@twinsun.com>
85210
85211         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
85212         copy_tm_result.  Bug reported by Simon Josefsson in
85213         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
85214
85215 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85216
85217         * m4/time_r.m4: New file.
85218         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
85219         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
85220         is. Check for timegm declaration.
85221         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
85222         Do not check for gmtime_r.
85223         Replace mktime if __mktime_internal does not exist and if mktime
85224         hasn't been replaced already.
85225
85226 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85227
85228         * lib/time_r.c, lib/time_r.h: New files.
85229
85230         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
85231         __localtime_r.
85232         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
85233         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
85234
85235         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
85236         __gmtime_r.
85237         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
85238         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
85239         Include <time_r.h>.
85240
85241         * lib/timegm.c: Switch to glibc implementation, with the following
85242         changes:
85243         [defined HAVE_CONFIG_H]: Include <config.h>.
85244         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
85245         (__mktime_internal) [!defined _LIBC]: New decl.
85246         (__gmtime_r) [!defined _LIBC]: New macro and function.
85247         (timegm): Use a prototype, since gnulib assumes C89.
85248         Do not bother declaring tmp to be const, as it's not really usefu.
85249         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
85250         (timegm): Declare only if HAVE_DECL_TIMEGM.
85251
85252 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85253
85254         * MODULES.html.sh (func_all_modules): Add time_r.
85255         * modules/time_r: New file.
85256         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
85257         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
85258
85259 2003-09-03  Paul Eggert  <eggert@twinsun.com>
85260
85261         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
85262         Bug reported by Lute Kamstra in
85263         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
85264
85265         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
85266         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
85267         course with correspondingly smaller numbers for tomorrow and
85268         yesterday.  From Tadayoshi Funaba.  Originally installed into
85269         sh-utils on 1999-08-07, but the patch got lost (I guess during the
85270         coreutils merge?).
85271
85272 2003-08-31  Simon Josefsson  <jas@extundo.com>
85273
85274         * modules/timegm: New file.
85275         * MODULES.html.sh (func_all_modules): Add timegm.
85276
85277 2003-08-31  Simon Josefsson  <jas@extundo.com>
85278
85279         * m4/timegm.m4: New file.
85280
85281 2003-08-31  Simon Josefsson  <jas@extundo.com>
85282
85283         * lib/timegm.h: New file.
85284         * lib/timegm.c: New file.  Based on
85285         wget-1.8.2/src/http.c:mktime_from_utc.
85286
85287 2003-08-31  Karl Berry  <karl@gnu.org>
85288
85289         * lib/argp.h: update from libc.
85290
85291 2003-08-28  Bruno Haible  <bruno@clisp.org>
85292
85293         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
85294         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
85295         followed by '#define fnmatch fnmatch_posix' gives an error.
85296
85297 2003-08-28  Bruno Haible  <bruno@clisp.org>
85298
85299         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
85300         warning on QNX, which defines O_BINARY to 000000.
85301
85302 2003-08-27  Jim Meyering  <jim@meyering.net>
85303
85304         * m4/mkstemp.m4: Require that the system mkstemp be able to create
85305         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
85306         would fail after 32.  Reported by Danny Levinson.  Details here:
85307         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
85308
85309 2003-08-24  Bruno Haible  <bruno@clisp.org>
85310
85311         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
85312         MSVC7 <stdio.h> is included later.
85313
85314 2003-08-22  Simon Josefsson  <jas@extundo.com>
85315
85316         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
85317
85318 2003-08-20  Karl Berry  <karl@gnu.org>
85319
85320         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
85321
85322 2003-08-20  Bruno Haible  <bruno@clisp.org>
85323
85324         * modules/progname: New file.
85325         * MODULES.html.sh (func_all_modules): Add progname.
85326
85327 2003-08-20  Bruno Haible  <bruno@clisp.org>
85328
85329         * lib/progname.h: New file, from GNU gettext.
85330         * lib/progname.c: New file, from GNU gettext.
85331         * lib/progreloc.c: New file, from GNU gettext.
85332
85333 2003-08-19  Jim Meyering  <jim@meyering.net>
85334
85335         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
85336         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
85337
85338 2003-08-19  Bruno Haible  <bruno@clisp.org>
85339
85340         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
85341         more.
85342
85343 2003-08-19  Bruno Haible  <bruno@clisp.org>
85344
85345         * lib/xstrdup.c: Assume <string.h> exists.
85346
85347 2003-08-18  Paul Eggert  <eggert@twinsun.com>
85348
85349         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
85350         in makefile rules.
85351
85352 2003-08-18  Jim Meyering  <jim@meyering.net>
85353
85354         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
85355         * m4/lib-ld.m4: Likewise.
85356
85357 2003-08-18  Jim Meyering  <jim@meyering.net>
85358
85359         * lib/setenv.h: Indent nested cpp directive.
85360         * lib/vasnprintf.c: Remove trailing blanks.
85361
85362 2003-08-17  Simon Josefsson  <jas@extundo.com>
85363
85364         * modules/xstrndup: New file.
85365         * MODULES.html.sh (func_all_modules): Add xstrndup.
85366
85367 2003-08-17  Simon Josefsson  <jas@extundo.com>
85368
85369         * modules/argp: Fix autoconf macro name. Add more dependencies.
85370
85371 2003-08-17  Simon Josefsson  <jas@extundo.com>
85372
85373         * m4/xstrndup.m4: New file.
85374
85375 2003-08-17  Simon Josefsson  <jas@extundo.com>
85376
85377         * m4/argp.m4: New file.
85378
85379 2003-08-17  Simon Josefsson  <jas@extundo.com>
85380             Bruno Haible  <bruno@clisp.org>
85381
85382         * lib/xstrndup.h: New file.
85383         * lib/xstrndup.c: New file.
85384
85385 2003-08-17  Bruno Haible  <bruno@clisp.org>
85386
85387         * modules/strndup (Files, Include): Add lib/strndup.h.
85388
85389 2003-08-17  Bruno Haible  <bruno@clisp.org>
85390
85391         * modules/euidaccess (Files): Add lib/euidaccess.h.
85392
85393 2003-08-17  Bruno Haible  <bruno@clisp.org>
85394
85395         * lib/strndup.h: New file.
85396
85397 2003-08-17  Bruno Haible  <bruno@clisp.org>
85398
85399         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
85400         like AC_GNU_SOURCE.
85401         * modules/extensions (configure.ac): Comment out the invocation of
85402         gl_USE_SYSTEM_EXTENSIONS.
85403
85404 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85405
85406         Merges from coreutils, etc.
85407         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
85408         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
85409         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
85410         fixing a typo.
85411         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
85412         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
85413
85414 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85415
85416         Document merge from coreutils.
85417         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
85418         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
85419         * modules/utime: Add m4/utimes-null.m4.
85420
85421 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85422
85423         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
85424         space, undoing this 2003-08-12 change:
85425         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
85426
85427 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85428
85429         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
85430         strtoul.c from libc, undoing this 2003-08-12 change:
85431         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
85432
85433 2003-08-16  Jim Meyering  <jim@meyering.net>
85434
85435         Merges from coreutils.
85436         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
85437         prefix.  Adjust cache variables similarly.  Create 500 rather than
85438         just 300 files, to exercise bug on Darwin6.5, too.
85439         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
85440         $missing_dir.
85441         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
85442         AM_SYS_POSIX_TERMIOS.
85443         Reported by mkc@mathdogs.com.
85444         Also change use of $am_cv_sys_posix_termios
85445         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
85446         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
85447         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
85448         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
85449         in /proc/mounts until it finds one with matching device number.  This
85450         is unnecessary when the FILE argument *is* a mount point.  No stat call
85451         is necessary in that case.  So, disable the statvfs-testing code on
85452         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
85453         as RedHat bug# 84846.
85454         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
85455         to 1MB, so as not to render systems with no stack size limit (e.g.,
85456         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
85457         Include <unistd.h>.  On some systems,
85458         it is required for the definition of _SC_PAGESIZE.
85459
85460 2003-08-16  Jim Meyering  <jim@meyering.net>
85461
85462         Merge from coreutils.
85463         * lib/xstrtoimax.c: #else #if -> #elif.
85464         * lib/xstrtoumax.c: Likewise.
85465
85466 2003-08-16  Jim Meyering  <jim@meyering.net>
85467
85468         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
85469         * m4/utimes.m4: Removed.
85470         * m4/utimes-null.m4: Renamed from utimes.m4.
85471
85472         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
85473         to 1MB, so as not to render systems with no stack size limit (e.g.,
85474         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
85475         Include <unistd.h>.  On some systems,
85476         it is required for the definition of _SC_PAGESIZE.
85477
85478 2003-08-16  Jim Meyering  <jim@meyering.net>
85479         and Paul Eggert  <eggert@cs.ucla.edu>
85480
85481         Merges from coreutils, etc.
85482
85483         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
85484         using the latest version from cvs.  This avoids problems with #line
85485         directives using a vendor (Sun) compiler.
85486         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
85487         Don't set GETGROUPS_LIB here; now it's
85488         done via getgroups.m4's wrapper function.
85489         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
85490         rather than just in sh-util/configure.in, so that the
85491         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
85492         same.
85493         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
85494         AC_FUNC_GETLOADAVG where to find getloadavg.c.
85495         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
85496         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
85497         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
85498         Remove code that is now done by the newly-required macros.
85499         Append $(EXEEXT) to DF_PROG.
85500         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
85501         Do not invoke or require the following here,
85502         since prereq.m4 or some gnulib .m4 now does this for us:
85503         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
85504         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
85505         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
85506         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
85507         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
85508         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
85509         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
85510         AC_FUNC_OBSTACK.
85511         Do not replace the following functions, as this is now the job
85512         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
85513         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
85514         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
85515         atexit getpass, strdup, getpagesize.
85516         Replace 'raise'.
85517         Do not check for the following functions, as this is now the job
85518         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
85519         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
85520         setregid.
85521         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
85522         Check for sys/sysctl.h.
85523         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
85524         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
85525         of checking for ssize_t ourselves.
85526
85527         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
85528         Require every macro that gnulib/modules/* suggests for us.
85529         (jm_PREREQ_ADDEXT): New macro.
85530         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
85531         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
85532
85533         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
85534         (gl_PHYSMEM): Use it.
85535         Also check for `table' function.
85536         Check for new headers and functions.
85537         Add check for sys/sysmp.h.
85538         With suggestions from Kaveh Ghazi.
85539         Ignore headers that are present but cannot be compiled.  This
85540         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
85541         C 5.4.
85542
85543 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85544
85545         Document merge from coreutils.
85546         * modules/userspec: Depend on posixver.
85547         * modules/strftime: Depend on tzset.
85548
85549 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85550
85551         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
85552         rather than tab, after '#' in shell-script copyright notices.
85553         Suggested by Bruno Haible.
85554
85555 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85556
85557         * config/srclist-update: Use three spaces, rather than tab, after '#'
85558         in shell-script copyright notices.  Suggested by Bruno Haible.
85559         Remove unnecessary parenthesization in regular expression.
85560
85561 2003-08-15  Jim Meyering  <jim@meyering.net>
85562
85563         Merge from coreutils.
85564         * lib/xgethostname.c: Include <stdlib.h>.
85565         (xghostname): Don't exit for anything other than memory-related
85566         failure; just return NULL.
85567         * lib/userspec.c: Include "posixver.h".
85568         (parse_user_spec): Accept `.' as a separator only
85569         in pre-POSIX-200112 mode.
85570         * lib/strtoimax.c: Use #elif rather than #else #if.
85571         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
85572         Remove function, now that we can rely on a working tzset function.
85573         [!_LIBC]: Ensure that the required autoconf test has been run.
85574         [!defined _NL_CURRENT && HAVE_STRFTIME]:
85575         Use underlying_strftime for %r.
85576         * lib/sha.c: Merge in some clean-up and optimization changes from
85577         glibc.
85578         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
85579         Ensure that it is a multiple of 64.
85580         Rearrange loop exit tests so as to avoid performing an
85581         additional fread after encountering an error or EOF.
85582         * lib/realloc.c: Update copyright date.
85583
85584 2003-08-15  Jim Meyering  <jim@meyering.net>
85585         and Paul Eggert  <eggert@twinsun.com>
85586
85587         Merge from coreutils.
85588         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
85589         member but strut utmpx does not.  Needed for AIX 4.3.3.
85590         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
85591
85592 2003-08-15  Jim Meyering  <jim@meyering.net>
85593         and Paul Eggert  <eggert@cs.ucla.edu>
85594
85595         Merges from coreutils, etc.
85596         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
85597         Require gl_FUNC_TZSET_CLOBBER.
85598         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
85599         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
85600         members.
85601
85602 2003-08-14  Paul Eggert  <eggert@twinsun.com>
85603
85604         Help the merge from coreutils.
85605         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
85606         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
85607         * m4/tzset.m4: Use it too.
85608
85609 2003-08-14  Paul Eggert  <eggert@twinsun.com>
85610
85611         * modules/tzset: New file.
85612
85613 2003-08-14  Jim Meyering  <jim@meyering.net>
85614
85615         Merges from coreutils.
85616         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
85617         variable names, rather than @FNMATCH_H@.
85618         * modules/alloca: Likewise for $(ALLOCA_H).
85619
85620         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
85621         the three copies of the literal target, `fnmatch.h'.
85622         * modules/alloca (alloca.h): Likewise.
85623
85624 2003-08-14  Jim Meyering  <jim@meyering.net>
85625
85626         Merge from coreutils.
85627         * m4/tzset.m4: New file.
85628         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
85629         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
85630         otherwise, AIX 5.1 systems would end up using the latter.
85631         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
85632         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
85633         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
85634         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
85635
85636 2003-08-14  Jim Meyering  <jim@meyering.net>
85637
85638         Merge from coreutils.
85639         * lib/obstack.h: Whitespace changes.
85640         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
85641         and xcalloc return values.
85642         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
85643         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
85644         hang on OSF/1 5.1 for DIR on both local and remote file systems.
85645         Reported by (and fix confirmed by) Nelson H. F. Beebe.
85646         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
85647         error from mntctl.
85648         Use mntctl's return value to drive the entry-processing loop, since
85649         we can't rely on the value of the vmt_length member in the last
85650         entry.  On some systems doing so could result in exhausting
85651         virtual memory.  Based in part on a patch from Mike Jetzer.
85652
85653 2003-08-14  Jim Meyering  <jim@meyering.net>
85654         and Paul Eggert  <eggert@twinsun.com>
85655
85656         Merges from coreutils, plus other fixes.
85657         * lib/physmem.c: Merge in portability changes from gcc/libiberty
85658         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
85659         for credits and details.  Thanks to Kaveh Ghazi for helping
85660         to keep these files in sync.
85661         (ARRAY_SIZE): Define it.
85662         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
85663         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
85664         (memcasecmp): Don't assume size_t fits in unsigned int.
85665         Remove casts and duplicate code.
85666         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
85667         (memcpy): Remove definition.
85668         Merge in some clean-up and optimization changes from glibc.
85669         [BLOCKSIZE]: Move definition to top of file.
85670         Ensure that it is a multiple of 64.
85671         Rearrange loop exit tests so as to avoid performing an
85672         additional fread after encountering an error or EOF.
85673         * lib/md5.h (md5_uintptr): Define.
85674         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
85675         return to the initial working directory.  Preserve errno
85676         for caller.
85677         * lib/idcache.c: Include "xalloc.h".
85678         (xmalloc, xrealloc): Remove decls.
85679         (getuser): Remove casts no longer required in C89.
85680         * lib/human.c: Include stdio.h, for sprintf.
85681         * lib/group-member.c: Include "xalloc.h".
85682         (xmalloc, xrealloc): Remove decls.
85683         (get_group_info): Remove casts no longer required in C89.
85684         * lib/getusershell.c (readname): Remove casts no longer required in
85685         C89.
85686         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
85687         * lib/getline.c: Whitespace fix, from coreutils.
85688
85689 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85690
85691         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
85692         Check for isascii.
85693
85694         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85695         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85696         Undo previous (whitespace-only) change.
85697
85698 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85699
85700         * lib/exclude.c: Include <ctype.h>
85701         (IN_CTYPE_DOMAIN): New macro.
85702         (is_space): New fn.
85703         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
85704         and empty lines.
85705
85706         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85707         Undo previous (whitespace-only) change.
85708
85709 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85710
85711         * config/srclist-update: Change update back to the old behavior,
85712         leaving whitespace alone.  Use one 'sed' command rather than a
85713         pipeline.
85714         (fixlicense): Now a variable, not a function.
85715         (remove_trailing_blanks): Remove.
85716         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
85717         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85718         Undo previous (whitespace-only) change.
85719
85720 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85721
85722         Merge from coreutils.
85723         * modules/euidaccess: Add lib_SOURCES, include for new
85724         file euidaccess.h
85725
85726 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85727
85728         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85729         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85730         Normalize leading white space and remove trailing white space.
85731
85732         Merge from coreutils
85733         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
85734
85735         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
85736         0.12.1.  These files are now being upgraded automatically by
85737         ../config/srclist-update.
85738
85739 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85740
85741         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85742         Normalize leading white space and remove trailing white space.
85743         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
85744         notice, as per ../config/srclist-update.
85745
85746         Merge from coreutils.
85747         * lib/euidaccess.h: New file.
85748         * lib/euidaccess.c: Include it.
85749         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
85750         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
85751         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
85752
85753 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85754
85755         * config/srclist-update: Add copyright notice.
85756         (remove_id_lines, remove_trailing_blanks): New constants.
85757         (fixfile): Use them to normalize spacing a bit in copied files.
85758         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85759         Normalize leading white space and remove trailing white space.
85760
85761         * config/texinfo.tex: Sync with texinfo.
85762
85763         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
85764         strtoul.c from libc, to merge coreutils whitespace changes.
85765
85766         * config/srclist.txt: Get the following m4 files from gettext:
85767         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
85768         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
85769         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
85770         wint_t.m4.
85771
85772 2003-08-12  Karl Berry  <karl@gnu.org>
85773
85774         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
85775         been made.
85776
85777 2003-08-11  Paul Eggert  <eggert@twinsun.com>
85778
85779         * modules/gnu-source, m4/gnu-source.m4:
85780         Remove; we're assuming Autoconf 2.54 or later now.
85781         Suggested by Bruno Haible.
85782         * MODULES.html.sh (func_all_modules): Remove gnu-source.
85783
85784 2003-08-11  Bruno Haible  <bruno@clisp.org>
85785
85786         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
85787
85788 2003-08-11  Bruno Haible  <bruno@clisp.org>
85789
85790         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
85791         (vasnprintf): Use it instead of wcslen.
85792
85793 2003-08-11  Bruno Haible  <bruno@clisp.org>
85794
85795         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
85796         value to ensure that _Bool promotes to int. Use #define for _Bool when
85797         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
85798
85799 2003-08-10  Karl Berry  <karl@gnu.org>
85800
85801         * lib/regex.h: update from libc (whitespace fix).
85802
85803 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85804
85805         Merge some files from coreutils.  These changes were
85806         originally made by Jim Meyering.
85807         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
85808         many older Unixes require this.
85809         * lib/alloca.c (alloca): Remove cast to argument of free;
85810         no longer needed in C89.
85811         * lib/alloca_.h, regex.h: Fix white space to match
85812         what GNU indent does.
85813
85814 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85815
85816         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
85817         apparently Emacs's Unicode mode got confused before my 2003-08-05
85818         checkin.
85819
85820 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85821
85822         * m4/extensions.m4: New file.
85823         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
85824         Require gl_USE_SYSTEM_EXTENSIONS.
85825         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
85826         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
85827
85828 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85829
85830         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
85831         * modules/extensions, modules/gnu-source: New files.
85832         * modules/timespec, modules/unlocked-io: Depend on extensions.
85833
85834 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85835
85836         * modules/restrict: New file.
85837         * MODULES.html.sh (func_all_modules): Add restrict.
85838         * modules/regex: Depend on restrict.
85839
85840 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85841
85842         * m4/restrict.m4: New file.
85843         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
85844
85845 2003-08-07  Bruno Haible  <bruno@clisp.org>
85846
85847         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
85848         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
85849
85850 2003-08-07  Bruno Haible  <bruno@clisp.org>
85851
85852         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
85853         makes the module 'getndelim2' compatible with the module 'getline'.
85854
85855 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85856
85857         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
85858         byte with "\201" to avoid glitches when editing that source file
85859         with multi-gnome-terminal.
85860
85861 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85862
85863         * lib/bumpalloc.h: Remove.
85864
85865 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85866
85867         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
85868         * modules/bumpalloc: Remove.
85869
85870 2003-08-04  Paul Eggert  <eggert@twinsun.com>
85871
85872         * lib/getloadavg.c: Change copyright notice and spacing to conform to
85873         GNU coding style.
85874
85875         Merge from coreutils.
85876         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
85877         1. From glibc.
85878         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
85879         from Karl Berry, implemented by Jim Meyering.
85880         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
85881         from Dmitry V. Levin.
85882         Remove anachronistic cast of xrealloc.
85883         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
85884         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
85885         type. Otherwise, it wouldn't compile with at least /bin/cc on
85886         ymp-cray-unicos9.0.2.X.
85887         Combine two mostly-identical uses of alloca into one.
85888         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
85889
85890 2003-08-04  Dave Love  <d.love@dl.ac.uk>
85891
85892         [From Emacs.]
85893
85894         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
85895         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
85896         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
85897         obsolete NLIST_NAME_UNION.
85898         [__GNU__]: Undef BSD and FSCALE.
85899         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
85900
85901 2003-08-03  Paul Eggert  <eggert@twinsun.com>
85902
85903         * lib/stdbool_.h (_Bool): Make it signed char, instead of
85904         an enum type, so that it's guaranteed to promote to int.  See:
85905         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
85906
85907 2003-08-03  Karl Berry  <karl@gnu.org>
85908
85909         * config/depcomp: update from automake.
85910
85911 2003-07-31  Paul Eggert  <eggert@twinsun.com>
85912
85913         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
85914         (strerror): Don't assume that a printable int fits in 14 bytes.
85915
85916 2003-07-31  Bruno Haible  <bruno@clisp.org>
85917
85918         * modules/getpass-gnu: New file.
85919         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
85920
85921 2003-07-31  Bruno Haible  <bruno@clisp.org>
85922
85923         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
85924
85925 2003-07-24  Karl Berry  <karl@gnu.org>
85926
85927         * config/missing: update from automake.
85928
85929 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
85930             Bruno Haible  <bruno@clisp.org>
85931
85932         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
85933         * lib/getline.c (getline, getdelim): Likewise.
85934         Remove _GNU_SOURCE define; now it's defined in config.h through
85935         m4/getline.m4.
85936
85937 2003-07-23  Karl Berry  <karl@gnu.org>
85938
85939         * config/config.sub: update from prep.
85940
85941 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85942
85943         * modules/xalloc (Depends-on): Add exitfail.
85944         * modules/xmemcoll: Likewise.
85945
85946 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85947
85948         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
85949         over-parenthesization in macros.
85950
85951         Sync with coreutils.
85952
85953         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
85954         required by C99.
85955
85956         Use `exit_failure' for xalloc and xmemcoll instead of their own
85957         private exit-failure variables.
85958         * lib/xalloc.h (xalloc_exit_failure): Remove.
85959         * lib/xmalloc.c: Likewise.  Include exitfail.h.
85960         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
85961         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
85962         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
85963         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
85964
85965 2003-07-20  Jim Meyering  <jim@meyering.net>
85966
85967         * modules/closeout (Depends-on): Add exitfail.
85968         Suggestion from Bruno Haible.
85969
85970 2003-07-19  Karl Berry  <karl@gnu.org>
85971
85972         * config/config.sub: update from prep.
85973
85974 2003-07-18  Paul Eggert  <eggert@twinsun.com>
85975
85976         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
85977         Remove.
85978         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
85979         to test that it can stand by itself.  Include "exitfail.h".
85980         Clients should set exit_failure instead.
85981         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
85982
85983 2003-07-18  Bruno Haible  <bruno@clisp.org>
85984
85985         * modules/getndelim2: New file.
85986         * modules/getline: Share files with module getndelim2.
85987         * modules/getnline: Depend on getndelim2 instead of sharing files with
85988         it. Add getnline.c to lib_SOURCES.
85989         * MODULES.html.sh (func_all_modules): Add getndelim2.
85990
85991 2003-07-18  Bruno Haible  <bruno@clisp.org>
85992
85993         * m4/getndelim2.m4: New file.
85994         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
85995         invoke gl_PREREQ_GETNDELIM2.
85996         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
85997         gl_PREREQ_GETNDELIM2.
85998         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
85999         gl_GETNDELIM2.
86000
86001 2003-07-18  Bruno Haible  <bruno@clisp.org>
86002
86003         * lib/getndelim2.h: New file.
86004         * lib/getndelim2.c: Make into a module of its own. Include config.h,
86005         getndelim2.h.
86006         (getndelim2): Make non-static. Change return type to ssize_t.
86007         * lib/getline.h: Change argument names.
86008         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
86009         * lib/getnline.c: Include getndelim2.h.
86010
86011 2003-07-18  Andreas Schwab  <schwab@suse.de>
86012
86013         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
86014
86015 2003-07-17  Karl Berry  <karl@gnu.org>
86016
86017         * config/config.sub: update from prep.
86018
86019 2003-07-17  Bruno Haible  <bruno@clisp.org>
86020
86021         * modules/getnline: New file.
86022         * modules/getline: Add lib/getndelim2.c to source file list.
86023         * MODULES.html.sh (func_all_modules): Add getnline.
86024
86025 2003-07-17  Bruno Haible  <bruno@clisp.org>
86026
86027         * m4/getnline.m4: New file.
86028
86029 2003-07-17  Bruno Haible  <bruno@clisp.org>
86030
86031         * m4/Makefile.am.in: Remove file.
86032         * m4/Makefile.am: Remove file.
86033         * m4/Makefile.in: Remove file.
86034
86035 2003-07-17  Bruno Haible  <bruno@clisp.org>
86036
86037         * lib/getnline.h: New file.
86038         * lib/getnline.c: New file.
86039         * lib/getndelim2.c: New file, extracted from getline.c.
86040         (getndelim2): Renamed from getdelim2, with added nmax argument.
86041         * lib/getline.c: Include getndelim2.c.
86042         (getdelim2): Moved out to getndelim2.c.
86043         (getline, getdelim): Update.
86044
86045 2003-07-17  Bruno Haible  <bruno@clisp.org>
86046
86047         * lib/Makefile.am: Remove file.
86048         * lib/Makefile.in: Remove file.
86049
86050 2003-07-17  Bruno Haible  <bruno@clisp.org>
86051
86052         * configure.in: Remove file.
86053         * Makefile.in: Remove file.
86054
86055 2003-07-17  Bruno Haible  <bruno@clisp.org>
86056
86057         * MODULES.html.sh: Put the </BODY> right before </HTML>.
86058
86059 2003-07-16  Karl Berry  <karl@gnu.org>
86060
86061         * config/srclist-update: was running fixlicense twice, which caused
86062                 texinfo.tex to be nullified for some reason.  Simplify,
86063                 $gplsrc is no longer needed as far as I can see?
86064
86065 2003-07-16  Jim Meyering  <jim@meyering.net>
86066
86067         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
86068
86069 2003-07-15  Paul Eggert  <eggert@twinsun.com>
86070
86071         * config/srclist.txt: Get the following files from gettext-runtime/intl
86072         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
86073         ref-del.sin.  From Bruno Haible.
86074         * config/srclist-update (fixfile): Change grep pattern again, since the
86075         previous fix didn't work (there was another trailing $).  Use
86076         '[$]' to escape the $s.
86077
86078 2003-07-15  Karl Berry  <karl@gnu.org>
86079
86080         * lib/vasnprintf.c: update from gettext.
86081
86082 2003-07-15  Karl Berry  <karl@gnu.org>
86083
86084         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
86085         gets expanded when surrounded by '$'.
86086
86087 2003-07-15  Jim Meyering  <jim@meyering.net>
86088
86089         * modules/save-cwd: Don't depend on error.  From Derek Price.
86090
86091 2003-07-15  Jim Meyering  <jim@meyering.net>
86092
86093         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
86094
86095 2003-07-14  Simon Josefsson  <jas@extundo.com>
86096
86097         * modules/mempcpy: New file.
86098         * MODULES.html.sh (func_all_modules): Add mempcpy.
86099
86100 2003-07-14  Simon Josefsson  <jas@extundo.com>
86101
86102         * m4/mempcpy.m4: New file.
86103
86104 2003-07-14  Simon Josefsson  <jas@extundo.com>
86105
86106         * lib/mempcpy.h: New file.
86107         * lib/mempcpy.c: New file.
86108
86109 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86110
86111         * modules/getdate, modules/posixtm: Depend on mktime.
86112
86113 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86114
86115         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
86116         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
86117         unicodeio.c, unicodeio.h, unlocked-io.h:
86118         Switch from LGPL to GPL.
86119
86120 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86121
86122         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
86123         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
86124         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
86125         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
86126         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
86127         updated automatically by ../config/srclist-update.  This changes
86128         their license from LPGL to GPL.
86129
86130 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86131
86132         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
86133         assumed to refer to the root of the most recent stable gettext version.
86134         * config/srclistvars.sh: Add defaults for eggert.
86135         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
86136         Match "This program" as well as "The program".  This is needed
86137         for gettext.
86138
86139 2003-07-14  Jim Meyering  <jim@meyering.net>
86140
86141         Don't emit diagnostics.  Let callers do that.
86142         * lib/save-cwd.c: Don't include "error.h".
86143         (save_cwd): Don't call error.  Ensure that errno is valid
86144         when returning nonzero.
86145
86146         * lib/save-cwd.h (restore_cwd): Update prototype.
86147         * lib/save-cwd.c (restore_cwd): Remove two parameters.
86148         Simplify.  Don't call error upon failure.  Let callers do that.
86149         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
86150         when auditing is enabled.  But don't bother updating the #if.
86151
86152 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
86153
86154         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
86155         it breaks C++ compilation.
86156         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
86157
86158 2003-07-10  Simon Josefsson  <jas@extundo.com>
86159
86160         * modules/strchrnul (Makefile.am): Add strchrnul.h.
86161
86162 2003-07-10  Jim Meyering  <jim@meyering.net>
86163
86164         * m4/clock_time.m4: Remove trailing blank.
86165         * m4/intmax_t.m4: Likewise.
86166
86167 2003-07-10  Jim Meyering  <jim@meyering.net>
86168
86169         * lib/vasnprintf.c: Remove trailing blanks.
86170         Make cpp indentation consistent.
86171
86172 2003-07-09  Paul Eggert  <eggert@twinsun.com>
86173
86174         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
86175         posixver.c, strftime.c, strnlen.c, strverscmp.c:
86176         Switch from LGPL to GPL.
86177
86178 2003-07-09  Paul Eggert  <eggert@twinsun.com>
86179
86180         * config/srclist.txt: Sort sublists.  Add
86181         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
86182         that differ from gnulib for one reason or another; we'd like this list
86183         to be smaller but for now let's document what we have.
86184
86185 2003-07-08  Paul Eggert  <eggert@twinsun.com>
86186
86187         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
86188         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
86189         and sweeter "eval x=$x".
86190         * config/srclist.txt: Get lib/argp* from glibc.
86191
86192 2003-07-07  Paul Eggert  <eggert@twinsun.com>
86193
86194         * lib/mktime.c: Fix some boundary cases and remove need for floating
86195         point.
86196
86197         Issue a compile-time diagnostic if time_t is floating point, or if
86198         two's complement arithmetic is not in effect, or if arithmetic
86199         right shift does not propagate the sign.  These assumptions were
86200         all in the original code but they weren't checked.
86201
86202         (TIME_T_MIDPOINT, verify): New macros.
86203         (__isleap): Remove; it has integer overflow problems.
86204         (leapyear): New function, without those problems.
86205         (ydhms_tm_diff): Remove; splitting into two parts.
86206         (ydhms_diff): New function, containing the arithmetic part of
86207         the old ydhms_tm_diff function.  Issue a compile-time
86208         diagnostic if we are not using C99 integer division.
86209         Avoid casts when possible.
86210         (guess_time_tm): New function, containing the checking part of
86211         the old ydhms_tm_diff function.  Return the new value, rather than
86212         the difference between it and the old.  Accept a new argument T
86213         so that *T specifies the old value.  Check for overflow in the result.
86214
86215         (__mktime_internal): Use a time_t offset, not a long int offset.
86216         This undoes the 2003-06-04 change, which is no longer needed now
86217         that we have better overflow checking.
86218         (localtime_offset): Likewise.
86219
86220         (__mktime_internal): Avoid harmful overflow on hosts where time_t
86221         and long are 64-bit but int is only 32-bit.
86222         (ydhms_diff): Use long int to store year1 and yday1.
86223         Issue a compile-time diagnostic if long int is not wide enough.
86224
86225         (__mktime_internal): Use long int to store adjusted year and yday.
86226         Use plain C rather than preprocessor commands, if that doesn't
86227         affect efficiency.
86228         Check for overflow (and try to repair) after each probe
86229         rather than checking only at the very end.  This avoids some bugs
86230         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
86231         does not equal GMT offset at maximum time).
86232         Use integer to check for overflow rather than floating point; this
86233         is more portable to non-IEEE hosts, and is a tad faster.
86234         When we detect that we are oscillating between two values,
86235         don't check whether tm_isdst has the requested value, since
86236         we already know the answer.  When tm_isdst has the wrong value,
86237         use a different heuristic to find the right one, based on the
86238         extreme values actually observed in practice in tz2003a,
86239         rather than the (overly optimistic) "previous 3 calendar quarters".
86240
86241         (not_equal_tm, print_tm, check_result): Use "const T" rather than
86242         "T const" to accommodate glibc style.
86243         (check_result): Use less-confusing report format.  "long" -> "long int.
86244         (main): Likewise.
86245         Don't loop if the iteration overflows time_t.
86246         Allow a negative step in the iteration.
86247
86248 2003-07-06  Karl Berry  <karl@gnu.org>
86249
86250         * config/depcomp: update from automake.
86251         * config/config.sub: update from prep.
86252
86253 2003-07-03  Karl Berry  <karl@gnu.org>
86254
86255         * config/config.guess: update from prep.
86256
86257 2003-07-01  Paul Eggert  <eggert@twinsun.com>
86258
86259         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
86260         xreadlink.c now includes it unconditionally.
86261
86262 2003-07-01  Paul Eggert  <eggert@twinsun.com>
86263
86264         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
86265         having it depend on HAVE_SYS_TYPES_H.
86266
86267 2003-07-01  Bruno Haible  <bruno@clisp.org>
86268
86269         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
86270         <sys/types.h> should be sufficient.
86271         Reported by Paul Eggert.
86272
86273 2003-06-26  Karl Berry  <karl@gnu.org>
86274
86275         * config/depcomp: update from automake.
86276
86277 2003-06-26  Bruno Haible  <bruno@clisp.org>
86278
86279         * modules/human: Depend on module stdbool.
86280
86281 2003-06-25  Bruno Haible  <bruno@clisp.org>
86282
86283         * modules/readlink: New file.
86284         * modules/xreadlink: Depend on it.
86285         * MODULES.html.sh (func_all_modules): Add readlink.
86286
86287 2003-06-25  Bruno Haible  <bruno@clisp.org>
86288
86289         * m4/readlink.m4: New file.
86290
86291 2003-06-25  Bruno Haible  <bruno@clisp.org>
86292
86293         * lib/readlink.c: New file.
86294
86295 2003-06-22  Karl Berry  <karl@gnu.org>
86296
86297         * config/srclist.txt: update mkinstalldirs from automake.
86298         * config/mkinstalldirs: update.
86299
86300 2003-06-22  Bruno Haible  <bruno@clisp.org>
86301
86302         Portability to mingw32.
86303         * m4/ssize_t.m4: New file, from GNU gettext.
86304         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
86305         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
86306
86307 2003-06-22  Bruno Haible  <bruno@clisp.org>
86308
86309         * modules/safe-read: Add m4/ssize_t.m4.
86310         * modules/xreadlink: Add m4/ssize_t.m4.
86311
86312 2003-06-20  Bruno Haible  <bruno@clisp.org>
86313
86314         Assume C89, so PARAMS isn't needed.
86315         * lib/unicodeio.h (PARAMS): Remove.
86316         * lib/unicodeio.c: Don't use PARAMS.
86317
86318 2003-06-18  Karl Berry  <karl@gnu.org>
86319
86320         * config/config.{guess,sub}: update from prep.
86321
86322 2003-06-18  Jim Meyering  <jim@meyering.net>
86323
86324         Merge changes from coreutils.
86325         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
86326         Remove explicit declarations of xmalloc and realloc.
86327         Include xalloc.h.
86328         (read_utmp): Remove anachronistic cast of xmalloc.
86329
86330 2003-06-17  Paul Eggert  <eggert@twinsun.com>
86331
86332         Assume C89, so PARAMS isn't needed.
86333         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
86334         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
86335         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
86336         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
86337         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
86338         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
86339         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
86340         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
86341         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
86342         lib/xstrtod.h, lib/xstrtol.h: Likewise.
86343         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
86344         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
86345         no longer needed. Anyway, config.h should always be included before any
86346         other file.
86347
86348 2003-06-11  Simon Josefsson  <jas@extundo.com>
86349
86350         * modules/sysexits: New file.
86351         * MODULES.html.sh (func_all_modules): Add sysexits.
86352
86353 2003-06-11  Simon Josefsson  <jas@extundo.com>
86354
86355         * lib/sysexit_.h: New file.
86356
86357 2003-06-11  Derek Price  <derek@ximbiot.com>
86358
86359         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
86360         necessary.
86361
86362 2003-06-11  Bruno Haible  <bruno@clisp.org>
86363
86364         * m4/sysexits.m4: New file.
86365
86366 2003-06-10  Simon Josefsson  <jas@extundo.com>
86367
86368         * lib/argp.h: New file, from glibc.
86369         * lib/argp-ba.c: New file, from glibc.
86370         * lib/argp-eexst.c: New file, from glibc.
86371         * lib/argp-fmtstream.c: New file, from glibc.
86372         * lib/argp-fmtstream.h: New file, from glibc.
86373         * lib/argp-fs-xinl.c: New file, from glibc.
86374         * lib/argp-help.c: New file, from glibc.
86375         * lib/argp-namefrob.h: New file, from glibc.
86376         * lib/argp-parse.c: New file, from glibc.
86377         * lib/argp-pv.c: New file, from glibc.
86378         * lib/argp-pvh.c: New file, from glibc.
86379         * lib/argp-xinl.c: New file, from glibc.
86380
86381 2003-06-10  Simon Josefsson  <jas@extundo.com>
86382
86383         * modules/strchrnul: New file.
86384
86385 2003-06-10  Simon Josefsson  <jas@extundo.com>
86386
86387         * modules/argp: New file.
86388
86389 2003-06-10  Simon Josefsson  <jas@extundo.com>
86390
86391         * m4/strchrnul.m4: New file.
86392
86393 2003-06-10  Simon Josefsson  <jas@extundo.com>
86394
86395         * lib/strchrnul.h: New file.
86396         * lib/strchrnul.c: New file.
86397
86398 2003-06-10  Bruno Haible  <bruno@clisp.org>
86399
86400         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
86401
86402 2003-06-07  Karl Berry  <karl@gnu.org>
86403
86404         * config/config.{guess,sub}: update from prep.
86405
86406 2003-06-07  Jim Meyering  <jim@meyering.net>
86407
86408         * modules/strtod: Use $(...) notation, not @...@ for
86409         AC_REPLACE'd variables.
86410         * modules/localcharset: Likewise.
86411
86412 2003-06-07  Jim Meyering  <jim@meyering.net>
86413
86414         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
86415         in place of my name in the copyright comment.
86416         Remove definition and uses of __P.
86417
86418         From coreutils.
86419         * lib/stat.c: Don't declare xmalloc explicitly.
86420         Instead, include "xalloc.h".
86421         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
86422         xrealloc, and xcalloc return values.
86423         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
86424         Improve comment.
86425         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
86426
86427 2003-06-07  Bruno Haible  <bruno@clisp.org>
86428
86429         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
86430         avoid AC_CONFIG_LINKS.
86431         * modules/fnmatch (Makefile.am): Use explicit creation rule for
86432         fnmatch.h, to avoid AC_CONFIG_LINKS.
86433         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
86434
86435 2003-06-07  Bruno Haible  <bruno@clisp.org>
86436
86437         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
86438         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
86439         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
86440         directory.
86441         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
86442         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
86443         directory.
86444
86445 2003-06-06  Jim Meyering  <jim@meyering.net>
86446
86447         Merge from coreutils.
86448         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
86449         Consolidate declarations and initializations of *_base* locals.
86450
86451         Merge from coreutils.
86452         This avoids a core dump on systems without GNU putenv,
86453         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
86454         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
86455         (unsetenv): New static function, from GNU libc.
86456         (rpl_putenv): Use it.
86457
86458         * lib/modechange.c: Remove trailing blanks.
86459
86460         Merge from coreutils.
86461         * lib/fsusage.c: Remove declaration of statfs.
86462         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
86463
86464         * lib/posixtm.c: Include <stdbool.h> unconditionally.
86465
86466 2003-06-06  Jim Meyering  <jim@meyering.net>
86467
86468         * lib/stdbool_.h: Renamed from stdbool.h.in.
86469
86470 2003-06-06  Jim Meyering  <jim@meyering.net>
86471             Bruno Haible  <bruno@clisp.org>
86472
86473         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
86474         Adjust Makefile.am snippet not to redirect directly to target.
86475         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
86476
86477 2003-06-05  Paul Eggert  <eggert@twinsun.com>
86478
86479         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
86480         mismatch, look in future quarters as well as past.  This fixes a
86481         bug when processing fall-backwards gaps immediately after a long
86482         period of daylight-saving time.
86483
86484         * lib/mktime.c: Assume freestanding C89 or better.
86485         (HAVE_LIMITS_H): Remove.  Assume it's 1.
86486         (__P): Remove; not used.
86487         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
86488         (mktime, not_equal_tm, print_tm, check_result,
86489         main): Use prototypes.  Use const * where appropriate.
86490         (main): Fix typo in testing code that uncovered by above changes.
86491         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
86492
86493 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86494
86495         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
86496         locale.h, localeconv.  This merges changes from coreutils.
86497
86498         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
86499         It can be removed after the next Autoconf is released.
86500         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
86501         needed.
86502
86503 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86504
86505         * lib/mktime.c: Fix Debian bug 177940
86506         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
86507         (localtime_offset): Now long int, not time_t, because we want it
86508         to be guaranteed to be signed.  All uses changed.
86509         (__mktime_internal): If overflow would occur when adding offset,
86510         don't add it.
86511
86512         Merge 'human' changes from coreutils.  Rewrite to support
86513         locale-specific notations like thousands separators.
86514         * lib/human.c: Simplify authorship notice.
86515         Include human.h immediately after config.h.
86516         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
86517         <limits.h>: Do not include, since human.h does.
86518         (SIZE_MAX, UINTMAX_MAX): New macros.
86519         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
86520         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
86521         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
86522         (power_letter): Renamed from suffixes.
86523         (generate_suffix_backwards): Remove.
86524         (adjust_value): Now takes int style (because of human.h changes)
86525         and long double value (for greater precision on some platforms).
86526         (group_number): New function.
86527         (human_readable): Use it.  Use integer options, not enum.
86528         Put the options before the sizes in the arg list.
86529         Support all the new options.
86530         The old human_readable function has been removed;
86531         use inttostr.h instead.
86532         (human_readable, default_block_size, humblock):
86533         Use uintmax_t, not int, for block sizes.
86534         (human_readable_inexact, block_size_types): Remove.
86535         (block_size_opts): New constant.
86536         (human_options): Renamed from human_block_size, with new signature
86537         that allows block sizes up to UINTMAX_MAX.  All callers changed.
86538         * lib/human.h: Add copyright and authorship notice.
86539         Include <limits.h> and <stdbool.h> unconditionally.
86540         (PARAMS): Remove.  All uses removed.
86541         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
86542         (enum human_inexact_style): Remove tag; now a nameless enum.
86543         (human_floor, human_ceiling, human_round_to_even): Now have
86544         values 2, 0, 1 rather than -1, 1, 0.
86545         (human_group_digits, human_suppress_point_zero, human_autoscale,
86546         human_base_1024, human_SI, human_B): New constants.
86547         (human_readable_inexact, human_block_size): Remove.
86548         (human_readable): Size args are now uintmax_t, not int.
86549         (human_options): New decl.
86550
86551         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
86552         unnecessary now that we assume C89 or better.  This change
86553         imported from coreutils.
86554
86555         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
86556         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
86557         in the 2003-05-30 sync from glibc.
86558
86559         .h files should stand alone, but we shouldn't include <sys/types.h>
86560         if we can get away with just <stddef.h>.
86561
86562         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
86563         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
86564         rather than <sys/types.h>, as we merely need size_t.
86565         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
86566         to get size_t.
86567         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
86568         Include <stdio.h>, to get FILE.
86569         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
86570         memcasecmp.h has included <stddef.h> and all we need is size_t.
86571         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
86572         our interface, instead of including <sys/types.h>
86573
86574 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86575
86576         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
86577         now, as glibc mktime is buggy on non-glibc systems.
86578
86579 2003-06-03  Karl Berry  <karl@gnu.org>
86580
86581         * config/config.sub: update from prep.
86582
86583 2003-06-02  Paul Eggert  <eggert@twinsun.com>
86584
86585         [from coreutils]
86586         Fix some minor time-related bugs with POSIX time arguments.
86587         Some valid time stamps were being rejected (notably -1, and
86588         time stamps before 1900 on 64-bit hosts).  And some invalid
86589         time stamps were being accepted, e.g. September 31.
86590
86591         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
86592         that we can return (time_t) -1 successfully.
86593         * lib/posixtm.c: Likewise.
86594         [HAVE_STDBOOL_H]: Include <stdbool.h>.
86595         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
86596         (t): Remove static var.
86597         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
86598         of static var.  All uses changed.
86599         (year): Do not reject years before 1900; they can occur with
86600         64-bit time_t.
86601         (posix_time_parse): Do not check for out-of-range components;
86602         that is now the caller's responsibility, since our checks were
86603         only approximations.
86604         (posixtime): Use mktime to check for out-of-range components,
86605         since it knows them exactly.
86606         If mktime returns (time_t) -1, check whether an error actually occurred
86607         by invoking localtime on -1.
86608         (main) [TEST_POSIXTIME]: Check for input data errors, and report
86609         posixtime failures better.
86610         Improve the test data (in comments only).
86611
86612 2003-06-02  Karl Berry  <karl@gnu.org>
86613
86614         * config/mkinstalldirs (version): new variable.
86615         (--version): new option.
86616         (usage): improve message.
86617
86618 2003-05-30  Karl Berry  <karl@gnu.org>
86619
86620         * lib/mktime.c: update from libc.
86621
86622 2003-05-30  Bruno Haible  <bruno@clisp.org>
86623
86624         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
86625         * config/config.rpath: Upgrade to gettext-0.12.1.
86626
86627 2003-05-30  Bruno Haible  <bruno@clisp.org>
86628
86629         * m4/gettext.m4: Upgrade to gettext-0.12.1.
86630         * m4/nls.m4: New file, from gettext-0.12.1.
86631         * m4/po.m4: New file, from gettext-0.12.1.
86632         * m4/progtest.m4: Upgrade to gettext-0.12.1.
86633
86634 2003-05-30  Bruno Haible  <bruno@clisp.org>
86635
86636         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
86637         * lib/localcharset.h: Likewise.
86638         * lib/localcharset.c: Likewise.
86639
86640 2003-05-29  Karl Berry  <karl@gnu.org>
86641
86642         * config/config.rpath: update from gettext.
86643
86644 2003-05-28  Paul Eggert  <eggert@twinsun.com>
86645
86646         Assume the headers required for C89 freestanding compilers.
86647         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
86648         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
86649         * m4/human.m4 (gl_HUMAN): Likewise.
86650         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
86651         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
86652         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86653         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
86654         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86655         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
86656
86657 2003-05-28  Paul Eggert  <eggert@twinsun.com>
86658
86659         Assume the headers required for C89 freestanding compilers.
86660         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
86661         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
86662         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
86663         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
86664         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
86665         define, since <limits.h> is guaranteed to do that.
86666         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
86667         * lib/exclude.c: Include <stdbool.h> unconditionally.
86668         * lib/tempname.c: Include <stddef.h> unconditionally.
86669         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
86670         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
86671         <stddef.h> does that.
86672         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
86673         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
86674         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
86675         needed.
86676         * lib/xstrtol.c: Likewise.
86677         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
86678         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
86679
86680         * lib/addext.c (addext): Use assignment rather than cast, to avoid
86681         warnings on some platforms.
86682
86683         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
86684         arbitrarily.
86685
86686 2003-05-26  Jim Meyering  <jim@meyering.net>
86687
86688         Merge in a change from coreutils:
86689         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
86690         that is guaranteed to be `no'.  Use `no_such_member' to indicate
86691         that condition, rather than `-1' which is slightly misleading.
86692         Change the name of the cache variable to have the gl_ prefix.
86693         Prompted by a patch from Richard Dawe for DJGPP.
86694
86695 2003-05-24  Karl Berry  <karl@gnu.org>
86696
86697         * config/config.guess: update from prep.
86698
86699 2003-05-22  Karl Berry  <karl@gnu.org>
86700
86701         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
86702
86703 2003-05-20  Karl Berry  <karl@gnu.org>
86704
86705         * config/config.guess: update from prep.
86706
86707 2003-05-18  Karl Berry  <karl@gnu.org>
86708
86709         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
86710         might actually be set by the user.
86711
86712         * config/depcomp, install-sh, mdate-sh: update from automake.
86713
86714 2003-05-17  Bruno Haible  <bruno@clisp.org>
86715
86716         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
86717         invalid expansion for AC_EGREP_CPP.
86718         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
86719         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
86720         Suggested by Akim Demaille <akim@epita.fr> in
86721         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
86722
86723 2003-05-12  Jim Meyering  <jim@meyering.net>
86724
86725         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
86726         the space-padded-by-default conversion specifiers, %e, %k, %l.
86727
86728 2003-05-12  Bruno Haible  <bruno@clisp.org>
86729
86730         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
86731         the string is longer than 4 KB.
86732
86733 2003-05-11  Karl Berry  <karl@gnu.org>
86734
86735         * config/config.{guess,sub}: update from prep.
86736
86737 2003-05-09  Bruno Haible  <bruno@clisp.org>
86738
86739         * modules/error: Add m4/strerror_r.m4 to file list.
86740
86741 2003-05-03  Bruno Haible  <bruno@clisp.org>
86742
86743         Upgrade to Unicode-4.0.
86744         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
86745         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
86746         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
86747         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
86748         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
86749         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
86750         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
86751         Change width of U+E0100..U+E01EF from 1 to 0.
86752
86753 2003-04-25  Jim Meyering  <jim@meyering.net>
86754
86755         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
86756         of type size_t, not int.
86757
86758 2003-04-25  Bruno Haible  <bruno@clisp.org>
86759
86760         * lib/copy-file.c: Include <stddef.h>, for size_t.
86761
86762 2003-04-21  Paul Eggert  <eggert@twinsun.com>
86763
86764         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
86765         code which expansion is under static control.  Patch imported from
86766         Akim Demaille's patch to Bison; see
86767         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
86768
86769 2003-04-14  Bruno Haible  <bruno@clisp.org>
86770
86771         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
86772
86773 2003-04-11  Jim Meyering  <jim@meyering.net>
86774
86775         Merge changes from Coreutils.
86776
86777         2003-03-22  Jim Meyering  <jim@meyering.net>
86778
86779         * lib/strftime.c (widen): Cast alloca return value to proper type.
86780
86781         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
86782
86783         From GNU libc.
86784         * lib/strftime.c (my_strftime): Handle very large width
86785         specifications for numeric values correctly.  Improve checks for
86786         overflow.
86787
86788         2003-01-19  Jim Meyering  <jim@meyering.net>
86789
86790         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
86791         definitions.
86792         (nl_get_alt_digit) [! defined my_strftime]: Define.
86793         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
86794         _nl_get_alt_digit and _nl_get_walt_digit.
86795
86796         * lib/strftime.c (my_strftime): Merge in locale-related changes from
86797         libc. These changes have no effect outside of _LIBC.
86798
86799 2003-04-10  Bruno Haible  <bruno@clisp.org>
86800
86801         * modules/findprog: New file.
86802         * MODULES.html.sh (func_all_modules): Add it.
86803
86804 2003-04-10  Bruno Haible  <bruno@clisp.org>
86805
86806         * m4/findprog.m4: New file.
86807         * m4/eaccess.m4: New file.
86808
86809 2003-04-10  Bruno Haible  <bruno@clisp.org>
86810
86811         * lib/findprog.h: New file, from GNU gettext.
86812         * lib/findprog.c: New file, from GNU gettext.
86813
86814 2003-04-05  Jim Meyering  <jim@meyering.net>
86815
86816         Merge changes from Coreutils.
86817
86818         * lib/exclude.h (PARAMS): Remove definition and uses.
86819         * lib/exclude.c: Remove uses of `PARAMS'.
86820
86821         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
86822         Add test-cases for DOS filenames. Declare program_name.
86823         (main): Set up program_name.  Patch by Rich Dawe.
86824
86825         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86826         error from mntctl.
86827         Use mntctl's return value to drive the entry-processing loop, since
86828         we can't rely on the value of the vmt_length member in the last
86829         entry.  On some systems doing so could result in exhausting
86830         virtual memory.  Based in part on a patch from Mike Jetzer.
86831
86832 2003-04-04  Bruno Haible  <bruno@clisp.org>
86833
86834         * modules/linebreak: New file.
86835         * MODULES.html.sh (func_all_modules): Add it.
86836
86837 2003-04-04  Bruno Haible  <bruno@clisp.org>
86838
86839         * m4/linebreak.m4: New file.
86840
86841 2003-04-04  Bruno Haible  <bruno@clisp.org>
86842
86843         * lib/linebreak.h: New file, from GNU gettext.
86844         * lib/linebreak.c: New file, from GNU gettext with slight
86845         modifications.
86846         * lib/lbrkprop.h: New file, from GNU gettext.
86847
86848 2003-04-03  Bruno Haible  <bruno@clisp.org>
86849
86850         * modules/utf8-ucs4: New file.
86851         * modules/utf16-ucs4: New file.
86852         * modules/ucs4-utf8: New file.
86853         * modules/ucs4-utf16: New file.
86854         * MODULES.html.sh (func_all_modules): Add them.
86855
86856 2003-04-03  Bruno Haible  <bruno@clisp.org>
86857
86858         * m4/utf-ucs4.m4: New file.
86859         * m4/ucs4-utf.m4: New file.
86860
86861 2003-04-03  Bruno Haible  <bruno@clisp.org>
86862
86863         * lib/utf8-ucs4.h: New file, from GNU gettext.
86864         * lib/utf16-ucs4.h: New file, from GNU gettext.
86865         * lib/ucs4-utf8.h: New file, from GNU gettext.
86866         * lib/ucs4-utf16.h: New file, from GNU gettext.
86867
86868 2003-04-02  Bruno Haible  <bruno@clisp.org>
86869
86870         * modules/binary-io: New file.
86871         * MODULES.html.sh (func_all_modules): Add it.
86872
86873 2003-04-02  Bruno Haible  <bruno@clisp.org>
86874
86875         * lib/binary-io.h: New file, from GNU gettext.
86876
86877 2003-04-01  Bruno Haible  <bruno@clisp.org>
86878
86879         * modules/pathname: New file.
86880         * MODULES.html.sh (func_all_modules): Add it.
86881
86882 2003-04-01  Bruno Haible  <bruno@clisp.org>
86883
86884         * lib/pathname.h: New file, from GNU gettext.
86885         * lib/concatpath.c: New file, from GNU gettext.
86886
86887 2003-03-30  Bruno Haible  <bruno@clisp.org>
86888
86889         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
86890
86891 2003-03-30  Bruno Haible  <bruno@clisp.org>
86892
86893         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
86894         function chown() doesn't exist.
86895
86896 2003-03-28  Bruno Haible  <bruno@clisp.org>
86897
86898         * modules/copy-file: New file.
86899         * MODULES.html.sh (func_all_modules): Add it.
86900
86901 2003-03-28  Bruno Haible  <bruno@clisp.org>
86902
86903         * m4/copy-file.m4: New file.
86904
86905 2003-03-28  Bruno Haible  <bruno@clisp.org>
86906
86907         * lib/copy-file.h: New file, from GNU gettext.
86908         * lib/copy-file.c: New file, from GNU gettext.
86909
86910 2003-03-18  Jim Meyering  <jim@meyering.net>
86911
86912         * lib/quote.c (quote_n): Fix typo in comment.
86913
86914 2003-03-18  Bruno Haible  <bruno@clisp.org>
86915
86916         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
86917         checking.
86918         * m4/onceonly_2_57.m4: Likewise.
86919
86920 2003-03-17  Bruno Haible  <bruno@clisp.org>
86921
86922         * m4/onceonly.m4: Require autoconf 2.54 or newer.
86923         (m4_quote): Remove macro.
86924         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
86925
86926 2003-03-14  Jim Meyering  <jim@meyering.net>
86927
86928         Merge changes from Coreutils.
86929         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
86930         to be const, in order to avoid warnings.
86931         (obstack_room): Likewise.
86932         (obstack_empty_p): Likewise.
86933
86934 2003-03-14  Bruno Haible  <bruno@clisp.org>
86935
86936         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
86937         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
86938
86939 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86940
86941         Merge changes from Bison.
86942         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
86943         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
86944         when compiling Bison 1.875's `bitset bset = obstack_alloc
86945         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
86946         * lib/hash.c: Include <stdbool.h> unconditionally.
86947
86948 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86949
86950         * m4/onceonly.m4 (m4_quote): New macro.
86951         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
86952         Quote AC_FOREACH variable-expansions properly.
86953
86954 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86955
86956         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
86957
86958 2003-03-09  Paul Eggert  <eggert@twinsun.com>
86959
86960         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
86961         Reported by Bruce Becker; see:
86962         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
86963
86964 2003-03-03  Paul Eggert  <eggert@twinsun.com>
86965             Bruno Haible  <bruno@clisp.org>
86966
86967         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
86968         Reported by John Hughes, see
86969         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
86970
86971 2003-02-20  Bruno Haible  <bruno@clisp.org>
86972
86973         * MODULES.html.sh (func_all_modules): Add poll.
86974
86975 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86976
86977         * modules/poll: New file.
86978
86979 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86980
86981         * lib/poll_.h: New file.
86982         * lib/poll.c: New file.
86983
86984 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86985
86986         * m4/poll.m4: New file.
86987
86988 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86989
86990         * modules/mathl: New file.
86991
86992 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86993
86994         * lib/mathl.h: New file.
86995         * lib/acosl.c: New file.
86996         * lib/asinl.c: New file.
86997         * lib/atanl.c: New file.
86998         * lib/ceill.c: New file.
86999         * lib/cosl.c: New file.
87000         * lib/expl.c: New file.
87001         * lib/floorl.c: New file.
87002         * lib/frexpl.c: New file.
87003         * lib/ldexpl.c: New file.
87004         * lib/logl.c: New file.
87005         * lib/sincosl.c: New file.
87006         * lib/sinl.c: New file.
87007         * lib/sqrtl.c: New file.
87008         * lib/tanl.c: New file.
87009         * lib/trigl.c: New file.
87010         * lib/trigl.h: New file.
87011
87012 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87013
87014         * m4/mathl.m4: New file.
87015
87016 2003-02-18  Bruno Haible  <bruno@clisp.org>
87017
87018         * MODULES.html.sh (func_all_modules): Add mathl.
87019
87020 2003-02-17  Bruno Haible  <bruno@clisp.org>
87021
87022         * modules/mkdtemp: New module.
87023         * MODULES.html.sh (func_all_modules): Add it.
87024
87025 2003-02-17  Bruno Haible  <bruno@clisp.org>
87026
87027         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
87028
87029 2003-02-17  Bruno Haible  <bruno@clisp.org>
87030
87031         * lib/mkdtemp.h: New file, from GNU gettext.
87032         * lib/mkdtemp.c: New file, from GNU gettext.
87033
87034 2003-02-02  Jim Meyering  <jim@meyering.net>
87035
87036         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
87037         e.g. glibc-2.2.93.
87038
87039 2003-01-31  Bruno Haible  <bruno@clisp.org>
87040
87041         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
87042         'rpl_rename'.
87043         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
87044         'rpl_strnlen'.
87045         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
87046         'rpl_strtod'.
87047         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
87048         'rpl_utime'.
87049
87050 2003-01-31  Bruno Haible  <bruno@clisp.org>
87051
87052         * lib/rename.c: #undef rename before defining rpl_rename.
87053         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
87054
87055 2003-01-30  Bruno Haible  <bruno@clisp.org>
87056
87057         * modules/vasnprintf, modules/vasprintf: New modules.
87058         * MODULES.html.sh (func_all_modules): Add them.
87059
87060 2003-01-30  Bruno Haible  <bruno@clisp.org>
87061
87062         * m4/signed.m4: New file, from GNU gettext.
87063         * m4/longdouble.m4: New file, from GNU gettext.
87064         * m4/wchar_t.m4: New file, from GNU gettext.
87065         * m4/wint_t.m4: New file, from GNU gettext.
87066         * m4/vasnprintf.m4: New file.
87067         * m4/vasprintf.m4: New file.
87068
87069 2003-01-30  Bruno Haible  <bruno@clisp.org>
87070
87071         * lib/printf-args.h: New file, from GNU gettext.
87072         * lib/printf-args.c: New file, from GNU gettext.
87073         * lib/printf-parse.h: New file, from GNU gettext.
87074         * lib/printf-parse.c: New file, from GNU gettext.
87075         * lib/vasnprintf.h: New file, from GNU gettext.
87076         * lib/vasnprintf.c: New file, from GNU gettext.
87077         * lib/asnprintf.c: New file, from GNU gettext.
87078         * lib/vasprintf.h: New file, from GNU gettext with modifications.
87079         * lib/vasprintf.c: New file, from GNU gettext.
87080         * lib/asprintf.c: New file, from GNU gettext.
87081
87082 2003-01-29  Bruno Haible  <bruno@clisp.org>
87083
87084         * modules/stpncpy: New module.
87085         * MODULES.html.sh (func_all_modules): Add it.
87086
87087 2003-01-29  Bruno Haible  <bruno@clisp.org>
87088
87089         * m4/stpncpy.m4: New file.
87090
87091 2003-01-29  Bruno Haible  <bruno@clisp.org>
87092
87093         * lib/stpncpy.h: New file, from GNU gettext with modifications.
87094         * lib/stpncpy.c: New file, from GNU gettext with modifications.
87095
87096 2003-01-28  Bruno Haible  <bruno@clisp.org>
87097
87098         * modules/c-ctype: New module.
87099         * MODULES.html.sh (func_all_modules): Add it.
87100
87101 2003-01-28  Bruno Haible  <bruno@clisp.org>
87102
87103         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
87104         Paul Eggert.
87105         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
87106         Paul Eggert.
87107
87108 2003-01-27  Bruno Haible  <bruno@clisp.org>
87109
87110         * modules/xsetenv: New module.
87111         * MODULES.html.sh (func_all_modules): Add it.
87112
87113 2003-01-27  Bruno Haible  <bruno@clisp.org>
87114
87115         * lib/xsetenv.h: New file, from GNU gettext.
87116         * lib/xsetenv.c: New file, from GNU gettext.
87117
87118 2003-01-23  Jim Meyering  <jim@meyering.net>
87119
87120         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
87121         from working on systems without dirfd (at least Irix and OSF1/Tru64).
87122
87123 2003-01-23  Bruno Haible  <bruno@clisp.org>
87124
87125         * modules/minmax: New module.
87126         * MODULES.html.sh (func_all_modules): Add it.
87127
87128 2003-01-23  Bruno Haible  <bruno@clisp.org>
87129
87130         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
87131         Eggert.
87132
87133 2003-01-22  Bruno Haible  <bruno@clisp.org>
87134
87135         * modules/exit: New module.
87136         * MODULES.html.sh (func_all_modules): Add it.
87137
87138 2003-01-22  Bruno Haible  <bruno@clisp.org>
87139
87140         * lib/exit.h: New file, from GNU gettext.
87141
87142 2003-01-19  Bruno Haible  <bruno@clisp.org>
87143
87144         * gnulib-tool: Recognize option --extract-maintainer.
87145         (func_get_maintainer): New function.
87146         * modules/*: Add Maintainer entry.
87147
87148 2003-01-16  Jim Meyering  <jim@meyering.net>
87149
87150         * m4/regex.m4: The `regex' struct is both input and output.
87151         Initialize it before each use.  Patch by Tim Waugh.
87152
87153 2003-01-16  Bruno Haible  <bruno@clisp.org>
87154
87155         * MODULES.html.sh: Add a table of contents. Add the module name as
87156         leftmost column. Add hyperlinks.
87157
87158 2003-01-15  Bruno Haible  <bruno@clisp.org>
87159
87160         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
87161
87162 2003-01-15  Bruno Haible  <bruno@clisp.org>
87163
87164         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
87165         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
87166         suffix.
87167
87168 2003-01-15  Bruno Haible  <bruno@clisp.org>
87169
87170         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
87171
87172 2003-01-15  Bruno Haible  <bruno@clisp.org>
87173
87174         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
87175         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
87176
87177 2003-01-14  Jim Meyering  <jim@meyering.net>
87178
87179         * lib/same.c (same_name): Tweak a comment.
87180
87181 2003-01-14  Bruno Haible  <bruno@clisp.org>
87182
87183         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
87184         when a string comparison is sufficient.
87185
87186 2003-01-14  Bruno Haible  <bruno@clisp.org>
87187
87188         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
87189         'unsigned int'.
87190
87191 2003-01-14  Bruno Haible  <bruno@clisp.org>
87192
87193         * lib/hash-pjw.c: Add comment about low quality of this function.
87194
87195 2003-01-13  Bruno Haible  <bruno@clisp.org>
87196
87197         * modules/stpcpy: Distribute lib/stpcpy.h.
87198         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
87199
87200 2003-01-13  Bruno Haible  <bruno@clisp.org>
87201
87202         * modules/*: Add a description.
87203         * modules/strpbrk: Fix Makefile.am snippet.
87204         * modules/strtoimax: Fix dependencies.
87205         * modules/strtoumax: Likewise.
87206
87207 2003-01-13  Bruno Haible  <bruno@clisp.org>
87208
87209         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
87210         * modules/alloca (Makefile.am): All object files depend on alloca.h.
87211         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
87212
87213 2003-01-13  Bruno Haible  <bruno@clisp.org>
87214
87215         * gnulib-tool (func_create_testdir): Store config/* files in the main
87216         directory.
87217         * config.rpath: Move to ...
87218         * config/config.rpath: ... here.
87219         * modules/gettext: Contains config/config.rpath, not config.rpath.
87220         * modules/iconv: Likewise.
87221
87222 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87223
87224         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87225         to avoid collisions with libcurses and libreadline.
87226
87227         * m4/getstr.m4: Remove.
87228         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
87229
87230 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87231
87232         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87233         to avoid collisions with libcurses and libreadline.
87234
87235         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
87236         * lib/getstr.h, getstr.c: Remove.
87237         * lib/getline.c: Include "getline.h", to check interface.
87238         Move body of old getstr.c here: this defines MIN_CHUNK and
87239         declares getdelim2, which is renamed from getstr.
87240         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
87241
87242         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
87243         All uses changed.
87244         * lib/linebuffer.h: Likewise.
87245         (readline): Remove backward-compatibility macro.
87246
87247 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87248
87249         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87250         to avoid collisions with libcurses and libreadline.
87251         * getstr: Remove.
87252         * MODULES.html.sh: Remove getstr.
87253         * modules/getline: Depend on unlocked-io, not getstr.
87254
87255 2003-01-12  Jim Meyering  <jim@meyering.net>
87256
87257         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
87258
87259 2003-01-10  Bruno Haible  <bruno@clisp.org>
87260
87261         * modules/alloca: Change Makefile.am requirements. Simplify Include
87262         requirements. Add lib/alloca_.h to file list.
87263
87264 2003-01-10  Bruno Haible  <bruno@clisp.org>
87265
87266         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
87267
87268 2003-01-10  Bruno Haible  <bruno@clisp.org>
87269
87270         * lib/alloca_.h: New file.
87271         * lib/getdate.y: Unconditionally include alloca.h.
87272         * lib/makepath.c: Likewise.
87273         * lib/setenv.c: Likewise.
87274         * lib/userspec.c: Likewise.
87275
87276 2003-01-09  Karl Berry  <karl@gnu.org>
87277
87278         * MODULES.html.sh: include `dirname $0` in PATH, to find
87279         gnulib-tool.
87280
87281 2003-01-09  Bruno Haible  <bruno@clisp.org>
87282
87283         * modules/stdbool: Change configure.ac, Makefile.am requirements.
87284         Simplify Include requirements. Add lib/stdbool.h.in to file list.
87285
87286 2003-01-09  Bruno Haible  <bruno@clisp.org>
87287
87288         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
87289
87290 2003-01-09  Bruno Haible  <bruno@clisp.org>
87291
87292         * lib/stdbool.h.in: New file.
87293
87294 2003-01-09  Bruno Haible  <bruno@clisp.org>
87295
87296         * gnulib-tool (func_all_modules): Ignore files ending in ~.
87297         * MODULES.html.sh: Likewise.
87298
87299 2003-01-08  Jim Meyering  <jim@meyering.net>
87300
87301         * lib/full-write.c: Undefine and define-away `const' after inclusion
87302         of errno.h, not before.  Suggestion from Bruno Haible.
87303
87304 2003-01-08  Bruno Haible  <bruno@clisp.org>
87305
87306         * modules/full-read: Depend on full-write.
87307
87308 2003-01-08  Bruno Haible  <bruno@clisp.org>
87309
87310         * lib/safe-read.c: Include specification header first, to ensure its
87311         selfcontainedness.
87312         * lib/full-write.c: Likewise.
87313
87314 2003-01-07  Jim Meyering  <jim@meyering.net>
87315
87316         * lib/full-write.c: Rework so that it may serve to define full_read,
87317         too.
87318         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
87319
87320 2003-01-07  Bruno Haible  <bruno@clisp.org>
87321
87322         * lib/strtoimax.c: Include <stdint.h> as an alternative to
87323         <inttypes.h>.
87324         * lib/xstrtol.h: Likewise.
87325         * lib/xstrtoimax.c: Likewise.
87326         * lib/xstrtoumax.c: Likewise.
87327         * lib/human.h: Likewise.
87328
87329         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
87330         on systems that have <inttypes.h> but not <stdint.h>.
87331
87332 2003-01-07  Bruno Haible  <bruno@clisp.org>
87333
87334         * MODULES.html.sh: Add copyright notice.
87335         (missed_files): Omit CVS directory entries.
87336         (func_module): Make it work with sed-3.02.
87337         * MODULES.txt: Remove file.
87338
87339 2003-01-06  Jim Meyering  <jim@meyering.net>
87340
87341         * lib/version-etc.c: Update year in translatable copyright string.
87342
87343 2003-01-03  Karl Berry  <karl@gnu.org>
87344
87345         * config/config.{guess,sub}: update from prep.
87346
87347 2003-01-02  Karl Berry  <karl@gnu.org>
87348
87349         * doc/COPYING.DOC: belatedly updated to 1.2.
87350
87351 2003-01-01  Karl Berry  <karl@gnu.org>
87352
87353         * gnulib-tool (func_verify_module): report module name $module in
87354         error message, not $1.
87355         * gnulib-tool (create-testdir): don't complain if destdir couldn't
87356         be created, only if it doesn't exist.
87357         * gnulib-tool (last_checkin_date): don't expand the $Date here.
87358
87359 2002-12-31  Paul Eggert  <eggert@twinsun.com>
87360
87361         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
87362
87363 2002-12-31  Paul Eggert  <eggert@twinsun.com>
87364
87365         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
87366         memcmp if strcoll doesn't work.
87367
87368 2002-12-31  Bruno Haible  <bruno@clisp.org>
87369
87370         * lib/utime.c (utime_null): No need to call ftruncate if the file was
87371         nonempty.
87372
87373 2002-12-31  Bruno Haible  <bruno@clisp.org>
87374
87375         * lib/memcoll.c (STRCOLL): New macro.
87376         (memcoll): Use it.
87377
87378 2002-12-31  Bruno Haible  <bruno@clisp.org>
87379
87380         * lib/localcharset.h: New file.
87381         * lib/localcharset.c: Include it.
87382         * lib/unicodeio.c: Likewise.
87383
87384 2002-12-31  Bruno Haible  <bruno@clisp.org>
87385
87386         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
87387         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
87388
87389 2002-12-31  Bruno Haible  <bruno@clisp.org>
87390
87391         * lib/getline.h: Include <stddef.h>, for size_t.
87392
87393         * lib/unicodeio.h: Include <stddef.h>, for size_t.
87394         * lib/unicodeio.c: Don't include <stddef.h>.
87395
87396 2002-12-31  Bruno Haible  <bruno@clisp.org>
87397
87398         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
87399         HAVE_TM_ZONE.
87400
87401 2002-12-24  Karl Berry  <karl@gnu.org>
87402
87403         * config/config.guess: update from prep.
87404
87405 2002-12-24  Bruno Haible  <bruno@clisp.org>
87406
87407         General infrasructure.
87408         * m4/README: Rewritten.
87409         * m4/onceonly.m4: New file.
87410         * m4/onceonly_2_57.m4: New file.
87411
87412         Module atexit.
87413         * m4/atexit.m4: New file.
87414
87415         Module strtod.
87416         * m4/strtod.m4: New file.
87417
87418         Module strtol.
87419         * m4/strtol.m4: New file.
87420
87421         Module strtoul.
87422         * m4/strtoul.m4: New file.
87423
87424         Module memchr.
87425         * m4/memchr.m4: New file.
87426
87427         Module memcmp.
87428         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
87429         (jm_FUNC_MEMCMP): Invoke it.
87430
87431         Module memcpy.
87432         * m4/memcpy.m4: New file.
87433
87434         Module memmove.
87435         * m4/memmove.m4: New file.
87436
87437         Module memset.
87438         * m4/memset.m4: New file.
87439
87440         Module strcspn.
87441         * m4/strcspn.m4: New file.
87442
87443         Module strpbrk.
87444         * m4/strpbrk.m4: New file.
87445
87446         Module strstr.
87447         * m4/strstr.m4: New file.
87448
87449         Module strerror.
87450         * m4/strerror.m4: New file.
87451
87452         Module mktime.
87453         * m4/mktime.m4: Renamed from jm-mktime.m4.
87454         (gl_PREREQ_MKTIME): New macro.
87455         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
87456
87457         Module malloc.
87458         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
87459         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
87460         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
87461
87462         Module realloc.
87463         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
87464         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
87465         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
87466
87467         Module strftime.
87468         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
87469         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
87470         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
87471         gl_TM_GMTOFF.
87472         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
87473
87474         Module xalloc.
87475         * m4/xalloc.m4: New file.
87476
87477         Module alloca.
87478         * m4/alloca.m4: New file.
87479
87480         Module putenv.
87481         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
87482         (jm_FUNC_PUTENV): Invoke it.
87483
87484         Module setenv.
87485         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
87486         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
87487         when invoked twice.
87488         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
87489         gt_FUNC_SETENV.
87490
87491         Module memrchr.
87492         * m4/memrchr.m4: New file.
87493
87494         Module stpcpy.
87495         * m4/stpcpy.m4: New file.
87496
87497         Module strcase.
87498         * m4/strcase.m4: New file.
87499
87500         Module strdup.
87501         * m4/strdup.m4: New file.
87502
87503         Module strnlen.
87504         * m4/strnlen.m4: New file.
87505
87506         Module strndup.
87507         * m4/strndup.m4: New file.
87508
87509         Module xstrtod.
87510         * m4/xstrtod.m4: New file.
87511
87512         Module xstrtol.
87513         * m4/xstrtol.m4: New file.
87514
87515         Module getdate.
87516         * m4/getdate.m4: New file.
87517
87518         Module unlocked-io.
87519         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
87520         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
87521         * m4/jm-glibc-io.m4n: Remove file.
87522
87523         Module long-options.
87524         * m4/long-options.m4: New file.
87525
87526         Module md5.
87527         * m4/md5.m4: New file.
87528
87529         Module sha.
87530         * m4/sha.m4: New file.
87531
87532         Module getstr.
87533         * m4/getstr.m4: New file.
87534
87535         Module getline.
87536         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
87537         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
87538         <sys/types.h>, for size_t. Use the function name gnu_getline, not
87539         simply getline. Infoke gl_PREREQ_GETLINE.
87540
87541         Module obstack.
87542         * m4/obstack.m4: New file.
87543
87544         Module hash.
87545         * m4/hash.m4: New file.
87546
87547         Module readtokens.
87548         * m4/readtokens.m4: New file.
87549
87550         Module strverscmp.
87551         * m4/strverscmp.m4: New file.
87552
87553         Module stdbool.
87554         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
87555         OSF/1.
87556
87557         Module strtoll.
87558         * m4/strtoll.m4: New file.
87559
87560         Module strtoull.
87561         * m4/strtoull.m4: New file.
87562
87563         Module strtoimax.
87564         * m4/strtoimax.m4: New file.
87565
87566         Module strtoumax.
87567         * m4/strtoumax.m4: New file.
87568
87569         Module xstrtoimax.
87570         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
87571         jm_AC_PREREQ_XSTRTOIMAX.
87572         Moved the strtol prerequisites to strtol.m4.
87573         Moved the strtoll prerequisites to strtoll.m4.
87574         Moved the strtoimax prerequisites to strtoimax.m4.
87575
87576         Module xstrtoumax.
87577         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
87578         jm_AC_PREREQ_XSTRTOUMAX.
87579         Moved the strtoul prerequisites to strtoul.m4.
87580         Moved the strtoull prerequisites to strtoull.m4.
87581         Moved the strtoumax prerequisites to strtoumax.m4.
87582
87583         Module chown.
87584         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
87585         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
87586
87587         Module dup2.
87588         * m4/dup2.m4: New file.
87589
87590         Module ftruncate.
87591         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
87592         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
87593
87594         Module getgroups.
87595         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
87596         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
87597
87598         Module gettimeofday.
87599         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
87600         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
87601         gl_PREREQ_GETTIMEOFDAY.
87602
87603         Module mkdir.
87604         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
87605         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
87606
87607         Module mkstemp.
87608         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
87609         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
87610         jm_AC_TYPE_UINTMAX_T.
87611         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
87612
87613         Module stat.
87614         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
87615         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
87616
87617         Module lstat.
87618         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
87619         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
87620
87621         Module timespec.
87622         * m4/timespec.m4 (gl_TIMESPEC): New macro.
87623         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
87624         * m4/st_mtim.m4: Indentation.
87625
87626         Module nanosleep.
87627         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
87628         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
87629         gl_PREREQ_NANOSLEEP.
87630
87631         Module regex.
87632         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
87633         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
87634         (gl_REGEX): New macro.
87635
87636         Module rename.
87637         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
87638         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
87639
87640         Module rmdir.
87641         * m4/rmdir.m4: New file.
87642
87643         Module utime.
87644         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
87645         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
87646         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
87647
87648         Module dirname.
87649         * m4/dirname.m4: New file.
87650
87651         Module getopt.
87652         * m4/getopt.m4: New file.
87653
87654         Module unistd-safer.
87655         * m4/unistd-safer.m4: New file.
87656
87657         Module fnmatch.
87658         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
87659         declaration.
87660         (gl_PREREQ_FNMATCH_EXTRA): New macro.
87661         (gl_FUNC_FNMATCH_POSIX): New macro.
87662         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
87663         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
87664         simply fnmatch.
87665
87666         Module exclude.
87667         * m4/exclude.m4: New file.
87668
87669         Module human.
87670         * m4/human.m4: New file.
87671
87672         Module acl.
87673         * m4/acl.m4: Nop.
87674
87675         Module backupfile.
87676         * m4/backupfile.m4: New file.
87677         * m4/d-ino.m4: Indentation.
87678
87679         Module fsusage.
87680         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
87681         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
87682         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
87683
87684         Module dirfd.
87685         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
87686         requirements.
87687
87688         Module euidaccess.
87689         * m4/euidaccess.m4: New file.
87690
87691         Module file-type.
87692         * m4/file-type.m4: New file.
87693
87694         Module fileblocks.
87695         * m4/fileblocks.m4: New file.
87696
87697         Module filemode.
87698         * m4/filemode.m4: New file.
87699
87700         Module isdir.
87701         * m4/isdir.m4: New file.
87702
87703         Module lchown.
87704         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
87705         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
87706
87707         Module makepath.
87708         * m4/makepath.m4: New file.
87709
87710         Module modechange.
87711         * m4/modechange.m4: New file.
87712
87713         Module mountlist.
87714         * m4/mountlist.m4: New file.
87715         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
87716         Indentation.
87717
87718         Module path-concat.
87719         * m4/path-concat.m4: New file.
87720
87721         Module pathmax.
87722         * m4/pathmax.m4: New file.
87723
87724         Module same.
87725         * m4/same.m4: New file.
87726
87727         Module save-cwd.
87728         * m4/save-cwd.m4: New file.
87729
87730         Module savedir.
87731         * m4/savedir.m4: New file.
87732
87733         Module xgetcwd.
87734         * m4/xgetcwd.m4: New file.
87735         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
87736
87737         Module xreadlink.
87738         * m4/xreadlink.m4: New file.
87739
87740         Module safe-read.
87741         * m4/safe-read.m4: New file.
87742
87743         Module safe-write.
87744         * m4/safe-write.m4: New file.
87745
87746         Module closeout.
87747         * m4/closeout.m4: New file.
87748
87749         Module stdio-safer.
87750         * m4/stdio-safer.m4: New file.
87751
87752         Module getpass.
87753         * m4/getpass.m4: New file.
87754
87755         Module getugroups.
87756         * m4/getugroups.m4: New file.
87757
87758         Module group-member.
87759         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
87760         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
87761
87762         Module idcache.
87763         * m4/idcache.m4: New file.
87764
87765         Module userspec.
87766         * m4/userspec.m4: New file.
87767
87768         Module gettime.
87769         * m4/clock_time.m4: New file.
87770         * m4/gettime.m4: New file.
87771
87772         Module settime.
87773         * m4/settime.m4: New file.
87774
87775         Module posixtm.
87776         * m4/posixtm.m4: New file.
87777
87778         Module gethostname.
87779         * m4/gethostname.m4: New file.
87780
87781         Module canon-host.
87782         * m4/canon-host.m4: New file.
87783
87784         Module gettext.
87785         * m4/codeset.m4: New file, from gettext-0.11.5.
87786         * m4/gettext.m4: New file, from gettext-0.11.5.
87787         * m4/glibc21.m4: New file, from gettext-0.11.5.
87788         * m4/iconv.m4: New file, from gettext-0.11.5.
87789         * m4/intdiv0.m4: New file, from gettext-0.11.5.
87790         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
87791         * m4/inttypes.m4: New file, from gettext-0.11.5.
87792         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
87793         * m4/isc-posix.m4: New file, from gettext-0.11.5.
87794         * m4/lcmessage.m4: New file, from gettext-0.11.5.
87795         * m4/lib-ld.m4: New file, from gettext-0.11.5.
87796         * m4/lib-link.m4: New file, from gettext-0.11.5.
87797         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
87798         * m4/progtest.m4: New file, from gettext-0.11.5.
87799         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
87800         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
87801         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
87802
87803         Module localcharset.
87804         * m4/localcharset.m4: New file.
87805
87806         Module hard-locale.
87807         * m4/hard-locale.m4: New file.
87808
87809         Module mbswidth.
87810         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
87811         onceonly macros.
87812         * m4/mbrtowc.m4: Add comment.
87813
87814         Module memcasecmp.
87815         * m4/memcasecmp.m4: New file.
87816
87817         Module memcoll.
87818         * m4/memcoll.m4: New file.
87819
87820         Module unicodeio.
87821         * m4/unicodeio.m4: New file.
87822
87823         Module rpmatch.
87824         * m4/rpmatch.m4: New file.
87825
87826         Module yesno.
87827         * m4/yesno.m4: New file.
87828
87829         Module exitfail.
87830         * m4/exitfail.m4: New file.
87831
87832         Module c-stack.
87833         * m4/c-stack.m4 (gl_C_STACK): New macro.
87834         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
87835
87836         Module error.
87837         * m4/error.m4 (gl_ERROR): New macro.
87838         (jm_PREREQ_ERROR): Use onceonly macros.
87839
87840         Module fatal.
87841         * m4/fatal.m4: New file.
87842
87843         Module getloadavg.
87844         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
87845         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
87846
87847         Module getpagesize.
87848         * m4/getpagesize.m4: New file.
87849
87850         Module getusershell.
87851         * m4/getusershell.m4: New file.
87852
87853         Module physmem.
87854         * m4/physmem.m4: New file.
87855
87856         Module posixver.
87857         * m4/posixver.m4: New file.
87858
87859         Module quotearg.
87860         * m4/quotearg.m4: New file.
87861
87862         Module quote.
87863         * m4/quote.m4: New file.
87864
87865         Module readutmp.
87866         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
87867
87868         Module sig2str.
87869         * m4/sig2str.m4: New file.
87870
87871         Other.
87872         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
87873         ulonglong.m4.
87874         * m4/intmax_t.m4: New file.
87875         * m4/d-type.m4: Indentation.
87876         * m4/jm-macros.m4: Update.
87877         * m4/prereq.m4 (jm_PREREQ): Update.
87878         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
87879         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
87880         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
87881         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
87882         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
87883         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
87884         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
87885         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
87886         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
87887         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
87888         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
87889         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
87890         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
87891         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
87892         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
87893         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
87894         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
87895         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
87896         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
87897
87898 2002-12-24  Bruno Haible  <bruno@clisp.org>
87899
87900         * MODULES.txt: Update according to m4/ changes.
87901
87902         Module gettext.
87903         * config.rpath: New file, from gettext-0.11.5.
87904
87905         * modules/*: New module descriptions.
87906         * gnulib-tool: New file.
87907         * MODULES.html.sh: New file.
87908
87909 2002-12-21  Karl Berry  <karl@gnu.org>
87910
87911         * doc/fdl.texi: update to version 1.2.
87912
87913 2002-12-19  Karl Berry  <karl@gnu.org>
87914
87915         * config/config.guess: update from prep.
87916
87917 2002-12-18  Bruno Haible  <bruno@clisp.org>
87918
87919         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
87920         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
87921
87922 2002-12-17  Bruno Haible  <bruno@clisp.org>
87923
87924         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
87925         stdlib.h, string.h.
87926
87927 2002-12-17  Bruno Haible  <bruno@clisp.org>
87928
87929         * lib/canon-host.c (strdup): Remove unused declaration.
87930
87931         * lib/fsusage.c: Include full_read.h.
87932         (get_fs_usage): Use full_read instead of safe_read.
87933
87934         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
87935
87936 2002-12-12  Karl Berry  <karl@gnu.org>
87937
87938         * config/config.guess: update from prep.
87939
87940 2002-12-11  Bruno Haible  <bruno@clisp.org>
87941
87942         * m4/setenv.m4: New file, from gettext-0.11.5.
87943
87944 2002-12-11  Bruno Haible  <bruno@clisp.org>
87945
87946         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
87947         not unsetenv().
87948         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
87949         modifications:
87950
87951         2002-12-11  Bruno Haible  <bruno@clisp.org>
87952
87953                 * setenv.c (alloca): Fall back to malloc.
87954                 (freea): New macro.
87955                 (setenv): Use freea() to free memory allocated with alloca().
87956
87957         2002-11-13  Bruno Haible  <bruno@clisp.org>
87958
87959                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
87960                 function declarations.
87961                 * unsetenv.c (unsetenv): Likewise.
87962
87963         2002-03-04  Bruno Haible  <bruno@clisp.org>
87964
87965                 Portability to AIX 4.3.3.
87966                 * unsetenv.c: New file, extracted from setenv.c.
87967                 * setenv.c: Move the unsetenv() function to unsetenv.c.
87968
87969         2001-12-20  Bruno Haible  <bruno@clisp.org>
87970
87971                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
87972                 use malloc instead. For SunOS 4.
87973
87974         2001-12-11  Bruno Haible  <bruno@clisp.org>
87975
87976                 * setenv.c: Declare alloca.
87977                 (compar_fn_t): New typedef.
87978                 (KNOWN_VALUE, STORE_VALUE): Use it.
87979
87980         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
87981         setenv.h.
87982
87983 2002-12-10  Paul Eggert  <eggert@twinsun.com>
87984
87985         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
87986         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
87987         Choose values that are less likely to collide with system fnmatch
87988         options.
87989         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
87990         defined (e.g., a pure POSIX system).
87991         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
87992         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
87993
87994 2002-12-06  Paul Eggert  <eggert@twinsun.com>
87995
87996         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
87997         a pain in practice to deal with generated m4 files.  This change
87998         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
87999
88000         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
88001         and jm-glibc-io.m4, as they are no longer a special case.
88002         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
88003         kludge and the auto-generation stuff.  Check only whether the
88004         functions are declared, not whether they exist, since older hosts
88005         that don't declare the functions can't use the optimization anyway.
88006
88007 2002-12-06  Jim Meyering  <jim@meyering.net>
88008
88009         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
88010
88011         Merge in changes from libc's misc/error.c, in preparation
88012         for the merge of gnulib's changes back into libc.
88013
88014         * lib/error.c (_): Define only if not already defined.
88015         Move definition to follow all #include directives.
88016         Include unlocked-io.h only if !_LIBC.
88017         [_LIBC]: Include <libio/libioP.h>.
88018         [USE_IN_LIBIO]: Include <libio/iolibio.h>
88019         (fflush): Tweak definition to use INTUSE.
88020         (putc): Define.
88021
88022 2002-12-05  Paul Eggert  <eggert@twinsun.com>
88023
88024         * lib/alloca.c [defined emacs]: Include "lisp.h".
88025         (xalloc_die) [defined emacs]: New macro.
88026         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
88027         [! defined emacs]: Include <xalloc.h>.
88028         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
88029         (pointer): Typedef to POINTER_TYPE *.
88030         (malloc): Remove decl; we now always use xmalloc.
88031         (alloca): Use old-style definition, since Emacs needs this.
88032         Check for arithmetic overflow when computing combined size.
88033
88034 2002-12-04  Paul Eggert  <eggert@twinsun.com>
88035
88036         Do not generate unlocked-io.h automatically, since it's easier to
88037         maintain it by hand.
88038
88039         * lib/unlocked-io.h: New file, from GNU diffutils,
88040         but with proper copyright notice and attribution.
88041         * lib/gen-uio: Remove.
88042         * lib/Makefile.am: Add copyright notice.
88043         (libfetish_a_SOURCES): Add unlocked-io.h.
88044         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
88045         (DISTCLEANFILES, io_functions): Remove macros.
88046         (EXTRA_DIST): Remove gen_uio.
88047         (unlocked-io.h): Remove rule.
88048
88049 2002-12-04  Jim Meyering  <jim@meyering.net>
88050
88051         Reflect the fact that stat.c and lstat.c are no longer generated.
88052         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
88053         (DISTCLEANFILES): Likewise.
88054         (EXTRA_DIST): Likewise.
88055         (all_local): Don't depend on stat.c or lstat.c.
88056         (stat.c, lstat.c): Remove rules.
88057         (EXTRA_DIST): Remove xstat.in.
88058
88059         * lib/xstat.in: Remove file.  Contents moved into stat.c.
88060         * lib/stat.c: New file.  Contents mostly from xstat.in.
88061         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
88062         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
88063
88064         * lib/safe-read.c: Rework so that it may serve to define safe_write,
88065         too.
88066         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
88067
88068 2002-12-03  Jim Meyering  <jim@meyering.net>
88069
88070         * lib/safe-read.c, safe-write.c: Change variable names and comments,
88071         but not semantics, to minimize the differences between these two files.
88072         (safe_read): Change comment to mention SAFE_READ_ERROR.
88073
88074         * lib/safe-read.c (IS_EINTR): Define.
88075         (safe_read): Use IS_EINTR in place of in-function cpp directives.
88076
88077 2002-12-02  Jim Meyering  <jim@meyering.net>
88078
88079         * lib/safe-read.c (EINTR): Define.
88080         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
88081         (INT_MAX): Provide fallback.
88082         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
88083
88084         * lib/safe-read.h (SAFE_READ_ERROR): Define.
88085
88086 2002-12-02  Bruno Haible  <bruno@clisp.org>
88087
88088         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
88089         Define, taken from safe-read.c.
88090         (INT_MAX): Provide fallback.
88091         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
88092         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
88093
88094         * lib/safe-read.c (EINTR): Remove definition.
88095         (safe_read): Don't use EINTR if it is absent.
88096
88097 2002-12-01  Jim Meyering  <jim@meyering.net>
88098
88099         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
88100         zero.
88101         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
88102
88103 2002-11-27  Paul Eggert  <eggert@twinsun.com>
88104
88105         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
88106         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
88107         with `if (! (value < limit)) abort ();', for readability.
88108
88109 2002-11-26  Karl Berry  <karl@gnu.org>
88110
88111         * lib/strdup.c: copy from libc again, with jim's ok.
88112         * lib/.cppi-disable: re-add strdup.c
88113
88114 2002-11-25  Karl Berry  <karl@gnu.org>
88115
88116         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
88117         instead of "strtol.c".
88118
88119 2002-11-25  Karl Berry  <karl@gnu.org>
88120
88121         * config/install-sh: update from automake for variable quoting, $0 in
88122         error msgs, etc.
88123
88124         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
88125         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
88126         entry.
88127
88128 2002-11-25  Jim Meyering  <jim@meyering.net>
88129
88130         * lib/mktime.c: Sync from libc, now that it has the latest fix.
88131
88132 2002-11-24  Karl Berry  <karl@gnu.org>
88133
88134         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
88135         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
88136
88137 2002-11-24  Jim Meyering  <jim@meyering.net>
88138
88139         Update from coreutils:
88140
88141         * lib/mktime.c: Merge in changes from libc.
88142
88143         Avoid a link-time failure on some Linux systems.
88144         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
88145         (otherwise).
88146         (__mon_yday): Declare with the STATIC attribute.
88147         (__mktime_internal): Likewise.
88148         Based on a report from Greg Schafer.
88149
88150 2002-11-23  Jim Meyering  <jim@meyering.net>
88151
88152         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
88153         Use `unsigned', not `int', as type of index.
88154
88155         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
88156
88157         * lib/fsusage.c: Remove unneeded parentheses around operands of
88158         `defined'.
88159
88160 2002-11-22  Paul Eggert  <eggert@twinsun.com>
88161
88162         * lib/quotearg.h: Allow multiple inclusion by surrounding with
88163         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
88164         so that we can be included first.
88165         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
88166         * lib/quotearg.c: Include quotearg.h immediately after config.h.
88167         No need to include stddef.h or sys/types.h any more.
88168         Surround local include files with "", not "<>".
88169         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
88170         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
88171         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
88172         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
88173         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
88174         (ISPRINT): Remove; no longer needed now that we assume C89.
88175
88176         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
88177         Preserve errno.
88178
88179         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
88180         quotearg_char): Use SIZE_MAX rather than
88181         (size_t) -1 when we are talking about "infinity".
88182
88183         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
88184
88185 2002-11-22  Paul Eggert  <eggert@twinsun.com>
88186
88187         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
88188         hint that one should use `if (! x) abort ();' rather than `assert
88189         (x);', and anyway it's one less thing to worry about configuring.
88190         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
88191         hash_rehash, hash_insert): Use abort rather than assert.
88192
88193 2002-11-22  Bruno Haible  <bruno@clisp.org>
88194
88195         * lib/safe-read.h: Assume C89. Add comments.
88196         (safe_read): Change return type to size_t.
88197         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
88198         byte counts > SSIZE_MAX correctly.
88199         * lib/safe-write.h: New file.
88200         * lib/safe-write.c: New file.
88201         * lib/full-read.h: New file.
88202         * lib/full-read.c: New file.
88203         * lib/full-write.h: Assume C89. Add comments.
88204         * lib/full-write.c: Include safe-write.h.
88205         (full_write): Rewritten to use safe_write.
88206         Suggested by Jim Meyering and Paul Eggert.
88207
88208 2002-11-21  Jim Meyering  <jim@meyering.net>
88209
88210         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
88211
88212         Merge in changes from the coreutils.
88213
88214         2002-09-25  Paul Eggert  <eggert@twinsun.com>
88215         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
88216         <stdint.h>.
88217         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
88218         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
88219         int.  Work more efficiently if X is the same width as uintmax_t.
88220         Do not compare X to -1, to avoid bogus compiler warning.
88221         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
88222         Don't assume that f_frsize and f_bsize are the same type.
88223
88224         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
88225         warning on FreeBSD.
88226
88227         * lib/makepath.c (make_path): Restore umask *before* creating the final
88228         component.
88229         (make_path): Minor reformatting.
88230
88231         * lib/xmalloc.c: Adjust to work with new autoconf macros,
88232         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
88233         HAVE_MALLOC/HAVE_REALLOC.
88234
88235         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
88236         dummy ones.  At least on GNU/Linux systems, `auto' means something
88237         else.
88238         From Michael Stone.
88239
88240 2002-11-21  Bruno Haible  <bruno@clisp.org>
88241
88242         Remove case insensitive option matching.
88243         * lib/argmatch.h (argcasematch): Remove declaration.
88244         (ARGCASEMATCH): Remove macro.
88245         (__xargmatch_internal): Remove case_sensitive argument.
88246         (XARGMATCH): Update.
88247         (XARGCASEMATCH): Remove macro.
88248         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
88249         case_sensitive argument.
88250         (argcasematch): Remove function.
88251         (__xargmatch_internal): Remove case_sensitive argument.
88252         (main): Use XARGMATCH instead of XARGCASEMATCH.
88253
88254         * lib/xmalloc.c: Change compile-time error message. Add comment about
88255         required autoconf version.
88256
88257 2002-11-20  Paul Eggert  <eggert@twinsun.com>
88258
88259         Merge argmatch cleanups from Bison.  Assume C89.
88260
88261         * lib/argmatch.c: Include config.h here, not in argmatch.h.
88262         Include stdlib.h, for EXIT_FAILURE.
88263         Always include <string.h>, since we assume C89.
88264         (EXIT_FAILURE): Remove pre-C89 bug workaround.
88265         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
88266         Include <stddef.h> instead, since it's all we need for size_t.
88267         (PARAMS): Remove.  All uses removed.
88268         (ARRAY_CARDINALITY): Do not bother to #undef.
88269         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
88270         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
88271         Remove unnecessary parentheses.
88272         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
88273         Insert necessary parentheses.
88274         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
88275         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
88276
88277 2002-11-19  Bruno Haible  <bruno@clisp.org>
88278
88279         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
88280         * lib/mbswidth.h: Include <stddef.h>, for size_t.
88281
88282         * lib/mbswidth.h (PARAMS): Remove macro.
88283         (mbswidth, mbsnwidth): Use ANSI C function declarations.
88284         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
88285
88286         * lib/gcd.h (PARAMS): Remove macro.
88287         (gcd): Use ANSI C function declarations.
88288         * lib/gcd.c (gcd): Likewise.
88289
88290 2002-11-15  Bruno Haible  <bruno@clisp.org>
88291
88292         * lib/strcspn.c: Include <stddef.h>.
88293         (strcspn): Use ANSI C function declaration. Change return type to
88294         size_t. Use NULL.
88295         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
88296         (strpbrk): Use NULL.
88297         * lib/strpbrk.h (PARAMS): Remove macro.
88298         (strpbrk): Use ANSI C function declaration.
88299         * lib/strstr.c: Don't include <sys/types.h>.
88300         * lib/strstr.h (PARAMS): Remove macro.
88301         (strstr): Use ANSI C function declarations.
88302
88303 2002-11-14  Karl Berry  <karl@gnu.org>
88304
88305         * config/mkinstalldirs: `do' on separate line, instead of
88306         `for var; do'.
88307
88308 2002-11-06  Bruno Haible  <bruno@clisp.org>
88309
88310         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
88311         * lib/gcd.c (gcd): Likewise.
88312
88313 2002-11-05  Bruno Haible  <bruno@clisp.org>
88314
88315         * lib/gcd.h: New file, from gettext-0.11.5.
88316         * lib/gcd.c: New file, from gettext-0.11.5.
88317
88318 2002-11-05  Bruno Haible  <bruno@clisp.org>
88319
88320         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88321         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88322         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88323         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88324
88325         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
88326         <libintl.h>.
88327         * lib/makepath.c: Include gettext.h instead of <locale.h> and
88328         <libintl.h>.
88329
88330         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
88331         * lib/human.c: Include gettext.h instead of <libintl.h>.
88332         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
88333         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
88334         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
88335         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
88336         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
88337         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
88338         (textdomain): Remove definition.
88339         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
88340
88341         * lib/long-options.c: Remove include of <libintl.h> and definition of
88342         _.
88343         * lib/same.c: Remove include of <libintl.h> and definition of _.
88344
88345 2002-11-04  Owen Taylor  <otaylor@redhat.com>
88346
88347         * lib/config.charset: A few additions for Solaris.
88348
88349 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
88350
88351         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
88352         * lib/localcharset.c (locale_charset): Declare as extern "C".
88353
88354 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
88355
88356         * lib/config.charset: msdos in uk_UA uses CP1125.
88357
88358 2002-11-04  Bruno Haible  <bruno@clisp.org>
88359
88360         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
88361         * lib/strcase.h: New file, from GNU gettext-0.11.5.
88362         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
88363         * lib/strstr.h: New file, from GNU gettext-0.11.5.
88364         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
88365
88366 2002-11-04  Bruno Haible  <bruno@clisp.org>
88367
88368         * lib/localcharset.c (locale_charset): Don't return an empty string.
88369
88370 2002-11-04  Bruno Haible  <bruno@clisp.org>
88371
88372         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
88373         aliases.
88374
88375 2002-11-04  Bruno Haible  <bruno@clisp.org>
88376
88377         * lib/config.charset: Update for newest glibc. Add canonical names
88378         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
88379
88380 2002-11-04  Bruno Haible  <bruno@clisp.org>
88381
88382         * lib/config.charset: Add support for NetBSD.
88383
88384 2002-11-04  Bruno Haible  <bruno@clisp.org>
88385
88386         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
88387
88388 2002-11-01  Bruno Haible  <bruno@clisp.org>
88389
88390         * configure.in: Add AC_CONFIG_AUX_DIR call.
88391         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
88392         test/Makefile.
88393         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
88394
88395 2002-09-28  Karl Berry  <karl@gnu.org>
88396
88397         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
88398         installed automake until the next release, since changes have been
88399         made.
88400
88401 2002-09-25  Karl Berry  <karl@gnu.org>
88402
88403         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
88404         * lib/getopt*: copy from libc/posix.
88405         * lib/gettext.h: copy from gettext.
88406         * lib/.cppi-disable: add strdup.c, gettext.h.
88407
88408 2002-09-25  Karl Berry  <karl@gnu.org>
88409
88410         * config/srclist.txt: enable gettext.h check.
88411         * config/config.{guess,sub}: update from prep.
88412         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
88413                 from automake 1.6.3.
88414         See srclist*.
88415
88416 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
88417
88418         * regex.c (PATFETCH): Remove the translating fetch.
88419         (PATFETCH_RAW): Rename to PATFETCH.
88420         (set_image_of_range): New fun.
88421         (SET_RANGE_TABLE_WORK_AREA): Use it.
88422         (regex_compile): Don't translate the pattern chars so eagerly.
88423         Only do it when inserting an `exactn' bytecode or when handling
88424         a char-range.
88425         (mutually_exclusive_p): Avoid empty statement.
88426
88427 2002-07-06  Jim Meyering  <meyering@lucent.com>
88428
88429         * m4/README: Don't mention Makefile.am.in.
88430         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
88431
88432 2002-07-01  Jim Meyering  <meyering@lucent.com>
88433
88434         * lib/c-stack.c: Include sys/time.h.
88435         From Volker Borchert.
88436
88437 2002-06-26  Paul Eggert  <eggert@twinsun.com>
88438
88439         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
88440
88441 2002-06-26  Paul Eggert  <eggert@twinsun.com>
88442
88443         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
88444         New macro.  Use it uniformly instead of
88445         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
88446         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
88447         reported by Vin Shelton.
88448
88449 2002-06-22  Paul Eggert  <eggert@twinsun.com>
88450
88451         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
88452         Do not assume SA_SIGINFO behavior.
88453         Bug reported by Jim Meyering on NetBSD 1.5.2.
88454
88455 2002-06-22  Jim Meyering  <meyering@lucent.com>
88456
88457         * m4/c-stack.m4: New file, from diffutils-2.8.2.
88458         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
88459
88460         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
88461         now that configure.ac uses AC_GNU_SOURCE.
88462         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
88463         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
88464
88465         Update to latest tools.  Suggestions from Paul Eggert.
88466         * m4/stdbool.m4: New file, from diffutils-2.8.2.
88467         * m4/gnu-source.m4: Update from diffutils-2.8.2.
88468         * m4/fnmatch.m4: Likewise.
88469         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
88470         to AC_HEADER_STDBOOL
88471
88472 2002-06-22  Jim Meyering  <meyering@lucent.com>
88473
88474         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
88475         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
88476
88477 2002-06-22  Jim Meyering  <meyering@lucent.com>
88478
88479         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
88480
88481         * lib/exitfail.c, exitfail.h: Likewise.
88482         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
88483
88484         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
88485         of fnmatch.h.
88486         (EXTRA_DIST): Add fnmatch_loop.c.
88487         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
88488
88489         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
88490         * lib/fnmatch.c: Update from diffutils-2.8.2.
88491         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
88492         * lib/fnmatch.h: Remove file.
88493
88494 2002-06-21  Jim Meyering  <meyering@lucent.com>
88495
88496         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
88497         * m4/mbrtowc.m4: Likewise.
88498
88499         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
88500         * m4/mbswidth.m4: Reflect name change:
88501         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
88502         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
88503
88504         * m4/lib-link.m4: Update from gettext-0.11.2.
88505         * m4/gettext.m4: Likewise.
88506
88507         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
88508         From Alfred M. Szmidt.
88509
88510 2002-06-18  Paul Eggert  <eggert@twinsun.com>
88511
88512         * lib/file-type.h: Report an error if neither S_ISREG nor
88513         S_IFREG is defined, instead of using a test specific to glibc
88514         2.2.  This should be safe, since POSIX requires S_ISREG and
88515         Unix Version 7 had S_IFREG.  We don't need to check for
88516         <sys/types.h> since we don't use any symbols that it defines.
88517
88518 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
88519
88520         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
88521         $@-t, so that each temporary file name is unique and valid in the first
88522         8 characters, for operation under DOS.
88523
88524 2002-06-15  Paul Eggert  <eggert@twinsun.com>
88525
88526         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
88527
88528 2002-06-15  Jim Meyering  <meyering@lucent.com>
88529
88530         Work even with DJGPP 2.03, which lacks support for symlinks.
88531         From Richard Dawe.
88532         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
88533         is defined.
88534         * lib/lchown.c (S_ISLNK): Likewise.
88535
88536 2002-06-15  Jim Meyering  <meyering@lucent.com>
88537
88538         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
88539         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
88540         have been included before this file.
88541
88542 2002-06-14  Jim Meyering  <meyering@lucent.com>
88543
88544         * lib/file-type.h: Use the version from diffutils-2.8.2.
88545         * lib/file-type.c: Likewise.
88546
88547 2002-06-07  Jim Meyering  <meyering@lucent.com>
88548
88549         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
88550         They're needed at least for NetBSD 1.5.2.
88551         ($statxfs_includes): Include those same headers.
88552         ($statxfs_includes): Include sys/vfs.h if available.
88553         ($statxfs_includes): Likewise for sys/statvfs.h.
88554         Check for the following members in both structs statfs and statvfs:
88555         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
88556
88557 2002-06-01  Jim Meyering  <meyering@lucent.com>
88558
88559         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
88560         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
88561
88562 2002-05-28  Jim Meyering  <meyering@lucent.com>
88563
88564         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
88565         Reported by Volker Borchert.
88566
88567 2002-05-27  Jim Meyering  <meyering@lucent.com>
88568
88569         Fix a problem seen only on nonconforming systems whereby ls.c's
88570         use of localtime, and then of gettimeofday would cause trouble:
88571         the localtime call used to initialize rpl_gettimeofday's save
88572         mechanism would clobber ls's current local time information so
88573         that in any long listing the first file would always be listed
88574         with date 1970-01-01.  Analysis by Volker Borchert.
88575
88576         * lib/gettimeofday.c (localtime): Undefine.
88577         (rpl_localtime): New function.
88578
88579 2002-05-27  Jim Meyering  <meyering@lucent.com>
88580
88581         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
88582         localtime.
88583
88584         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
88585         use the replacement function; it wouldn't resolve at link time.
88586         Reported by Volker Borchert.
88587
88588 2002-05-22  Jim Meyering  <meyering@lucent.com>
88589
88590         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
88591         file-type.h.
88592         * lib/file-type.h: New file.
88593         * lib/file-type.c (file_type): New file/function.  Extracted from
88594         diffutils.
88595
88596 2002-04-30  Jim Meyering  <meyering@lucent.com>
88597
88598         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
88599
88600 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88601
88602         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
88603
88604 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88605
88606         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
88607         Do not check for alloca.h (no longer used) or stdbool.h (was never
88608         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
88609
88610 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88611
88612         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
88613
88614 2002-04-29  Jim Meyering  <meyering@lucent.com>
88615
88616         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
88617         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
88618         Use AC_FUNC_STRNLEN here instead.
88619
88620         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
88621         With autoconf-2.53a, it's part of AC_PROG_CC.
88622
88623 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88624
88625         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
88626         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
88627
88628 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88629
88630         * lib/sig2str.h, lib/sig2str.c: New files.
88631         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
88632
88633 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88634
88635         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
88636         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
88637         of 127, since 64 is the largest conceivable number for ancient
88638         nonstandard hosts.
88639         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
88640
88641 2002-04-28  Jim Meyering  <meyering@lucent.com>
88642
88643         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
88644
88645 2002-04-24  Jim Meyering  <meyering@lucent.com>
88646
88647         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
88648         (jm_PREREQ): Use it.
88649
88650         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
88651         mach/mach.h fcntl.h.
88652         Check for this function: setlocale.
88653
88654 2002-04-24  Jim Meyering  <meyering@lucent.com>
88655
88656         * lib/gettext.h: New file, from Gettext.
88657         * lib/Makefile.am (INCLUDES): Remove -I../intl.
88658         (libfetish_a_SOURCES): Add gettext.h.
88659
88660 2002-04-16  Jim Meyering  <meyering@lucent.com>
88661
88662         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
88663         ut_pid, ut_id, ut_exit.
88664
88665 2002-04-16  Jim Meyering  <meyering@lucent.com>
88666
88667         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
88668         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
88669         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
88670
88671 2002-04-12  Jim Meyering  <meyering@lucent.com>
88672
88673         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
88674         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
88675         existence of the getmntinfo function.  Needed for Darwin 5.3.
88676
88677         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
88678         This is necessary at least on Darwin 5.3.
88679
88680         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
88681         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
88682         strnlen.o in the library, and that makes some versions of ranlib
88683         object.
88684
88685 2002-04-12  Jim Meyering  <meyering@lucent.com>
88686
88687         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
88688
88689 2002-04-09  Jim Meyering  <meyering@lucent.com>
88690
88691         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
88692         to be more precise.  Rather than saying we're checking whether the
88693         function `works', say what we're testing.
88694         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
88695         Reported by Bruno Haible.
88696
88697 2002-03-10  Jim Meyering  <meyering@lucent.com>
88698
88699         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
88700         Suggestion from Santiago Vila.
88701
88702 2002-03-08  Jim Meyering  <meyering@lucent.com>
88703
88704         * lib/rename.c: Mention that this wrapper is needed also on
88705         mips-dec-ultrix4.4 systems.
88706
88707 2002-03-02  Jim Meyering  <meyering@lucent.com>
88708
88709         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
88710         not HAVE_CLOCK_SETTIME.
88711
88712 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88713
88714         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
88715         Check for clock_settime.
88716
88717 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88718
88719         * lib/nanosleep.h: Rename to....
88720         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
88721
88722         * lib/gettime.c: New file.
88723         * lib/settime.c: New file.
88724         * lib/stime.c: Remove.
88725
88726         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
88727         timespec.h.  Remove nanosleep.h.
88728
88729 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88730
88731         * m4/acl.m4: New file.
88732         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
88733         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
88734
88735 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88736
88737         * lib/acl.c, lib/acl.h: New files.
88738         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
88739
88740 2002-02-24  Jim Meyering  <meyering@lucent.com>
88741
88742         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
88743         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
88744         cause trouble.  Reported by Nelson Beebe.
88745
88746 2002-02-23  Paul Eggert  <eggert@twinsun.com>
88747
88748         * lib/path-concat.c (xpath_concat): Reorder code to pacify
88749         compilers that don't know that xalloc_die never returns.
88750
88751 2002-02-20  Jim Meyering  <meyering@lucent.com>
88752
88753         * lib/getdate.c: Regenerate using bison-1.33.
88754
88755 2002-02-17  Jim Meyering  <meyering@lucent.com>
88756
88757         * config/config.guess (main): Don't use `head -1'; it's no longer
88758         portable. Use `sed 1q' instead.
88759
88760 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
88761
88762         * m4/codeset.m4: Upgrade to gettext-0.11.
88763         * m4/gettext.m4: Upgrade to gettext-0.11.
88764         * m4/glibc21.m4: Upgrade to gettext-0.11.
88765         * m4/iconv.m4: Upgrade to gettext-0.11.
88766         * m4/isc-posix.m4: Upgrade to gettext-0.11.
88767         * m4/lcmessage.m4: Upgrade to gettext-0.11.
88768         * m4/lib-ld.m4: New file, from gettext-0.11.
88769         * m4/lib-link.m4: New file, from gettext-0.11.
88770         * m4/lib-prefix.m4: New file, from gettext-0.11.
88771         * m4/progtest.m4: Upgrade to gettext-0.11.
88772
88773 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88774
88775         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
88776         (jm_PREREQ): Use it.
88777
88778 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88779
88780         * lib/posixver.c, lib/posixver.h: New files.
88781         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88782
88783 2002-02-02  Paul Eggert  <eggert@twinsun.com>
88784             Bruno Haible  <bruno@clisp.org>
88785
88786         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
88787         (fwrite_success_callback): New declaration.
88788         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
88789         print_unicode_char. Call failure callback instead of error.
88790         (fwrite_success_callback): New function.
88791         (exit_failure_callback): New function.
88792         (fallback_failure_callback): New function.
88793         (print_unicode_char): Call unicode_to_mb.
88794
88795 2002-01-26  Jim Meyering  <meyering@lucent.com>
88796
88797         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
88798         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
88799
88800 2002-01-26  Jim Meyering  <meyering@lucent.com>
88801
88802         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
88803
88804 2002-01-22  Paul Eggert  <eggert@twinsun.com>
88805
88806         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
88807
88808 2002-01-22  Jim Meyering  <meyering@lucent.com>
88809
88810         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
88811         Otherwise, some versions of automake would omit the rule that makes
88812         Makefile from Makefile.in.
88813
88814 2002-01-21  Paul Eggert  <eggert@twinsun.com>
88815
88816         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
88817         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88818         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
88819         (memcoll): Set errno to zero if there is no error.
88820
88821         * lib/quotearg.c (quotearg_buffer_restyled):
88822         Fix bug with quoting buffers containing NUL when backslashing escapes.
88823         This bug was exposed by the other changes in this patch.
88824         (quotearg_n_options): New arg ARGSIZE.
88825         All callers changed.
88826         (quoting_options_from_style): New function.
88827         (quotearg_n_style): Use it.
88828         (quotearg_n_style_mem): New function.
88829
88830         * lib/quotearg.h (quotearg_n_style_mem): New function.
88831
88832 2002-01-19  Jim Meyering  <meyering@lucent.com>
88833
88834         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
88835         Remove useless quotes: DF_PROG="df".
88836         * m4/strnlen.m4: New file.
88837
88838 2002-01-16  Paul Eggert  <eggert@twinsun.com>
88839
88840         * lib/backupfile.c (ISDIGIT): Comment fix.
88841         * lib/getdate.y (ISDIGIT): Likewise.
88842         * lib/posixtm.c (ISDIGIT, year): Likewise.
88843         * lib/strverscmp.c (ISDIGIT): Likewise.
88844         * lib/userspec.c (ISDIGIT): Likewise.
88845
88846 2002-01-16  Jim Meyering  <meyering@lucent.com>
88847
88848         * lib/getdate.y: Add three semicolons, each just before a closing
88849         brace. Bison (as of version 1.31) no longer papers over that mistake.
88850
88851 2002-01-05  Jim Meyering  <meyering@lucent.com>
88852
88853         * lib/version-etc.c (version_etc_copyright): Update copyright year.
88854
88855 2001-12-19  Paul Eggert  <eggert@twinsun.com>
88856
88857         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
88858         not silently exit merely because the output buffer happens to
88859         have nothing pending.
88860
88861 2001-12-18  Paul Eggert  <eggert@twinsun.com>
88862
88863         See the big note in ../ChangeLog.
88864         * lib/human.c (suffixes): Prefer K to k for 1024.
88865         (generate_suffix_backwards): New function.
88866         (human_readable_inexact): Use it.
88867         * lib/xstrtol.c (__xstrtol): If there is no number but there
88868         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
88869         Accept 'K' as well as 'k'.
88870
88871 2001-12-15  Jim Meyering  <meyering@lucent.com>
88872
88873         * lib/regex.h (__restrict_arr): Update from libc.
88874
88875         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
88876         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
88877         (STREQ): Define.
88878
88879 2001-12-14  Jim Meyering  <meyering@lucent.com>
88880
88881         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
88882         Suggestion from Bruno Haible.
88883
88884 2001-12-10  Jim Meyering  <meyering@lucent.com>
88885
88886         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
88887         xrealloc, Instead, include "xalloc.h".
88888         (initbuffer): Don't cast xmalloc return value to char*.
88889         (readline): Reword comment.
88890         Don't cast xrealloc return value to char*
88891         Return NULL, not 0.
88892
88893 2001-12-09  Jim Meyering  <meyering@lucent.com>
88894
88895         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
88896         about `signed and unsigned type in conditional expression'.
88897         * lib/posixtm.c (posix_time_parse): Likewise.
88898
88899         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
88900
88901         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
88902         to avoid a pedantic warning.
88903
88904         * lib/getstr.c: Don't include assert.h.
88905         (getstr): Remove warning-evoking assertions.
88906         Return -1 if offset parameter is out of bounds.
88907         Change the type of a local from int to size_t.
88908
88909         * lib/strftime.c (my_strftime_localtime_r): Include this function
88910         definition in the `#if ! HAVE_TM_GMTOFF' block.
88911
88912         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
88913         Include xalloc.h instead.
88914
88915 2001-12-02  Jim Meyering  <meyering@lucent.com>
88916
88917         * lib/tempname.c: Don't declare getenv, thus reverting the change of
88918         2001-11-18.  It's no longer necessary, now that stdlib.h is always
88919         included.
88920
88921         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
88922         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
88923
88924 2001-11-30  Akim Demaille  <akim@epita.fr>
88925
88926         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
88927         before being defined.
88928
88929 2001-11-27  Paul Eggert  <eggert@twinsun.com>
88930
88931         * lib/quotearg.h (quotearg_n, quotearg_n_style):
88932         First arg is int, not unsigned.
88933         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
88934         (SIZE_MAX, UINT_MAX): New macros.
88935         (quotearg_n_options): Abort if N is negative.
88936         Avoid overflow check on hosts where size_t is 64 bits and int
88937         is 32 bits, as overflow is impossible there.
88938         Fix off-by-one typo that caused unnecessary reallocation.
88939
88940 2001-11-27  Jim Meyering  <meyering@lucent.com>
88941
88942         * lib/tempname.c: Merge with version from libc.
88943         * lib/regex.c: Likewise.
88944
88945         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
88946         systems for which STDC_HEADERS is 0, it was not included, resulting in
88947         a warning about an integer-to-pointer conversion problem with getenv.
88948         Reported by Volker Borchert.
88949
88950 2001-11-26  Jim Meyering  <meyering@lucent.com>
88951
88952         * lib/gtod.h: Remove file.
88953         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
88954         * lib/gettimeofday.c: Don't include gtod.h.
88955         (GTOD_init): Remove function.
88956         (rpl_gettimeofday): Do its job here instead, rather than aborting.
88957         Suggestion from Volker Borchert.
88958
88959 2001-11-23  Jim Meyering  <meyering@lucent.com>
88960
88961         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
88962         it.
88963         * lib/hash.c (struct hash_table): Define it here instead.
88964
88965 2001-11-22  Jim Meyering  <meyering@lucent.com>
88966
88967         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
88968
88969 2001-11-20  Jim Meyering  <meyering@lucent.com>
88970
88971         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
88972         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
88973
88974 2001-11-19  Jim Meyering  <meyering@lucent.com>
88975
88976         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
88977         directory.  Use "conftestXXXXXX" as the template.
88978         Suggestion from Paul Eggert.
88979
88980         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
88981         immediately, so the test doesn't mistakenly hit the max-open-files
88982         limit.
88983
88984 2001-11-18  Paul Eggert  <eggert@twinsun.com>
88985
88986         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
88987         (TEMPORARIES): New macro.
88988         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
88989         removes an artificial limitation (e.g. HP-UX 10.20, where
88990         TMP_MAX is 17576).
88991
88992 2001-11-18  Jim Meyering  <meyering@lucent.com>
88993
88994         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
88995
88996 2001-11-18  Jim Meyering  <meyering@lucent.com>
88997
88998         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
88999         on SunOS 4.
89000
89001         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
89002         files will be created before anything else.
89003
89004 2001-11-17  Paul Eggert  <eggert@twinsun.com>
89005
89006         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
89007         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
89008
89009 2001-11-17  Jim Meyering  <meyering@lucent.com>
89010
89011         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
89012         Prompted by a report from Bob Proulx.
89013
89014         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
89015         Instead, require UTILS_FUNC_MKSTEMP.
89016
89017 2001-11-17  Jim Meyering  <meyering@lucent.com>
89018
89019         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
89020         Now, that's done as part of AC_FUNC_STRTOD.
89021
89022 2001-11-17  Jim Meyering  <meyering@lucent.com>
89023
89024         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
89025         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
89026         rather than group writable.  Patch by Juan F. Codagnone.
89027
89028         * lib/readtokens.c: Remove explicit declarations of xmalloc and
89029         xrealloc, Instead, include "xalloc.h".
89030
89031         * lib/mountlist.c: Include unlocked-io.h after all system headers.
89032         Remove explicit declarations of xmalloc, xrealloc,
89033         and xstrdup.  Instead, include "xalloc.h".
89034
89035         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
89036         unlocked-io.h.
89037         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
89038         Likewise.
89039         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
89040
89041         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
89042         Reported by Padraig Brady.
89043
89044         * lib/mkstemp.c: #undef mkstemp.
89045         Include config.h.
89046         (rpl_mkstemp): Rename from mkstemp.
89047         Protoize.
89048
89049 2001-11-16  Jim Meyering  <meyering@lucent.com>
89050
89051         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
89052         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
89053         determine the amount of total physical memory, use pstat_getstatic.
89054         HPUX-11 doesn't define _SC_PHYS_PAGES.
89055         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
89056         If sysconf couldn't be used to determine the amount of available
89057         physical memory, use both pstat_getstatic and pstat_getdynamic.
89058         Based on a patch from Bob Proulx.
89059
89060 2001-11-10  Jim Meyering  <meyering@lucent.com>
89061
89062         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
89063         (jm_PREREQ): Use it.
89064
89065 2001-11-09  Jim Meyering  <meyering@lucent.com>
89066
89067         * m4/jm-macros.m4: Require autoconf-2.52f.
89068         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
89069         Use these AC_-prefixed names, not the AM_-prefixed ones.
89070
89071         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
89072
89073 2001-11-05  Jim Meyering  <meyering@lucent.com>
89074
89075         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
89076
89077 2001-11-04  Jim Meyering  <meyering@lucent.com>
89078
89079         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
89080         $DEFS.
89081
89082 2001-11-03  Jim Meyering  <meyering@lucent.com>
89083
89084         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
89085         of AC_DEFUN.
89086
89087         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
89088         know the name of the variable in the macro definition.
89089
89090 2001-11-03  Jim Meyering  <meyering@lucent.com>
89091
89092         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
89093         in argmatch_to_argument call.
89094
89095         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
89096         argument.
89097
89098         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
89099         e.g., a fault due to an attempt to free a NULL pointer.
89100
89101 2001-11-01  Jim Meyering  <meyering@lucent.com>
89102
89103         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
89104         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
89105
89106 2001-11-01  Jim Meyering  <meyering@lucent.com>
89107
89108         * lib/dirfd.c, lib/dirfd.h: New files.
89109         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
89110
89111         * lib/hash.c (hash_print) [TESTING]: Clean up.
89112
89113 2001-10-22  Paul Eggert  <eggert@twinsun.com>
89114
89115         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
89116         to avoid a warning if -Wall.
89117
89118 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
89119
89120         * README: New file
89121         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
89122         (per RMS's instructions, this is now the canonical source)
89123         * lgpl/, gpl/: New directories.
89124
89125 2001-10-21  Paul Eggert  <eggert@twinsun.com>
89126
89127         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
89128
89129 2001-10-21  Jim Meyering  <meyering@lucent.com>
89130
89131         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
89132         this code would end up calling gettext even in packages built
89133         with --disable-nls.
89134         * lib/getopt.c (_): Likewise.
89135         * lib/regex.c (_): Likewise.
89136
89137 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89138
89139         * m4/error.m4 (jm_PREREQ_ERROR):
89140         Do not invoke AC_CHECK_FUNCS with strerror_r, as
89141         AC_FUNC_STRERROR_R does that.
89142         Check for strerror declaration.
89143
89144         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
89145         are supposed to have them these days.
89146         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
89147         Merge changes from latest Autoconf CVS.
89148         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
89149         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
89150         POSIX decided to standardize on the int flavor of strerror_r.
89151
89152 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89153
89154         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
89155         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
89156         Use strerror_r that is only a macro, even if it is not a function.
89157         (strerror): Check for HAVE_DECL_STRERROR before declaring.
89158         (private_strerror): Use prototypes, not old-style function definition.
89159         (print_errno_message): New function.
89160         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
89161         char*-flavored one.
89162         (error_tail, error, error_at_line): Use it.
89163
89164 2001-10-11  Jim Meyering  <meyering@lucent.com>
89165
89166         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
89167         and quote_n (1, ... to avoid clobbering a buffer.
89168
89169 2001-10-05  Jim Meyering  <meyering@lucent.com>
89170
89171         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
89172         hash-pjw.h.
89173         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
89174         * lib/hash-pjw.h: New file.
89175
89176 2001-09-30  Jim Meyering  <meyering@lucent.com>
89177
89178         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
89179         `struct fsstat' has the `f_fstypename' member.
89180         Use that to define FS_TYPE, which is now used to make
89181         the getfsstat link test tighter.
89182
89183 2001-09-30  Jim Meyering  <meyering@lucent.com>
89184
89185         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
89186         Include <sys/ucred.h>, for Apple Darwin.
89187         Include sys/mount.h and sys/fs_types.h only if available.
89188         (FS_TYPE): Define.
89189         (read_filesystem_list): Use FS_TYPE.
89190
89191 2001-09-29  Paul Eggert  <eggert@twinsun.com>
89192
89193         * lib/exclude.c (excluded_filename): 0 -> false, since it's
89194         a boolean context.
89195
89196 2001-09-29  Jim Meyering  <meyering@lucent.com>
89197
89198         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
89199         [one-argument getmntent function]): Include stdio.h before mntent.h.
89200         SunOS 4.1.x needs it for the declaration of `FILE'.
89201         Patch by Volker Borchert.
89202
89203         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
89204         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
89205         sys/fs_types.h, and make the link-test for getfsstat guard #include
89206         directives with appropriate #if HAVE_*_H tests so that we can
89207         detect getfsstat on Apple Darwin1.3.7 systems.
89208         Reported by Nelson Beebe.
89209         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
89210
89211 2001-09-28  Paul Eggert  <eggert@twinsun.com>
89212
89213         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
89214         #defines strtoimax.  Also treat the other strto* functions
89215         like strtoimax.
89216
89217         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
89218         Check for strtoul and strtoumax,
89219         as those declarations are made even in the signed case.
89220         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
89221         Likewise, for strtol and strtoimax.
89222
89223 2001-09-28  Paul Eggert  <eggert@twinsun.com>
89224
89225         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
89226         #defines strtoimax.  Also treat the other strto* functions
89227         like strtoimax.
89228
89229         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
89230         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
89231         (strtoimax, strtoumax): Do not declare if already defined as a macro.
89232
89233 2001-09-26  Jim Meyering  <meyering@lucent.com>
89234
89235         Most macros in unlocked-io.h had the wrong number of arguments.
89236         * lib/gen-uio: New script.
89237         (USE_UNLOCKED_IO): Define to 1 if not already defined.
89238         * lib/unlocked-io.hin: Remove file.
89239         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
89240         rather than trying to embed it here.
89241         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
89242         Reported by Padraig Brady.
89243
89244 2001-09-25  Volker Borchert  <bt@teknon.de>
89245
89246         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
89247         `result'.
89248
89249 2001-09-24  Jim Meyering  <meyering@lucent.com>
89250
89251         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
89252
89253 2001-09-23  Jim Meyering  <meyering@lucent.com>
89254
89255         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
89256         instead of the mere test for existence of mntent.h.  The latter
89257         would get a false-positive on AIX 3.4 systems.
89258         In the outer getmntent if-block, don't die if neither of the getmntent
89259         tests succeeds.  Instead, just fall through and continue with the
89260         remaining tests.
89261
89262 2001-09-23  Jim Meyering  <meyering@lucent.com>
89263
89264         * lib/mountlist.c: Remove useless parentheses in #if directives.
89265         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
89266         the deprecated MOUNTED symbol is no longer defined in mntent.h.
89267
89268 2001-09-22  Jim Meyering  <meyering@lucent.com>
89269
89270         * m4/gettext.m4: New file.  From gettext.
89271         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
89272         * m4/progtest.m4: Likewise
89273         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
89274         * m4/glibc21.m4: Likewise.
89275
89276         * m4/libintl.m4: Remove.  No longer used.
89277
89278 2001-09-22  Jim Meyering  <meyering@lucent.com>
89279
89280         * lib/localcharset.c: Update from latest gettext.
89281         * lib/config.charset: Likewise.
89282
89283 2001-09-20  Jim Meyering  <meyering@lucent.com>
89284
89285         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
89286         strtoimax.
89287         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
89288         strtoumax.
89289
89290 2001-09-20  Jim Meyering  <meyering@lucent.com>
89291
89292         * lib/xstrtol.c (strtoimax): Guard declaration with
89293         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
89294         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
89295         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
89296         (strtoumax): Likewise, for completeness (it wasn't necessary).
89297
89298 2001-09-17  Paul Eggert  <eggert@twinsun.com>
89299
89300         * lib/strtoimax.c (HAVE_LONG_LONG):
89301         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
89302         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
89303         to work around bug in IBM C compiler.
89304
89305 2001-09-17  Jim Meyering  <meyering@lucent.com>
89306
89307         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
89308         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
89309         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
89310         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
89311         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
89312         whenever the right hand side need not be expanded by the shell.
89313
89314 2001-09-16  Paul Eggert  <eggert@twinsun.com>
89315
89316         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
89317         library.  It's not correct, as some older glibcs are buggy.
89318         fnmatch wasn't fixed until glibc 2.2.
89319
89320         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
89321         special shell magic here.
89322
89323 2001-09-16  Jim Meyering  <meyering@lucent.com>
89324
89325         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
89326         * m4/jm-macros.m4: Require it.
89327
89328 2001-09-16  Jim Meyering  <meyering@lucent.com>
89329
89330         * lib/mkdir.c: New file.
89331
89332 2001-09-15  Jim Meyering  <meyering@lucent.com>
89333
89334         * m4/jm-macros.m4: Check for help2man.
89335
89336 2001-09-11  Jim Meyering  <meyering@lucent.com>
89337
89338         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
89339         The body, by Paul Eggert, was moved here from configure.in.
89340         * m4/jm-macros.m4: Require UTILS_HOST_OS.
89341
89342 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89343
89344         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
89345         (jm_PREREQ): Use it.
89346
89347 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89348
89349         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
89350         Use ssize_t, not int, to store result of readlink.
89351         Check for ssize_t overflow as well as size_t overflow,
89352         as POSIX says the result of readlink is implementation-defined
89353         when ssize_t overflows.
89354         Remove unnecessary cast to char*.
89355         Use free+malloc instead of realloc, as the storage doesn't need
89356         to be preserved and it's clearer and can be more efficient that way.
89357         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
89358         * lib/xreadlink.h (xreadlink): Update prototype.
89359
89360 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89361
89362         * lib/xgetcwd.c: Revert some of the previous change; intead,
89363         fix the HAVE_GETCWD_NULL code to behave more like the
89364         !HAVE_GETCWD_NULL code used to.
89365
89366         Include "xalloc.h".
89367         (xgetcwd): Do not return NULL when memory is exhausted; instead,
89368         invoke xalloc_die.
89369
89370 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89371
89372         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
89373         sys/param.h, as pathmax.h includes them.
89374
89375 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89376
89377         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
89378         (jm_PREREQ_XGETCWD): New macro.
89379
89380         * m4/getcwd.m4: New file.
89381
89382 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89383
89384         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
89385         like the HAVE_GETCWD_NULL code.
89386         Include pathmax.h if not HAVE_GETCWD.
89387         Do not include xalloc.h.
89388         (INITIAL_BUFFER_SIZE): New symbol.
89389         Do not use xmalloc / xrealloc, since the caller is responsible for
89390         handling errors.  Preserve errno around `free' during failure.
89391         Do not overrun buffer when using getwd.
89392
89393 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89394
89395         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
89396         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
89397         getcwd (NULL, 0).
89398
89399 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89400
89401         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
89402         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
89403         spotted by Jim Meyering.
89404
89405 2001-09-03  Jim Meyering  <meyering@lucent.com>
89406
89407         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
89408         failure.
89409
89410 2001-09-02  Jim Meyering  <meyering@lucent.com>
89411
89412         * lib/error.c: Update from GNU libc.
89413
89414 2001-09-01  Jim Meyering  <meyering@lucent.com>
89415
89416         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
89417         Used by df.
89418
89419 2001-09-01  Jim Meyering  <meyering@lucent.com>
89420
89421         * lib/xreadlink.c: New file.
89422         * lib/xreadlink.h: New file.
89423         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
89424         xreadlink.h.
89425
89426         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
89427         doesn't conflict with sparc Solaris 7's definition in
89428         /usr/include/sys/int_types.h.
89429
89430         * lib/exclude.c: Use `""', not `<>' to #include non-system header
89431         files.
89432         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
89433         and strncasecmp as r-values.  Unixware didn't have declarations.
89434
89435 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89436
89437         * lib/xstrtol.h: Add copyright notice.
89438         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
89439         LONGINT_INVALID_SUFFIX_CHAR.
89440
89441 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89442
89443         * lib/xstrtol.c (strtoimax): New decl.
89444
89445 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89446
89447         * lib/xgetcwd.c: Don't include pathmax.h.
89448         Include stdlib.h and unistd.h if available.
89449         Include xalloc.h.
89450         (xmalloc, xstrdup, free): Remove decls.
89451         (xgetcwd): Don't assume sizes fit in unsigned.
89452         Check for overflow when computing sizes.
89453         Simplify reallocation code.
89454
89455 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89456
89457         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
89458         a directory's st_size can have an arbitrary value, so the old
89459         usage could waste an arbitrary amount of memory.  All uses
89460         changed.
89461         * lib/savedir.h: Update prototype.
89462
89463 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89464
89465         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
89466
89467         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
89468         old strtoimax.c.
89469
89470         Also, make the following further changes to make this file's
89471         configuration more similar to that of strtol.c:
89472         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
89473         (strtoumax, uintmax_t, strtoull, strtol): Remove.
89474         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
89475         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
89476         changed to signed values.
89477
89478         And make the following changes as well:
89479         Fix copyright notice, as 1999 was missing.
89480         (verify): New macro.
89481         (strtoimax): Check sizes at compile-time, not run-time.
89482         Prefer strtol to strtoll if both work.
89483         (main): Remove; it was not that useful and was a pain to maintain.
89484
89485         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
89486
89487 2001-08-31  Jim Meyering  <meyering@lucent.com>
89488
89489         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
89490         Use an initial, malloc'd, buffer of length 128 rather than
89491         a statically allocated one of length 1024.
89492
89493 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89494
89495         Simplify code, partly by assuming autoconf 2.52 semantics.
89496
89497         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
89498
89499         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
89500         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
89501         All uses removed.
89502         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
89503         Move AC_REQUIRE to next-to-top level, to avoid confusion.
89504         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
89505         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
89506         jm_AC_HEADER_INTTYPES_H.
89507         * m4/jm-macros.m4 (jm_MACROS): Likewise.
89508
89509         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
89510
89511         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
89512         Quote first arg of AC_DEFUN.
89513         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
89514         since they are needed to parse the include file even if we need
89515         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
89516         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
89517         but with opposite signedness.
89518
89519 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89520
89521         Merge 'exclude' changes from tar 1.13.22.
89522         This fixes one or two unlikely storage allocation overflow bugs,
89523         but doesn't change user-visible behavior otherwise.
89524
89525 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89526
89527         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
89528         (jm_PREREQ_EXCLUDE): New macro.
89529
89530 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89531
89532         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
89533         tm to be declared.
89534
89535 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89536
89537         * lib/hash.c: Remove '2001' from copyright notice.
89538
89539 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89540
89541         * lib/full-write.h: New file.
89542         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
89543         * lib/full-write.c: Correct credits, as cccp.c no longer
89544         exists and anyway it was so heavily changed from the old cccp
89545         code as to be unrecognizable.  Include full-write.h.
89546         (full_write): Return size_t, with short writes meaning failure.
89547         All callers changed.  This fixes a bug with large buffers
89548         on 64-bit hosts.
89549         * lib/utime.c: Include full-write.h.
89550
89551 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89552
89553         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
89554         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
89555         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
89556         Include if available.
89557         (<xalloc.h>): Include
89558         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
89559         (verify): New macro.  Use it to verify that EXCLUDE macros do not
89560         collide with FNM macros.
89561         (struct patopts): New struct.
89562         (struct exclude): Use it, as exclude patterns now come with options.
89563         (new_exclude): Support above changes.
89564         (new_exclude, add_exclude_file):
89565         Initial size must now be a power of two to simplify overflow checking.
89566         (free_exclude, fnmatch_no_wildcards): New function.
89567         (excluded_filename): No longer requires options arg, as the options
89568         are determined by add_exclude.  Now returns bool, not int.
89569         (excluded_filename, add_exclude):
89570         Add support for the fancy new exclusion options.
89571         (add_exclude, add_exclude_file): Now takes int options arg.
89572         Check for arithmetic overflow when computing sizes.
89573         (add_exclude_file): xrealloc might modify errno, so don't
89574         realloc until after errno might be used.
89575
89576         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
89577         New macros.
89578         (free_exclude): New decl.
89579         (add_exclude, add_exclude_file): Now takes int options arg.
89580         (excluded_filename): No longer requires options arg, as the options
89581         are determined by add_exclude.  Now returns bool, not int.
89582
89583 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89584
89585         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
89586
89587 2001-08-27  Jim Meyering  <meyering@lucent.com>
89588
89589         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
89590
89591         * lib/version-etc.c (N_): Remove definition.
89592         Revert most of last change.
89593         Instead, simply don't mark the `Copyright...' string for translation.
89594         Based on advice from Paul Eggert.
89595
89596         * lib/strtoxmax.c: Tweak comment.
89597
89598 2001-08-26  Jim Meyering  <meyering@lucent.com>
89599
89600         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
89601
89602         * m4/xstrtoimax.m4: New file.
89603         * m4/xstrtoumax.m4: Add comments explaining why we
89604         AC_REPLACE_FUNCS(strtol).
89605
89606 2001-08-26  Jim Meyering  <meyering@lucent.com>
89607
89608         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
89609         of copyright with `%s' so translators don't get an untranslated
89610         message in 2002.
89611         (COPYRIGHT_YEAR): Define.
89612         (version_etc): Use fprintf rather than fputs.
89613         Suggestion from Ulrich Drepper.
89614
89615         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
89616
89617         * lib/strtoll.c: New file, from GNU libc.
89618         * lib/xstrtoimax.c: New file.
89619
89620         * lib/xstrtol.h: Add xstrtoimax.
89621         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
89622         * lib/strtoimax.c: New file.  Likewise, but first define
89623         STRTOUXMAX_SIGNED.
89624
89625         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
89626         ...
89627         * lib/strtoxmax.c: ... then renamed to this.
89628
89629 2001-08-18  Paul Eggert  <eggert@twinsun.com>
89630
89631         * m4/inttypes.m4: Add AC_PREREQ(2.13).
89632         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
89633         (jm_AC_TYPE_INTMAX_T): New macro.
89634         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
89635
89636         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
89637
89638         * m4/longlong.m4: Renamed from ulonglong.m4.
89639         * m4/inttypes.m4: Renamed from inttypes_h.m4.
89640         * m4/uintmax_t.m4: Removed.
89641
89642 2001-08-13  Paul Eggert  <eggert@twinsun.com>
89643
89644         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
89645         Port to Solaris 8, where 'sed' requires a space after the 'r'
89646         command, and where sh dislikes "$/".  Clean up the spacing a bit.
89647         Redirect output to $tmp just once.
89648
89649 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
89650
89651         * lib/addext.c (<errno.h>): Include.
89652         (errno): Declare if not defined.
89653         (addext): Work correctly when pathconf returns -1 and leaves
89654         errno alone because there is no limit.  Also, work even if
89655         pathconf returns a value greater than SIZE_MAX.
89656
89657 2001-08-12  Jim Meyering  <meyering@lucent.com>
89658
89659         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
89660         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
89661         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
89662         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
89663         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
89664         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
89665         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
89666         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
89667         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
89668         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
89669         utime.m4, utimes.m4, xstrtoumax.m4:
89670         Quote the first argument in each use of AC_DEFUN.
89671
89672 2001-08-12  Jim Meyering  <meyering@lucent.com>
89673
89674         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
89675         Simply `return getcwd (NULL, 0);'.
89676         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
89677         Use 1300 as initial value for length, not PATH_MAX.
89678
89679         * lib/pathmax.h: Clean up cpp syntax.
89680
89681 2001-08-12  Jim Meyering  <meyering@lucent.com>
89682
89683         * lib/gettimeofday.c: New file.
89684         * lib/gtod.h: New file.
89685         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
89686
89687 2001-08-05  Jim Meyering  <meyering@lucent.com>
89688
89689         * m4/jm-macros.m4: Require autoconf-2.52.
89690
89691 2001-08-04  Jim Meyering  <meyering@lucent.com>
89692
89693         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
89694         stmt, to get in sync with glibc.
89695
89696 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89697
89698         The following changes are from gettext 0.10.39 as maintained by
89699         Bruno Haible.
89700
89701         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
89702         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
89703         with inverted sense.  All uses changed.
89704
89705         * lib/mbswidth.c: Don't include <limits.h>.
89706         Include <stdlib.h> and <string.h> unconditionally.
89707         (iswcntrl, mbsinit, ISCNTRL): New macros.
89708         (mbsnwidth): Use K&R style function declarations.
89709         Don't bother checking for MB_LEN_MAX == 1, since the compiler
89710         can optimize it when MB_CUR_MAX == 1.
89711         The width of control characters is zero, not 1.
89712
89713 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89714
89715         The following changes are from gettext 0.10.39 as maintained by
89716         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
89717
89718         * m4/codeset.m4: Upgrade to serial AM1.
89719         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
89720         all uses changed.  Quote first arg of AC_DEFUN.
89721         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
89722
89723         * m4/iconv.m4: Upgrade to serial AM2.
89724         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
89725         Add --with-libconv-prefix.
89726         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
89727         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
89728         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
89729         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
89730         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
89731
89732         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
89733         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
89734         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
89735         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
89736         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
89737         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
89738         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
89739         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
89740         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
89741
89742         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
89743         string.h any more.
89744
89745         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
89746         not the default value.
89747
89748         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
89749         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
89750         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
89751         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
89752         Also check for iswcntrl, used for wcwidth fallback.
89753         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
89754         to Autoconf 2.13.
89755
89756 2001-08-03  Jim Meyering  <meyering@lucent.com>
89757
89758         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
89759         as it was in the original.  Reported by Paul Eggert.
89760
89761 2001-07-16  Jim Meyering  <meyering@lucent.com>
89762
89763         * m4/gettimeofday.m4: New file.
89764         Prompted by a report from Bernhard Baehr.
89765
89766 2001-07-15  Jim Meyering  <meyering@lucent.com>
89767
89768         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
89769         stuff. Now it's in ../Makefile.cfg.
89770
89771 2001-07-15  Jim Meyering  <meyering@lucent.com>
89772
89773         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
89774         (BUILT_SOURCES): Add unlocked-io.h.
89775         (io_functions): Define.
89776         (unlocked-io.h): New rule.
89777         (DISTCLEANFILES): Add unlocked-io.h.
89778         (all-local): Depend on unlocked-io.h, to ensure it is created.
89779
89780         * lib/unlocked-io.hin: New file
89781
89782         * lib/regex.c: Update from glibc.
89783
89784 2001-07-05  Jim Meyering  <meyering@lucent.com>
89785
89786         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
89787         recommendation.
89788         (libfetish_a_SOURCES): Put all .h files here instead.
89789         Remove a thus-exposed (better checks in automake) duplicate and
89790         two unnecessary .h files.
89791
89792 2001-07-04  Jim Meyering  <meyering@lucent.com>
89793
89794         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
89795         that generates jm-glibc-io.m4 so that it doesn't trigger any make
89796         distcheck failure.
89797
89798 2001-07-02  Jim Meyering  <meyering@lucent.com>
89799
89800         The following changes were prompted by suggestions from Bruno Haible.
89801
89802         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
89803         is now generated.
89804         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
89805         definition of EXTRA_DIST.
89806         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
89807         ensure that the generated file is created/updated whenever the list
89808         of $(unlocked_functions) is changed.
89809         (jm-glibc-io.m4): New rule.
89810         (unlocked-io.h): New rule -- currently unused.
89811
89812 2001-06-24  Jim Meyering  <meyering@lucent.com>
89813
89814         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
89815         unmatched right bracket, rather than kludging it with an extra,
89816         falsely-matching quote in a comment.  Patch by Akim Demaille.
89817
89818 2001-06-11  Jim Meyering  <meyering@lucent.com>
89819
89820         * lib/regex.c: Update from GNU libc.
89821
89822 2001-05-27  Jim Meyering  <meyering@lucent.com>
89823
89824         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
89825         Check for ut_type in struct utmp.
89826
89827 2001-05-27  Jim Meyering  <meyering@lucent.com>
89828
89829         * lib/readutmp.h (UT_TYPE): Define.
89830
89831 2001-05-24  Jim Meyering  <meyering@lucent.com>
89832
89833         * lib/argmatch.c: Include "quote.h".
89834         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
89835         quote function.  Reported by Göran Uddeborg.
89836
89837 2001-05-22  Jim Meyering  <meyering@lucent.com>
89838
89839         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
89840         now that we use the package-supplied version unconditionally.
89841         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
89842
89843 2001-05-21  Jim Meyering  <meyering@lucent.com>
89844
89845         * m4/regex.m4: Change a couple backticks to single quotes to avoid
89846         shell syntax errors.
89847
89848 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89849
89850         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
89851
89852 2001-05-20  Paul Eggert  <eggert@twinsun.com>
89853
89854         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
89855         Don't bother to check library strftime, since
89856         we'll be using our own my_strftime function anyway.
89857         Define my_strftime instead of strftime.
89858
89859 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
89860
89861         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
89862         which is not yet declared.
89863
89864 2001-05-15  Jim Meyering  <meyering@lucent.com>
89865
89866         * m4/regex.m4: Use proper quoting so brackets appear in the test
89867         program.
89868         Reported by, and with help from, Bruno Haible.
89869
89870 2001-05-13  Jim Meyering  <meyering@lucent.com>
89871
89872         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
89873         undefined.
89874
89875 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89876
89877         dirname code cleanup.  base_name now behaves more compatibly
89878         with POSIX basename when given file names that have trailing
89879         slashes, and similarly for dir_name.  Add new primitives
89880         base_len and dir_len.  Put the directory-name-related decls
89881         into dirname.h.
89882
89883         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
89884         * lib/backupfile.c (base_name): Likewise.
89885         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
89886         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
89887         * lib/makepath.c (strip_trailing_slashes): Likewise.
89888         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
89889         ISSLASH): Likewise.
89890         * lib/rename.c (strip_trailing_slashes): Likewise.
89891         * lib/same.c (base_name): Likewise.
89892         * lib/stripslash.c (ISSLASH): Likewise.
89893
89894         * lib/addext.c: Include <dirname.h> after size_t is defined.
89895         * lib/backupfile.c: Likewise.
89896
89897         * lib/addext.c (addext): Use base_len to trim redundant
89898         trailing slashes instead of doing it ourselves.
89899         But do not trim the last slash if it is not redundant.
89900
89901         * lib/backupfile.c (find_backup_file_name,
89902         max_backup_version): Use base_len instead of rolling it ourselves.
89903         Handle the case of "" and (on DOS) "C:" correctly.
89904
89905         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
89906         needed. Include <string.h>, <dirname.h>.
89907         (base_name): Allow file names ending in slashes, other than names
89908         that are all slashes.  In this case, return the basename followed
89909         by the slashes.  This is more general, and can be used in places
89910         where the original base_name purposely had an assertion failure.
89911         (base_len): New function.
89912
89913         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
89914         Do not include <assert.h>; no longer needed.
89915         Include xalloc.h.
89916         (memrchr): Remove decl.
89917         (dir_name_r): Remove.
89918         (dir_len): Renamed from dirlen.  All callers changed.
89919         Rewrite in terms of base_name, for simplicity and consistency.
89920         (dir_name): Never return NULL.  All callers changed.
89921         Do not include <stdlib.h> in test program; no longer needed.
89922         return 0; is fine for test program.
89923
89924         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
89925         New macros.
89926         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
89927
89928         * lib/path-concat.c (path_concat): Use base_len to compute
89929         base length, not strlen; this means we cannot rely on memcpy
89930         to null-terminate.
89931
89932         * lib/same.c (STREQ): Remove.
89933         (same_name): Handle the case where the basename ends in trailing '/'.
89934
89935         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
89936         a slash was stripped.  Do not strip the last slash after a
89937         file system prefix.
89938
89939 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89940
89941         * lib/Makefile.am (libfetish_a_SOURCES):
89942         Add strftime.c, since we now compile it on all hosts.
89943
89944         * lib/strftime.c (my_strftime):
89945         Define to nstrftime if emacs, but only if my_strftime is not defined.
89946         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
89947         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
89948         Add one more extra argument: a nanoseconds value.
89949         All uses changed.
89950         (ns): New macro.
89951         (my_strftime function): Add %N format.
89952         (emacs_strftimeu): Renamed from emacs_strftime,
89953         with extra ut argument.
89954
89955 2001-05-09  Paul Eggert  <eggert@twinsun.com>
89956
89957         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
89958
89959 2001-04-21  Jim Meyering  <meyering@lucent.com>
89960
89961         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
89962         doesn't interfere.
89963
89964 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89965
89966         * m4/ftruncate.m4: Check for chsize.
89967         Link with ftruncate.o unconditionally if ftruncate is missing.
89968         This was required when cross-compiling to i586-mingw32msvc.
89969
89970 2001-04-08  Jim Meyering  <meyering@lucent.com>
89971
89972         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
89973         recomputed; that's necessary when the offset spans a DST transition.
89974         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
89975
89976 2001-04-02  Jim Meyering  <meyering@lucent.com>
89977
89978         * lib/regex.h, regex.c: Update from GNU libc.
89979
89980 2001-03-24  Jim Meyering  <meyering@lucent.com>
89981
89982         * m4/jm-macros.m4: Require autoconf-2.49d.
89983
89984 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
89985
89986         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
89987
89988 2001-03-19  Paul Eggert  <eggert@twinsun.com>
89989
89990         * lib/version-etc.c (version_etc_copyright): Update to 2001.
89991
89992 2001-03-17  Jim Meyering  <meyering@lucent.com>
89993
89994         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
89995         now that the version in autoconf is equivalent.
89996         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
89997
89998         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
89999         Suggestion from Akim Demaille.
90000
90001         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
90002         (jm_PREREQ_TEMPNAME): New function.
90003
90004 2001-03-16  Paul Eggert  <eggert@twinsun.com>
90005
90006         * lib/tempname.c (uint64_t): Define to uintmax_t if
90007         not defined, and if UINT64_MAX is not defined.
90008         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
90009         Reported by John David Anglin.
90010
90011 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
90012
90013         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
90014         resolve alias if codeset is empty.
90015         * lib/config.charset (BeOS): Use wildcard syntax.
90016
90017 2001-03-13  Jim Meyering  <meyering@lucent.com>
90018
90019         * lib/path-concat.c (path_concat)
90020         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
90021         concatenating e.g., `C:' and `foo'.
90022         From Bruno Haible.
90023
90024 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
90025
90026         * lib/localcharset.c (locale_charset): Don't use
90027         setlocale(LC_CTYPE,NULL). Don't return NULL.
90028         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
90029
90030 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
90031
90032         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
90033         support for DOS/DJGPP.
90034
90035 2001-03-01  Paul Eggert  <eggert@twinsun.com>
90036
90037         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
90038         lacks mkstemp.  Compile our own tempname.c if we compile our own
90039         mkstemp.c, as mkstemp relies on tempname.
90040
90041 2001-03-01  Jim Meyering  <meyering@lucent.com>
90042
90043         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
90044         AH_VERBATIM really does output its argument verbatim.
90045
90046 2001-02-28  Paul Eggert  <eggert@twinsun.com>
90047
90048         * lib/Makefile.am (libfetish_a_SOURCES):
90049         Add dup-safer.c, fopen-safer.c.
90050         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
90051
90052         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
90053         * lib/unistd-safer.h: New files.
90054
90055 2001-02-25  Paul Eggert  <eggert@twinsun.com>
90056
90057         The mkstemp replacement is taken from glibc 2.2.2, with some
90058         portability fixes for use outside glibc, as follows:
90059
90060         * lib/tempname.c (struct_stat64): New macro.
90061         (direxists, __gen_tempname): Use it.
90062         This avoids a portability problem with Solaris 8.
90063
90064         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
90065         (<stddef.h>, <stdint.h>, <string.h>):
90066         Include only if STDC_HEADERS || _LIBC.
90067         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
90068         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
90069         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
90070         (__set_errno): Define this macro if <errno.h> doesn't.
90071         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
90072         Define these macros if <stdio.h> doesn't.
90073         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
90074         Define these macros if <sys/stat.h>
90075         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
90076         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
90077         __xstat64): Define if not _LIBC.
90078         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
90079         (__gen_tempname): Invoke gettimeofday only if
90080         HAVE_GETTIMEOFDAY || _LIBC;
90081         otherwise, fall back on plain "time".
90082         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
90083
90084         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
90085
90086         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
90087
90088 2001-02-18  Paul Eggert  <eggert@twinsun.com>
90089
90090         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
90091
90092 2001-02-17  Paul Eggert  <eggert@twinsun.com>
90093
90094         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
90095         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
90096         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
90097         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
90098
90099 2001-02-17  Paul Eggert  <eggert@twinsun.com>
90100
90101         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
90102         Remove workaround macros for hosts that have mbrtowc but not
90103         mbstate_t, as we now insist on proper declarations for both
90104         before using mbrtowc.
90105
90106 2001-02-17  Jim Meyering  <meyering@lucent.com>
90107
90108         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
90109         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
90110         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
90111         UnixWare 7.1.1.
90112
90113         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
90114         rather than AC_CACHE_VAL.
90115
90116 2001-02-17  Jim Meyering  <meyering@lucent.com>
90117
90118         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
90119         around included file name.
90120
90121         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
90122
90123         * lib/strftime.c: Update from GNU libc (the only changes were to
90124         comments).
90125
90126 2001-02-17  Jim Meyering  <meyering@lucent.com>
90127
90128         * lib/regex.c: Update from libc.
90129
90130 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
90131
90132         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
90133         clash.
90134
90135 2001-02-16  Paul Eggert  <eggert@twinsun.com>
90136
90137         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
90138         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
90139         Reported by Mark Hounschell via Paul Eggert.
90140
90141 2001-02-07  Jim Meyering  <meyering@lucent.com>
90142
90143         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
90144
90145 2001-02-05  Jim Meyering  <meyering@lucent.com>
90146
90147         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
90148         it includes the patch required for `large file' support with at least
90149         HP-UX's 10.20 /bin/cc.
90150
90151 2001-02-03  Jim Meyering  <meyering@lucent.com>
90152
90153         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
90154         AS_IF, now that it works once again (mysteriously).
90155         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
90156
90157 2001-01-30  Jim Meyering  <meyering@lucent.com>
90158
90159         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
90160         * m4/chown.m4: Rename conftestchown to conftest.chown.
90161         * m4/rename.m4: s/conftestdir/conftest.d1/ and
90162         s/conftestdir2/conftest.d2/.
90163         * m4/utimes.m4: s/conftestdata/conftest.data/
90164         Inspired by Pavel Roskin's change in autoconf.
90165
90166 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
90167
90168         * lib/config.charset: Update for FreeBSD 4.2.
90169
90170 2001-01-27  Jim Meyering  <meyering@lucent.com>
90171
90172         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
90173         a use of AS_IF.
90174         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
90175
90176 2001-01-26  Jim Meyering  <meyering@lucent.com>
90177
90178         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
90179         quotearg.c includes it.
90180
90181 2001-01-26  Jim Meyering  <meyering@lucent.com>
90182
90183         * lib/quotearg.c: Include stddef.h.
90184         * lib/quote.c: Include stddef.h.
90185         Reported by Axel Kittenberger.
90186
90187         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
90188         line in double quotes so that it evokes a better diagnostic.
90189         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
90190         Reported by Axel Kittenberger.
90191
90192 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
90193
90194         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
90195         as if it was a `charset'.
90196
90197 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
90198
90199         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
90200         has const.
90201
90202 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
90203
90204         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
90205         to avoid a warning.  Add back 'const' to inptr.
90206
90207 2001-01-20  Jim Meyering  <meyering@lucent.com>
90208
90209         Be sure that headers are checked before used in code compiled
90210         for the type checks.
90211         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
90212         In place of that, invoke jm_CHECK_ALL_TYPES.
90213         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
90214         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
90215         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
90216         The check for ssize_t was mistakenly run before the test for unistd.h.
90217
90218         The configure-time check for stdbool.h was missing.
90219         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
90220         (jm_PREREQ_HASH): New function.
90221
90222 2001-01-17  Jim Meyering  <meyering@lucent.com>
90223
90224         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
90225         for autoconf-2.49c.
90226         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
90227
90228 2001-01-16  Jim Meyering  <meyering@lucent.com>
90229
90230         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
90231         From Bruno Haible.
90232
90233 2001-01-14  Jim Meyering  <meyering@lucent.com>
90234
90235         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
90236         foo and bar.  Create conftestdir/ in the script, not in the C code.
90237         Remove directories in the script, not in the C code.
90238         Remove conftestdir{,2} before trying to create the directory.
90239         Make the entire configure script fail if the mkdir fails.
90240
90241 2001-01-14  Jim Meyering  <meyering@lucent.com>
90242
90243         * lib/rename.c: New file.  From Volker Borchert.
90244         Include stdlib.h, string.h or strings.h, and xalloc.h.
90245         Use strip_trailing_slashes rather than open-coding it.
90246
90247 2001-01-03  Paul Eggert  <eggert@twinsun.com>
90248
90249         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
90250
90251 2001-01-03  Jim Meyering  <meyering@lucent.com>
90252
90253         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
90254         of local `inptr' to avoid warning with some system declarations of
90255         iconv.
90256
90257 2001-01-02  Volker Borchert  <bt@teknon.de>
90258
90259         * m4/rename.m4: New file.
90260         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
90261
90262 2001-01-01  Jim Meyering  <meyering@lucent.com>
90263
90264         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
90265         even on systems with utmpx.h.  It's necessary for the declaration of
90266         utmp's ut_user member.  Reported by Andreas Jaeger.
90267
90268         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
90269         available. They are required for the declarations of getgrgid and
90270         getpwuid resp.
90271         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
90272         Reported by Andreas Jaeger.
90273
90274 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
90275
90276         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
90277         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
90278         so `make install' also works in VPATH builds.
90279
90280 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
90281
90282         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
90283         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
90284         can be used in subdirectories.
90285
90286 2000-12-29  Paul Eggert  <eggert@twinsun.com>
90287
90288         * lib/modechange.c: Do not assume that mode_t uses the
90289         traditional octal encoding.  E.g. "chmod 1 FOO" should set
90290         the other-execute bit of FOO even if S_IXOTH != 1.
90291
90292         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
90293         WOTH, XOTH, ALLM): New macros.
90294         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
90295          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
90296         Use them.
90297         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
90298         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
90299         (mode_compile):
90300         No need to use uintmax_t; unsigned long is long enough.
90301         Don't bother to get suffix since we don't use it.
90302
90303 2000-12-26  Jim Meyering  <meyering@lucent.com>
90304
90305         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
90306         better with autoheader.
90307
90308 2000-12-24  Jim Meyering  <meyering@lucent.com>
90309
90310         * lib/hash.c (is_prime): Return explicit boolean values.
90311         (hash_get_first): Return NULL to appease Irix5.6's 89.
90312         Reported by Nelson Beebe.
90313
90314 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
90315
90316         * lib/localcharset.c (locale_charset): Add support for Win32.
90317
90318 2000-12-18  Paul Eggert  <eggert@twinsun.com>
90319
90320         * lib/physmem.h, lib/physmem.c: New files.
90321
90322         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
90323         (noinst_HEADERS): Add physmem.h.
90324
90325         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
90326         't' for compatibility with Solaris 8 sort.
90327
90328 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
90329
90330         * lib/config.charset: Add support for BeOS.
90331
90332 2000-12-17  Jim Meyering  <meyering@lucent.com>
90333
90334         * m4/dos.m4 (jm_AC_DOS): New file and macro.
90335         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
90336
90337 2000-12-16  Jim Meyering  <meyering@lucent.com>
90338
90339         This bug had a serious impact on chown: `chown N:M FILE' (for integer
90340         N and M) would have treated it like `chown N:N FILE'.
90341
90342         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
90343
90344 2000-12-16  Jim Meyering  <meyering@lucent.com>
90345
90346         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
90347         SHELLS_FILE to a file name that's useful on djgpp systems.
90348         Include stdlib.h.
90349         (ADDITIONAL_DEFAULT_SHELLS): Define.
90350         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
90351         Based mostly on a patch from Prashant TR.
90352
90353 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
90354
90355         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
90356         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
90357         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
90358
90359 2000-12-08  Andreas Schwab  <schwab@suse.de>
90360
90361         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
90362         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
90363
90364 2000-12-07  Jim Meyering  <meyering@lucent.com>
90365
90366         * lib/stripslash.c (ISSLASH): Define.
90367         (strip_trailing_slashes): Use ISSLASH rather than comparing against
90368         `/'.
90369         From Prashant TR.
90370
90371         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
90372         (dir_name_r): Declare this function as static.
90373         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
90374         manifest itself on a name containing a mix of slashes and
90375         backslashes.
90376         Make this function work with names starting with a DOS-style
90377         drive letter and colon prefix.
90378         (dir_name): Append `.' if necessary.
90379         Based mostly on patches from Prashant TR and Eli Zaretskii.
90380
90381         * lib/dirname.h (dir_name_r): Remove prototype.
90382
90383 2000-12-06  Paul Eggert  <eggert@twinsun.com>
90384
90385         * m4/off_t-format.m4: Remove this file.
90386         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
90387
90388 2000-12-06  Jim Meyering  <meyering@lucent.com>
90389
90390         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
90391         replacement strtoull, we may well need the replacement strtoul, too.
90392         Check for declarations of strtoul and strtoull.
90393         Check for strtol.  Mainly as a cue to cause automake to include
90394         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
90395         Check for limits.h -- strtol.c needs it.
90396
90397 2000-12-05  Jim Meyering  <meyering@lucent.com>
90398
90399         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
90400
90401 2000-12-04  Jim Meyering  <meyering@lucent.com>
90402
90403         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
90404         Also include memory.h, stdlib.h, unistd.h if appropriate.
90405         Reported by Andreas Jaeger (conflicting declaration of malloc).
90406
90407 2000-12-02  Jim Meyering  <meyering@lucent.com>
90408
90409         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
90410         * m4/jm-macros.m4 (jm_MACROS): require it.
90411
90412 2000-12-02  Jim Meyering  <meyering@lucent.com>
90413
90414         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
90415
90416 2000-12-01  Paul Eggert  <eggert@twinsun.com>
90417
90418         * lib/memrchr.c: Include <config.h> before any system include file.
90419
90420 2000-11-30  Jim Meyering  <meyering@lucent.com>
90421
90422         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
90423
90424 2000-11-30  Jim Meyering  <meyering@lucent.com>
90425
90426         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
90427
90428 2000-11-29  Paul Eggert  <eggert@twinsun.com>
90429
90430         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
90431
90432 2000-11-26  Jim Meyering  <meyering@lucent.com>
90433
90434         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
90435
90436 2000-11-22  Paul Eggert  <eggert@twinsun.com>
90437
90438         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
90439         size of (size_t) -1; it's not portable.
90440
90441 2000-11-17  Jim Meyering  <meyering@lucent.com>
90442
90443         * lib/strstr.c: Update from GNU libc.
90444
90445 2000-11-17  Akim Demaille  <akim@epita.fr>
90446
90447         * lib/obstack.h: Formatting changes.
90448         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
90449         prevent type checking.
90450         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
90451         cast the value to (void *): assigning a `foo *' to a `void *'
90452         variable is valid.
90453         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
90454
90455 2000-11-16  Jim Meyering  <meyering@lucent.com>
90456
90457         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
90458
90459 2000-11-11  Jim Meyering  <meyering@lucent.com>
90460
90461         * lib/error.c: Add a couple #includes, merging from GNU libc version.
90462
90463 2000-11-10  Jim Meyering  <meyering@lucent.com>
90464
90465         * lib/obstack.h: Update from GNU libc.
90466         * lib/obstack.c: Likewise.
90467
90468 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
90469
90470         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
90471
90472 2000-11-06  Paul Eggert  <eggert@twinsun.com>
90473
90474         * lib/getusershell.c (setusershell): Use rewind rather than
90475         fseek/fseeko, to avoid configuration hassles with fseeko.
90476         Don't bother opening SHELLS_FILE if shellstream is NULL;
90477         it's not necessary.
90478
90479 2000-11-05  Jim Meyering  <meyering@lucent.com>
90480
90481         * lib/makepath.h (make_dir): Declare.
90482         * lib/makepath.c (make_dir): Remove `static' attribute.
90483         Tweak a comment.
90484
90485 2000-11-04  Jim Meyering  <meyering@lucent.com>
90486
90487         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
90488
90489 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
90490
90491         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
90492         last one in a bucket, advance to the next bucket.
90493
90494 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
90495
90496         * lib/fnmatch.c: Do not comment out all the code if we are using
90497         the GNU C library, because in some cases we are replacing buggy
90498         code in the GNU C library itself.
90499
90500 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
90501
90502         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
90503         (regex_compile): Catch bogus \(\1\).
90504
90505 2000-10-30  Paul Eggert  <eggert@twinsun.com>
90506
90507         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
90508         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
90509         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
90510
90511 2000-10-30  Paul Eggert  <eggert@twinsun.com>
90512
90513         * lib/error.h, getline.h, modechange.h:
90514         Remove "2000" from Copyright line, as the file hasn't been
90515         changed this year other than in the copyright notice.
90516
90517         * lib/xalloc.h: Add "2000" to Copyright line, as this file
90518         was changed this year.
90519
90520 2000-10-29  Jim Meyering  <meyering@lucent.com>
90521
90522         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
90523         renaming.
90524         * m4/ls-mntd-fs.m4: Likewise
90525
90526 2000-10-29  Jim Meyering  <meyering@lucent.com>
90527
90528         * lib/xstat.in: Fix grammar in comment.
90529
90530 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
90531
90532         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
90533         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
90534         doesn't define __restrict_arr.
90535
90536 2000-10-28  Jim Meyering  <meyering@lucent.com>
90537
90538         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
90539         (jm_PREREQ_MEMCHR): New function.
90540
90541 2000-10-28  Jim Meyering  <meyering@lucent.com>
90542
90543         * lib/memchr.c: Update from libc.
90544         Adjust for portability:
90545         [HAVE_STDLIB_H]: Include stdlib.h.
90546         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
90547         Undef __memchr, too.
90548         [!weak_alias]: Define __memchr to memchr.
90549
90550         * lib/regex.c: Update from libc.
90551         * lib/regex.h: Likewise.
90552         * lib/getopt1.c: Likewise.
90553         * lib/memcmp.c: Likewise.
90554
90555         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
90556         Avoid using fseek, when possible -- it's broken by design.
90557         Patch by Ulrich Drepper.
90558
90559 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
90560
90561         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
90562         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
90563         Giving in to popular pressure to shut up the compiler with casts.
90564
90565 2000-10-26  Jim Meyering  <meyering@lucent.com>
90566
90567         * lib/strftime.c: Update from libc.
90568
90569 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
90570
90571         * regex.c: More `unsigned char' -> `re_char' changes.
90572         Also change several `int' into `re_wchar_t'.
90573         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
90574         (PUSH_FAILURE_POINTER): Don't cast any more.
90575         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
90576         We want GCC to complain, since this piece of code makes
90577         re_match non-reentrant, which *should* be fixed.
90578         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
90579         (EXTEND_BUFFER): Use RETALLOC.
90580         (SET_LIST_BIT): Don't cast.
90581         (re_wchar_t): New type.
90582         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
90583         that those two functions will always properly return.
90584         (IMMEDIATE_QUIT_CHECK): Cast to void.
90585         (analyse_first): Use recursion rather than an explicit stack.
90586         (re_compile_fastmap): Can't fail anymore.
90587         (re_search_2): Don't check re_compile_fastmap for failure.
90588         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
90589         Now also sets the new value (passed in a new argument).
90590         (re_match_2_internal): Use it.
90591         Also, use a new var `reg' of type size_t when looping through regs
90592         rather than reuse the inappropriate `mcnt'.
90593
90594 2000-10-25  Jim Meyering  <meyering@lucent.com>
90595
90596         * lib/obstack.c: Update from libc.
90597
90598 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
90599
90600         * regex.c (regex_compile): Change the way of handling a range from
90601         a char less than 256 to a char not less than 256.
90602
90603 2000-10-24  Andrew Innes  <andrewi@gnu.org>
90604
90605         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
90606         NT-Emacs only.
90607         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
90608         so that re_search functions only quit when callers expect them to.
90609
90610 2000-10-23  Jim Meyering  <meyering@lucent.com>
90611
90612         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
90613         wrong.  That set_locale call must not have any side effects.
90614         From Paul Eggert.
90615
90616 2000-10-22  Jim Meyering  <meyering@lucent.com>
90617
90618         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
90619         [CYCLIC]: Remove now-unused definition.
90620
90621         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
90622         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
90623         Suggestion from Ulrich Drepper.
90624
90625 2000-10-21  Jim Meyering  <meyering@lucent.com>
90626
90627         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
90628         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
90629         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
90630
90631 2000-10-21  Jim Meyering  <meyering@lucent.com>
90632
90633         * lib/dirname.c (memrchr): Declare if necessary.
90634         (dir_name): Remove the restriction that there be no
90635         trailing slashes.  Now, this code skips past them, effectively
90636         ignoring them.
90637         [TEST_DIRNAME] (main): New unit tests.
90638
90639         * lib/memrchr.c: New file from GNU libc.
90640         Undef __memrchr, too.
90641         [!weak_alias]: Define __memrchr to memrchr.
90642         Guard weak_alias use with `#ifdef weak_alias'.
90643
90644 2000-10-21  Jim Meyering  <meyering@lucent.com>
90645
90646         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
90647         (dir_name): Use dir_name_r.
90648         * lib/dirname.h (dir_name_r): Declare it.
90649
90650 2000-10-17  Jim Meyering  <meyering@lucent.com>
90651
90652         * lib/quote.h (PARAMS): Define and use.
90653         Reported by Akim Demaille.
90654
90655         * lib/getopt.c: Update from libc.
90656
90657 2000-10-16  Jim Meyering  <meyering@lucent.com>
90658
90659         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
90660         setlocale.
90661         From Jan Fedak.
90662
90663 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
90664
90665         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
90666
90667 2000-09-25  Jim Meyering  <meyering@lucent.com>
90668
90669         * lib/md5.h (rol): Define (from GnuPG).
90670
90671         * lib/sha.c: Give credit (GnuPG) where due.
90672         (M): Use rol rather than open-coding it.
90673         Add a FIXME comment.
90674
90675 2000-09-21  Jim Meyering  <meyering@lucent.com>
90676
90677         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
90678         Reported by Michael Stone.
90679
90680 2000-09-20  Jim Meyering  <meyering@lucent.com>
90681
90682         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
90683         (noinst_HEADERS): Add sha.h.
90684         Based on code from Scott G. Miller and from GnuPG.
90685
90686 2000-09-18  Jim Meyering  <meyering@lucent.com>
90687
90688         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
90689         LIBS. Otherwise, everyone ends up linking with -lelf for some
90690         configurations.
90691         Reported by Mike Stone.
90692
90693 2000-09-15  Jim Meyering  <meyering@lucent.com>
90694
90695         * lib/regex.c: Update from libc.
90696
90697 2000-09-10  Jim Meyering  <meyering@lucent.com>
90698
90699         * lib/getopt.c (_getopt_internal): Update from glibc.
90700
90701 2000-09-09  Jim Meyering  <meyering@lucent.com>
90702
90703         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
90704         think it should be used as a general replacement for isascii.
90705         * lib/fnmatch.c: Likewise.
90706         * lib/mbswidth.c: Likewise
90707         * lib/regex.c: Likewise.
90708
90709         Don't use atoi.
90710         * lib/userspec.c: Include sys/param.h and limits.h.
90711         Include xstrtol.h.
90712         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
90713         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
90714         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
90715         UID, GID.  Check range.
90716
90717 2000-09-06  Jim Meyering  <meyering@lucent.com>
90718
90719         * lib/getopt.c (_getopt_internal): Update from glibc.
90720
90721 2000-08-30  Jim Meyering  <meyering@lucent.com>
90722
90723         * lib/strftime.c: Merge in changes from GNU libc.
90724
90725 2000-08-26  Jim Meyering  <meyering@lucent.com>
90726
90727         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
90728         * m4/fpending.m4: New file.
90729
90730 2000-08-26  Jim Meyering  <meyering@lucent.com>
90731
90732         * lib/closeout.c: Include "__fpending.h".
90733         (close_stdout_status): Return right away if there's nothing to flush.
90734
90735         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
90736         * lib/__fpending.c: New file.
90737         * lib/__fpending.h: New file.
90738
90739 2000-08-20  Jim Meyering  <meyering@lucent.com>
90740
90741         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
90742         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
90743         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
90744
90745 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
90746
90747         Improve fileutils installation on systems where running
90748         programs (like install) can't be unlinked.
90749         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
90750         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
90751
90752 2000-08-07  Paul Eggert  <eggert@twinsun.com>
90753
90754         Standardize on "memory exhausted" instead of "Memory exhausted"
90755         or "virtual memory exhausted".
90756         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
90757         "virtual memory exhausted".
90758         * lib/same.c (same_name): Invoke xalloc_die instead of printing
90759         our own message.
90760         * lib/userspec.c (parse_user_spec): Likewise.
90761         * lib/bumpalloc.h: comment fix
90762         * lib/same.c, userspec.c: Include xalloc.h.
90763
90764         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
90765         not char *const and pointing to a constant array.
90766         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
90767         (xrealloc): Comment fix.
90768
90769         * lib/userspec.c (parse_user_spec):
90770         Don't translate a message until just before returning,
90771         to avoid unnecessary translation.
90772
90773 2000-08-07  Jim Meyering  <meyering@lucent.com>
90774
90775         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
90776         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
90777         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
90778         getgroups.c, gethostname.c, getopt.h, group-member.c,
90779         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
90780         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
90781         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
90782         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
90783         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
90784         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
90785         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
90786         yesno.c: Back out Copyright date changes for each file with no change
90787         this year.  This eases coordination with other programs using the same
90788         source code modules.  From Paul Eggert.
90789
90790 2000-08-06  Paul Eggert  <eggert@twinsun.com>
90791
90792         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
90793         not char, for compatibility with glibc 2.1.3 strftime.c.
90794
90795 2000-08-03  Greg McGary  <greg@mcgary.org>
90796
90797         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
90798         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
90799         (EXTEND_BUFFER): Use them.
90800
90801 2000-08-01  Jim Meyering  <meyering@lucent.com>
90802
90803         * lib/dirname.c (ISSLASH): Define.
90804         (BACKSLASH_IS_PATH_SEPARATOR): Define.
90805         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
90806         both `\' and `/' may be use as path separators.
90807         Based on a patch from Prashant TR.
90808
90809 2000-07-31  Paul Eggert  <eggert@twinsun.com>
90810
90811         * lib/quotearg.c (quotearg_n_options): Don't make the initial
90812         slot vector a constant, since it might get modified.
90813
90814 2000-07-31  Jim Meyering  <meyering@lucent.com>
90815
90816         * lib/xmalloc.c: Use `virtual memory exhausted', not
90817         `Memory exhausted'.
90818         * lib/obstack.c (print_and_abort): Likewise.
90819
90820 2000-07-30  Paul Eggert  <eggert@twinsun.com>
90821
90822         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
90823         buffer, so that the caller can always quote one small
90824         component of a "memory exhausted" message in slot 0.
90825         From a suggestion by Jim Meyering.
90826
90827 2000-07-30  Jim Meyering  <meyering@lucent.com>
90828
90829         * lib/makepath.c (make_path): Quote the other instance, too.
90830
90831         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
90832         (STATIC_BUF_SIZE): Define.
90833         (quotearg_n_options): Use only statically allocated storage when
90834         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
90835         than STATIC_BUF_SIZE.
90836
90837 2000-07-29  Jim Meyering  <meyering@lucent.com>
90838
90839         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
90840         * lib/dirname.c (dir_name): Likewise.
90841
90842         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
90843         `/'.
90844
90845         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
90846         (dir_name): Assert that there are no trailing slashes.
90847
90848 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
90849
90850         * lib/mbswidth.h (mbswidth): Add a flags argument.
90851         (mbswidth): New declaration.
90852         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
90853         * lib/mbswidth.c (mbswidth): Add a flags argument.
90854         (mbsnwidth): New function.
90855
90856 2000-07-24  Jim Meyering  <meyering@lucent.com>
90857
90858         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
90859
90860 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90861
90862         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
90863
90864 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90865
90866         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
90867         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
90868         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
90869         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
90870         invoke multibyte primitives.
90871
90872 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90873
90874         * lib/quotearg.c:
90875         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
90876         so that mbstate_t is always defined.
90877
90878         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
90879         be 1 in at least one GCC installation, and this configuration
90880         error is likely to be common.  Ignoring MB_LEN_MAX hurts
90881         performance on hosts that have mbrtowc but have only unibyte
90882         locales, but I assume these hosts are rare.
90883
90884 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90885
90886         * lib/mbswidth.c (_XOPEN_SOURCE):
90887         Don't define; this causes problems on Solaris 7.
90888         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
90889
90890 2000-07-23  Jim Meyering  <meyering@lucent.com>
90891
90892         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
90893         too: getgrgid, getpwuid, getuid.
90894
90895 2000-07-23  Jim Meyering  <meyering@lucent.com>
90896
90897         * lib/basename.c (base_name): Add an assertion.
90898
90899 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
90900
90901         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
90902         shadow its mbsinit function.
90903
90904 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90905
90906         * lib/mbswidth.h: New file.
90907         * lib/mbswidth.c: New file.
90908         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
90909         (noinst_HEADERS): Add mbswidth.h.
90910
90911 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90912
90913         * lib/config.charset: Add support for FreeBSD. Improve support for
90914         HP-UX and IRIX 6.
90915
90916 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
90917
90918         * m4/mbswidth.m4: New file.
90919         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
90920
90921 2000-07-15  Jim Meyering  <meyering@lucent.com>
90922
90923         * lib/makepath.c: Include quote.h.
90924         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
90925         corresponding argument in a `quote (...)' call.
90926         Give better diagnostics.
90927
90928         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
90929         (noinst_HEADERS): Add quote.h.
90930
90931         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
90932         from tar's src/misc.c.
90933         * lib/quote.h: New file.  Prototypes for same.
90934
90935 2000-07-14  Paul Eggert  <eggert@twinsun.com>
90936
90937         From a suggestion by Bruno Haible.
90938         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
90939         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
90940         to decide whether to define the BeOS workaround macro;
90941         this adjusts to the change to AC_MBSTATE_T.
90942
90943 2000-07-14  Jim Meyering  <meyering@lucent.com>
90944
90945         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
90946         jm_AC_TYPE_UINTMAX_T.
90947
90948 2000-07-13  Paul Eggert  <eggert@twinsun.com>
90949
90950         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
90951
90952         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
90953         quotearg_buffer_restyled): Add support for
90954         clocale_quoting_style.  Undo previous change to
90955         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
90956         and "{RIGHT QUOTATION MARK}" msgids.
90957
90958 2000-07-10  Paul Eggert  <eggert@twinsun.com>
90959
90960         From a suggestion by Bruno Haible.
90961         * m4/mbstate_t.m4 (AC_MBSTATE_T):
90962         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
90963         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
90964         and mbstate_t, to a single-part test that simply defines mbstate_t.
90965         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
90966         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
90967
90968 2000-07-10  Jim Meyering  <meyering@lucent.com>
90969
90970         * m4/strerror_r.m4: Mirror the correction made in autoconf.
90971
90972         * m4/gnu-source.m4: Output to confdefs.h directly.
90973         Suggestion from Akim Demaille.
90974
90975 2000-07-09  Paul Eggert  <eggert@twinsun.com>
90976
90977         The old behavior of quoting `like this' doesn't look good with
90978         newer, ISO-style fonts.  See:
90979         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
90980
90981         Instead, quote "like this" by default.  Let the translator
90982         tailor the locale-specific quoting behavior by providing
90983         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
90984
90985         * lib/quotearg.c (N_): New macro.
90986         (gettext_default): New function.
90987         (quotearg_buffer_restyled): Use
90988         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
90989         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
90990
90991 2000-07-09  Jim Meyering  <meyering@lucent.com>
90992
90993         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
90994         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
90995
90996         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
90997         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
90998
90999 2000-07-09  Jim Meyering  <meyering@lucent.com>
91000
91001         * lib/Most files: Update copyright dates to include 2000.
91002
91003 2000-07-08  Jim Meyering  <meyering@lucent.com>
91004
91005         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
91006         if not defined.
91007         (xgethostname): Remove now-unnecessary #ifdef.
91008         Move declaration of `err' into loop where it's used.
91009
91010 2000-07-05  Paul Eggert  <eggert@twinsun.com>
91011         and Bruno Haible  <haible@clisp.cons.org>
91012
91013         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
91014         only if the test for an object-type mbstate_t fails.  This
91015         prevents us from mistakenly reporting that mbstate_t is a
91016         system object type after we "#define mbstate_t int" to work
91017         around its lack.
91018
91019 2000-07-05  Paul Eggert  <eggert@twinsun.com>
91020         and Bruno Haible  <haible@clisp.cons.org>
91021
91022         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
91023
91024 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91025
91026         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
91027         to strerror_r.
91028         Include <ctype.h> for use of isalpha.
91029
91030 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91031
91032         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
91033         by allocating a larger buffer. Test the gethostname return value for
91034         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
91035         returns an error and ENAMETOOLONG isn't defined.
91036
91037 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91038
91039         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
91040         dimension.
91041
91042 2000-07-04  Jim Meyering  <meyering@lucent.com>
91043
91044         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
91045         of the deprecated AC_CHECKING.
91046
91047 2000-07-04  Jim Meyering  <meyering@lucent.com>
91048
91049         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
91050         Reported by Bruno Haible.
91051
91052 2000-07-04  Jim Meyering  <meyering@lucent.com>
91053
91054         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
91055         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
91056         lacks mbrtowc.
91057
91058 2000-07-03  Paul Eggert  <eggert@twinsun.com>
91059
91060         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
91061         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
91062
91063 2000-07-03  Paul Eggert  <eggert@twinsun.com>
91064         and Bruno Haible  <haible@clisp.cons.org>
91065
91066         * lib/quotearg.c (mbrtowc):
91067         Assign to *pwc, and return 1 only if result is nonzero.
91068         (iswprint): Use ISPRINT when substituting our own mbrtowc.
91069
91070 2000-07-03  Jim Meyering  <meyering@lucent.com>
91071
91072         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
91073
91074 2000-07-03  Jim Meyering  <meyering@lucent.com>
91075
91076         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
91077         This is necessary to get a definition of e.g., UTMP_FILE on
91078         HP-UX 10.20.
91079         From Bob Proulx.
91080
91081 2000-07-02  Jim Meyering  <meyering@lucent.com>
91082
91083         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
91084
91085         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
91086         AC_LIBOBJ(function_name).
91087         * m4/chown.m4: Likewise.
91088         * m4/fnmatch.m4: Likewise.
91089         * m4/ftruncate.m4: Likewise.
91090         * m4/getgroups.m4: Likewise.
91091         * m4/getline.m4: Likewise.
91092         * m4/group-member.m4: Likewise.
91093         * m4/jm-macros.m4: Likewise.
91094         * m4/lstat.m4: Likewise.
91095         * m4/malloc.m4: Likewise.
91096         * m4/memcmp.m4: Likewise.
91097         * m4/nanosleep.m4: Likewise.
91098         * m4/putenv.m4: Likewise.
91099         * m4/realloc.m4: Likewise.
91100         * m4/regex.m4: Likewise.
91101         * m4/stat.m4: Likewise.
91102         * m4/strftime.m4: Likewise.
91103
91104 2000-07-02  Jim Meyering  <meyering@lucent.com>
91105
91106         * lib/quotearg.c (mbstate_t): Don't define here.
91107
91108 2000-07-02  Jim Meyering  <meyering@lucent.com>
91109
91110         * lib/nanosleep.c (SIGCONT): Define if not already defined.
91111
91112 2000-07-01  Jim Meyering  <meyering@lucent.com>
91113
91114         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
91115
91116 2000-07-01  Jim Meyering  <meyering@lucent.com>
91117
91118         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
91119         problem.
91120
91121 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91122
91123         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
91124         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
91125
91126 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91127
91128         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
91129         per change in ../m4/ls-mntd-fs.m4.
91130         (read_filesystem_list): Ignore symbolic links.
91131
91132 2000-06-29  Jim Meyering  <meyering@lucent.com>
91133
91134         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
91135         for declaration of strcmp.
91136
91137         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
91138
91139         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
91140         Avoid warning by casting result to `char *' to remove `const'.
91141
91142 2000-06-28  Jim Meyering  <meyering@lucent.com>
91143
91144         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
91145         included by quotearg.c, for which we perform this test.  From
91146         Bruno Haible.
91147
91148 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
91149
91150         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
91151         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
91152         <utmpx.h> exists, put readutmp.o into LIBOBJS.
91153
91154 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
91155
91156         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
91157
91158 2000-06-26  Paul Eggert  <eggert@twinsun.com>
91159
91160         savedir now sets errno on failure and invokes xmalloc to get memory.
91161         Fix a couple of other minor bugs while we're at it.
91162
91163         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
91164         (NAMLEN): Remove macro.
91165         (malloc, realloc): Remove decls.
91166         (stpcpy): Likewise.
91167         ("xalloc.h"): Include.
91168         (NAME_SIZE_DEFAULT): New macro.
91169         (savedir): Use xmalloc / xrealloc to allocate memory.
91170         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
91171         Skip "" directory entries.
91172         Use strlen to calculate directory entry length, since the old method
91173         is rarely used these days and isn't worth supporting.
91174         Don't use a pointer after freeing it.
91175         Check for integer overflow when calculating allocation size.
91176         Use memcpy to copy entries, instead of stpcpy.
91177         Set errno properly when returning NULL.
91178         Check for readdir error.
91179
91180 2000-06-26  Jim Meyering  <meyering@lucent.com>
91181
91182         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
91183
91184 2000-06-25  Jim Meyering  <meyering@lucent.com>
91185
91186         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
91187         Linux header bug when _XOPEN_SOURCE is defined to 500.
91188
91189 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
91190
91191         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
91192         deficiency.
91193
91194 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
91195
91196         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
91197         Include xalloc.h.
91198         Don't include <stdlib.h>.  Don't declare malloc, realloc.
91199
91200 2000-06-24  Jim Meyering  <meyering@lucent.com>
91201
91202         * m4/strerror_r.m4: Revive this file -- to try out an experimental
91203         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
91204         for which strerror does return char*, but which lacks a conveniently
91205         accessible declaration of the function.  If the compile-test says
91206         strerror_r doesn't work, then resort to a `run'-test that works on
91207         BeOS and segfaults on DEC Unix.
91208
91209 2000-06-24  Jim Meyering  <meyering@lucent.com>
91210
91211         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
91212
91213 2000-06-23  Paul Eggert  <eggert@twinsun.com>
91214
91215         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
91216         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
91217
91218 2000-06-23  Paul Eggert  <eggert@twinsun.com>
91219
91220         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
91221         (mbrtowc, mbstate_t): Define substitutes if
91222         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
91223         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
91224         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
91225
91226 2000-06-23  Jim Meyering  <meyering@lucent.com>
91227
91228         * m4/afs.m4: Add missing AC_MSG_RESULT.
91229         Reported by Bruno Haible.
91230
91231         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
91232         Suggestion from Bruno Haible.
91233
91234 2000-06-23  Jim Meyering  <meyering@lucent.com>
91235
91236         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
91237
91238 2000-06-21  Jim Meyering  <meyering@lucent.com>
91239
91240         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
91241
91242 2000-06-21  Jim Meyering  <meyering@lucent.com>
91243
91244         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
91245         (noinst_HEADERS): Add getstr.h.
91246
91247         * lib/getline.c (getstr): Move into a separate file.
91248         * lib/getstr.c (getstr): New file, extracted from getline.c, with
91249         the following changes: new parameter, delim2; both delim[12]
91250         parameters have type `int', not `char'.  The latter would lose
91251         with 8-bit delimiters.
91252         * lib/getstr.h: New file.
91253
91254 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91255
91256         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
91257         than 1024, return a memory chunk of least possible size, instead
91258         of size PATH_MAX + 2. In the loop, increment the size proportionally.
91259         Use free/xmalloc instead of xrealloc to avoid copying for very long
91260         paths.
91261
91262 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91263
91264         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
91265         the empty string.
91266
91267 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91268
91269         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
91270         address, not strdup.  Include <stdlib.h> and don't declare free().
91271
91272 2000-06-19  Jim Meyering  <meyering@lucent.com>
91273
91274         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
91275
91276 2000-06-18  Jim Meyering  <meyering@lucent.com>
91277
91278         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
91279
91280         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
91281         `checking whether...' message to be consistent with that of the
91282         lstat test.
91283
91284 2000-06-18  Jim Meyering  <meyering@lucent.com>
91285
91286         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
91287         Besides, these days every porting target provides a mkdir function.
91288
91289         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
91290         needed. (this snippet comes from src/system.h).
91291
91292 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
91293
91294         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
91295
91296 2000-06-15  Paul Eggert  <eggert@twinsun.com>
91297
91298         * lib/human.c (adjust_value): New function.
91299         (human_readable_inexact): Apply rounding style even when
91300         printing approximate values.
91301
91302 2000-06-14  Paul Eggert  <eggert@twinsun.com>
91303
91304         * lib/human.c (human_readable_inexact): Allow an input block
91305         size that is not a multiple of the output block size, and vice versa.
91306         Reported by Piergiorgio Sartor.
91307
91308 2000-06-14  Paul Eggert  <eggert@twinsun.com>
91309
91310         * lib/getdate.y (get_date): Apply relative times after time
91311         zone indicator, not before.  Reported by Todd A. Jacobs.
91312
91313 2000-06-13  Jim Meyering  <meyering@lucent.com>
91314
91315         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
91316
91317         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
91318
91319 2000-06-12  Paul Eggert  <eggert@twinsun.com>
91320
91321         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
91322
91323 2000-06-12  Jim Meyering  <meyering@lucent.com>
91324
91325         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
91326         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
91327         optional argument.
91328         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
91329         the optional argument, `lib'.
91330
91331 2000-06-08  Jim Meyering  <meyering@lucent.com>
91332
91333         * m4/largefile.m4: Remove file (now that it's part of autoconf).
91334
91335 2000-06-04  Paul Eggert  <eggert@twinsun.com>
91336
91337         Rewrite largefile configuration so that we don't need to run
91338         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
91339         AC_CANONICAL_HOST in configure.in -- jmm]
91340
91341         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
91342         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
91343         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
91344         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
91345         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
91346         All uses changed.
91347         Instead of inspecting the output of getconf, try to compile the
91348         test program without and with the macro definition.
91349         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
91350         for getconf.  Instead, check for the needed flags by compiling
91351         test programs.
91352
91353 2000-06-04  Paul Eggert  <eggert@twinsun.com>
91354
91355         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
91356
91357 2000-06-04  Jim Meyering  <meyering@lucent.com>
91358
91359         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
91360         SunOS 4.1.4 for which gid_t is an unsigned type.
91361
91362 2000-06-03  Jim Meyering  <meyering@lucent.com>
91363
91364         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
91365         now that autoconf requires that.
91366
91367         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
91368         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
91369         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
91370
91371 2000-06-03  Jim Meyering  <meyering@lucent.com>
91372
91373         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
91374
91375 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
91376
91377         * m4/glibc21.m4: New file.
91378         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
91379
91380 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
91381
91382         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
91383         newer, don't install charset.alias.
91384         * lib/config.charset: Change the Linux/glibc rules so they become empty
91385         on glibc-2.1 or newer.
91386
91387 2000-06-02  Jim Meyering  <meyering@lucent.com>
91388
91389         * lib/mountlist.c: Back out last change.  Instead, do this...
91390         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
91391         me_dummy member using the same `ignore'-testing code.
91392         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
91393         fs_type strings.
91394         From Mark D. Roth.
91395
91396 2000-05-29  Jim Meyering  <meyering@lucent.com>
91397
91398         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
91399         mounts with the `ignore' attribute.  Based on a patch from
91400         Mark D. Roth.
91401
91402 2000-05-28  Jim Meyering  <meyering@lucent.com>
91403
91404         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
91405         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91406         * m4/stat.m4: Likewise.
91407         * m4/lstat.m4: Likewise.
91408         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
91409
91410         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
91411         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
91412
91413 2000-05-26  Jim Meyering  <meyering@lucent.com>
91414
91415         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
91416
91417 2000-05-24  Jim Meyering  <meyering@lucent.com>
91418
91419         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
91420         autoconf requires that.
91421         * m4/lib-check.m4: Likewise.
91422         * m4/jm-macros.m4: Likewise.
91423         * m4/strftime.m4: Likewise.
91424
91425         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
91426         AC_CHECK_DECLS, now that autoconf requires that.
91427
91428 2000-05-22  Jim Meyering  <meyering@lucent.com>
91429
91430         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91431         * m4/lstat.m4: Likewise.
91432
91433 2000-05-22  Jim Meyering  <meyering@lucent.com>
91434
91435         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
91436
91437 2000-05-20  Jim Meyering  <meyering@lucent.com>
91438
91439         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
91440         (jm_PREREQ): Use it.
91441
91442 2000-05-18  Jim Meyering  <meyering@lucent.com>
91443
91444         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
91445         back, too, since it may have been modified by allocate_entry.
91446         (hash_delete): Rewrite to use neither the assignment operator
91447         nor the comma operator in an if-expression.
91448
91449 2000-05-15  Paul Eggert  <eggert@twinsun.com>
91450
91451         * lib/closeout.c:
91452         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
91453         Remove; no longer needed.
91454         "quotearg.h": Add include.
91455         (file_name): Do not bother to explicitly initialize to NULL; it's less
91456         efficient on some hosts.
91457         (close_stdout_status): Remove test as to whether stdout was already
91458         closed; it breaks for the case "echo x | sort >&-".
91459         Quote file name colons.
91460         Do not assume that _("write error") lacks format strings.
91461
91462 2000-05-15  Jim Meyering  <meyering@lucent.com>
91463
91464         * lib/version-etc.c (version_etc_copyright): Update the copyright
91465         string used in all --version output.
91466
91467 2000-05-14  Jim Meyering  <meyering@lucent.com>
91468
91469         * lib/closeout.c (close_stdout_set_file_name): New function.
91470         (close_stdout_status): Use new file-scoped global.
91471         Return right away if fstat says the stdout file descriptor is invalid.
91472         * lib/closeout.h (close_stdout_set_file_name): Declare.
91473
91474 2000-05-10  Jim Meyering  <meyering@lucent.com>
91475
91476         * lib/closeout.c [default_exit_status]: New file-scoped variable.
91477         (close_stdout_set_status): New function.
91478         * lib/closeout.h (close_stdout_set_status): Declare.
91479
91480 2000-05-09  Jim Meyering  <meyering@lucent.com>
91481
91482         * m4/gettext.m4: Rename this...
91483         * m4/libintl.m4: ...to this.
91484
91485 2000-05-08  Jim Meyering  <meyering@lucent.com>
91486
91487         * lib/long-options.c: Don't include closeout.h.
91488         (parse_long_options): Don't call close_stdout for --version.
91489
91490 2000-05-06  Paul Eggert  <eggert@twinsun.com>
91491
91492         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
91493         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
91494         2.1.3 bug.  This avoids a clash when files like regex.c define
91495         _GNU_SOURCE.
91496
91497 2000-05-06  Jim Meyering  <meyering@lucent.com>
91498
91499         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
91500         (AC_REPLACE_FUNCS): Add strnlen.
91501
91502         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
91503         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
91504
91505         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
91506         AC_SEARCH_LIBS call for nanosleep.
91507         (LIB_NANOSLEEP): Set and AC_SUBST.
91508
91509 2000-05-06  Jim Meyering  <meyering@lucent.com>
91510
91511         * lib/strnlen.c: Undefine __strnlen and strnlen.
91512         [!weak_alias]: Define __strnlen to strnlen.
91513
91514         * lib/atexit.c: New file, from libiberty.
91515
91516 2000-05-06  Jim Meyering  <meyering@lucent.com>
91517
91518         * lib/closeout.c (close_stdout_status): Also check for errors on the
91519         stderr stream.
91520
91521 2000-05-05  Jim Meyering  <meyering@lucent.com>
91522
91523         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
91524         AC_SEARCH_LIBS call for clock_gettime.
91525         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
91526
91527         * m4/search-libs.m4: Update from autoconf.
91528
91529         su doesn't work on Solaris 2.6.
91530         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
91531         <shadow.h>.  Reported by Dragos Harabor.
91532
91533 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
91534
91535         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
91536         memcpy instead of xmalloc, xrealloc, path_concat.
91537         (locale_charset): Treat empty environment variables as absent.
91538         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
91539
91540 2000-05-04  Jim Meyering  <meyering@lucent.com>
91541
91542         * lib/getopt.c: Update from glibc.
91543         * lib/obstack.c: Likewise.
91544         * lib/obstack.h: Likewise.
91545         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
91546         file
91547
91548         * lib/regex.h: Likewise.
91549         * lib/strndup.c: Likewise.
91550         * lib/strnlen.c: New file, from glibc.
91551
91552 2000-05-03  Jim Meyering  <meyering@lucent.com>
91553
91554         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
91555
91556 2000-05-02  Paul Eggert  <eggert@twinsun.com>
91557
91558         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
91559         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
91560         compile-time test, rather than inspecting host and OS, to
91561         decide whether to define _LARGEFILE_SOURCE.
91562
91563 2000-05-01  Jim Meyering  <meyering@lucent.com>
91564
91565         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
91566
91567         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
91568         Based on a patch from Bruno Haible.
91569
91570 2000-05-01  Jim Meyering  <meyering@lucent.com>
91571
91572         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
91573
91574 2000-04-29  Jim Meyering  <meyering@lucent.com>
91575
91576         * lib/path-concat.c: Declare strdup only if it's not defined.
91577         * lib/canon-host.c: Likewise.
91578
91579 2000-04-28  Jim Meyering  <meyering@lucent.com>
91580
91581         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
91582         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
91583         is included first, then limits.h is included by locale.h by libintl.h.
91584         From John David Anglin.
91585
91586 2000-04-25  Jim Meyering  <meyering@lucent.com>
91587
91588         * lib/makepath.c (S_IRWXUGO): Define.
91589         (make_path): Always perform explicit chmod if MODE specifies any
91590         of the `special' permission bits.  Prompted by a bug report against
91591         install from Mate Wierdl and Joost van Baal.
91592
91593 2000-04-18  Jim Meyering  <meyering@lucent.com>
91594
91595         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
91596         (jm_PREREQ): Use it.
91597
91598 2000-04-18  Jim Meyering  <meyering@lucent.com>
91599
91600         * lib/README: New file.
91601
91602         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
91603         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
91604
91605 2000-04-17  Jim Meyering  <meyering@lucent.com>
91606
91607         Get it right :-)
91608         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
91609         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
91610         Suggestion from Akim Demaille.
91611
91612 2000-04-17  Jim Meyering  <meyering@lucent.com>
91613
91614         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
91615         the definition of it to rpl_strftime also defined-away the system's
91616         declaration.
91617
91618 2000-04-15  Jim Meyering  <meyering@lucent.com>
91619
91620         Use `C' to denote so-called `contiguous' files, the same way
91621         that tar does.
91622         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
91623         (ftypelet): Use S_ISCTG.
91624         From Michael Deutschmann.
91625
91626 2000-04-14  Jim Meyering  <meyering@lucent.com>
91627
91628         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
91629         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
91630         clobbered.
91631
91632 2000-04-14  Jim Meyering  <meyering@lucent.com>
91633
91634         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
91635
91636 2000-04-13  Jim Meyering  <meyering@lucent.com>
91637
91638         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
91639         AH_VERBATIM to insert required #ifndef into config.h.in.
91640         Suggestion from Akim Demaille.
91641
91642 2000-04-12  Jim Meyering  <meyering@lucent.com>
91643
91644         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
91645         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
91646         Christian Krackowizer.
91647
91648         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
91649         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
91650         (AC_SYS_LARGEFILE): Require.
91651         (AM_C_PROTOTYPES): Require.
91652
91653 2000-04-08  Jim Meyering  <meyering@lucent.com>
91654
91655         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
91656         names don't conflict.  Reported by Eli Zaretskii.
91657
91658 2000-04-07  Jim Meyering  <meyering@lucent.com>
91659
91660         * lib/putenv.c: Move inclusion of errno.h so it follows that of
91661         sys/types.h, to work around system header problems on AIX 3.2.5.
91662         From Bruno Haible.
91663
91664 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
91665
91666         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
91667         bug.  Deal with the different error behavior of Irix iconv.
91668
91669 2000-04-05  Paul Eggert  <eggert@twinsun.com>
91670
91671         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
91672         IRIX if the installer said otherwise.
91673
91674 2000-04-05  Jim Meyering  <meyering@lucent.com>
91675
91676         Portability tweaks required for ultrix4.3.
91677         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
91678         (jm_CHECK_DECLS): Add getutent to the list of functions.
91679         (_jm_DECL_HEADERS): Add utmpx.h.
91680         From John David Anglin.
91681
91682         * m4/strftime.m4: Back out the 2000-04-02 change.
91683         Instead of that change, simply undefine putenv in the test program.
91684
91685 2000-04-05  Jim Meyering  <meyering@lucent.com>
91686
91687         Portability tweaks required for ultrix4.3.
91688         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
91689         getutent.
91690         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
91691         * lib/canon-host.c: Declare strdup.
91692         * lib/path-concat.c: Likewise.
91693         From John David Anglin.
91694
91695 2000-04-04  Jim Meyering  <meyering@lucent.com>
91696
91697         Be more DOS 8.3-friendly.
91698         * lib/ref-add.sin: Renamed from ref-add.sed.in.
91699         * lib/ref-del.sin: Renamed from ref-del.sed.in.
91700         * lib/Makefile.am: Reflect renaming.
91701         Reported by Eli Zaretskii.
91702
91703         Use a temporary file name that won't clash with `charset.alias'
91704         in the DOS 8.3 name space.
91705         * lib/Makefile.am (charset_tmp): Define.
91706         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
91707         (uninstall-local): Likewise.
91708         Reported by Eli Zaretskii.
91709
91710 2000-04-03  Jim Meyering  <meyering@lucent.com>
91711
91712         * m4/gettext.m4: Fix typo in comment.
91713
91714         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
91715         textutils/configure.in).  Suggestion from Paul Eggert.
91716         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
91717
91718 2000-04-02  Paul Eggert  <eggert@twinsun.com>
91719
91720         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
91721         variable in the shell rather than using putenv, which isn't
91722         portable.  This avoids the configure-time inter-test dependency
91723         on the potentially-renamed putenv function.
91724
91725 2000-03-30  Paul Eggert  <eggert@twinsun.com>
91726
91727         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
91728         before checking struct stat.st_blksize, so that
91729         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
91730
91731 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91732
91733         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
91734         since strftime.c uses HAVE_STRFTIME to decide whether to use
91735         the underlying strftime.
91736
91737 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91738
91739         * lib/time/strftime.c (my_strftime): Make sure we call the system
91740         strftime, not ourselves, when invoking the underlying strftime.
91741
91742 2000-03-24  Jim Meyering  <meyering@lucent.com>
91743
91744         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
91745         (charset_alias): Define.
91746         (install-exec-local): Factor out common code.
91747         (uninstall-local): Split lines longer than 80.
91748         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
91749         (SUFFIXES): Define.
91750         (.sed.in.sed): New rule.  Don't redirect directly to $@.
91751         (CLEANFILES): Add ref-add.sed and ref-del.sed.
91752
91753 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
91754
91755         * lib/config.charset: Output a line containing "Packages using this
91756         file".
91757         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
91758         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
91759         ref-del.sed): New rules.
91760
91761 2000-03-17  Jim Meyering  <meyering@lucent.com>
91762
91763         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
91764         Otherwise, include <strings.h>
91765
91766 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
91767
91768         * lib/unicodeio.c (utf8_wctomb): New function.
91769         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
91770         format instead of in UCS-4 with platform dependent endianness.
91771
91772 2000-03-10  Jim Meyering  <meyering@lucent.com>
91773
91774         * m4/lib-check.m4: Look for getspnam in -lgen, too.
91775         From Marco Franzen.
91776
91777 2000-03-07  Paul Eggert  <eggert@twinsun.com>
91778
91779         * lib/savedir.c (savedir): Work even if directory size is
91780         negative; this can happen with some screwy NFS configurations.
91781
91782 2000-03-06  Jim Meyering  <meyering@lucent.com>
91783
91784         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
91785         if it's NULL (because we ran out of memory).  From Bruno Haible.
91786
91787 2000-03-05  Jim Meyering  <meyering@lucent.com>
91788
91789         * lib/localcharset.c ("path-concat.h"): Include.
91790         (get_charset_aliases): Use path_concat instead of ANSI string
91791         concatenation.
91792
91793         * lib/unicodeio.h (PARAMS): Define.
91794         Use it to guard prototype.
91795
91796 2000-03-04  Jim Meyering  <meyering@lucent.com>
91797
91798         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
91799         for lib/localcharset.c.
91800
91801 2000-03-04  Jim Meyering  <meyering@lucent.com>
91802
91803         * lib/Makefile.am (install-exec-local): Create $(libdir) before
91804         installing into it.
91805         (uninstall-local): Uncomment this rule so `make distcheck' works
91806         once again.
91807
91808         * lib/unicodeio.c (<errno.h>): Include it.
91809         (errno): Declare if not defined.
91810
91811         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
91812
91813         * lib/config.charset: New version, incorporating remarks from a linux
91814         i18n mailing list.  From Bruno Haible.
91815
91816 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
91817
91818         * m4/codeset.m4: New file.
91819         * m4/iconv.m4: New file.
91820         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
91821
91822 2000-03-03  Jim Meyering  <meyering@lucent.com>
91823
91824         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
91825
91826 2000-03-02  Jim Meyering  <meyering@lucent.com>
91827
91828         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
91829         the messages come out on separate lines.
91830
91831         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
91832         rather than jm_CHECK_DECLARATIONS.
91833         * m4/decl.m4: Remove now-unused file.
91834
91835         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
91836         geteuid.
91837
91838 2000-03-02  Jim Meyering  <meyering@lucent.com>
91839
91840         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
91841
91842 2000-03-01  Jim Meyering  <meyering@lucent.com>
91843
91844         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
91845         * lib/unicodeio.c: Likewise.
91846
91847 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
91848
91849         * lib/config.charset: New file.
91850         * lib/localcharset.c: New file.
91851         * lib/unicodeio.h, lib/unicodeio.c: New files.
91852         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
91853         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
91854         (noinst_HEADERS): Add unicodeio.h.
91855         (all-local, install-exec-local, charset.alias): New targets.
91856
91857 2000-02-28  Paul Eggert  <eggert@twinsun.com>
91858
91859         * lib/quotearg.c (ALERT_CHAR): New macro.
91860         (quotearg_buffer_restyled): Use it.
91861
91862 2000-02-27  Jim Meyering  <meyering@lucent.com>
91863
91864         * m4/check-decl.m4: Add getenv to the list.
91865
91866 2000-02-27  Jim Meyering  <meyering@lucent.com>
91867
91868         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
91869         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
91870
91871         * lib/backupfile.c: Guard inclusion of stdlib.h with
91872         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
91873         Declare malloc if needed.
91874
91875         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
91876         `#ifndef HAVE_DECL..'
91877         now that autoconf always defines the HAVE_DECL_ symbols.
91878         * lib/human.c: Likewise.
91879         * lib/same.c: Likewise.
91880         * lib/strtoumax.c: Likewise.
91881
91882         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
91883         declaration check was not run.
91884         * lib/hash.c: Likewise.
91885         * lib/human.c: Likewise.
91886         * lib/same.c: Likewise.
91887         * lib/strtoumax.c: Likewise.
91888
91889         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
91890         `.', then first look up the entire `.'-containing string as a login
91891         name.
91892
91893 2000-02-23  Jim Meyering  <meyering@lucent.com>
91894
91895         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
91896         in place of my hack.
91897
91898 2000-02-18  Paul Eggert  <eggert@twinsun.com>
91899
91900         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
91901         (textint): New typedef.
91902         (parser_control): Member year changed from int to textint.
91903         All uses changed.
91904         (YYSTYPE): Removed; replaced by %union with int and textint members.
91905         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
91906         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
91907         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
91908         (tSNUMBER, tUNUMBER): Now of type <textintval>.
91909         (date, number, to_year): Use width of number in digits, not its value,
91910         to determine whether it's a 2-digit year, or a 2-digit time.
91911         (yylex): Store number of digits of numeric tokens.
91912         Reported by John Kendall.
91913
91914         (parser_control): Changed from struct parser_control to typedef (for
91915         consistency).  All uses changed.
91916
91917         (tID): Removed; not used.
91918         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
91919
91920 2000-02-14  Paul Eggert  <eggert@twinsun.com>
91921
91922         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
91923         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
91924
91925 2000-02-12  Jim Meyering  <meyering@lucent.com>
91926
91927         * lib/userspec.c (ISDIGIT): Define it.
91928         (isdigit): Remove definition.
91929         (is_number): Use ISDIGIT, not isdigit.
91930         <libintl.h>: Include.
91931         (_ and N_): Define.
91932         (parse_user_spec): Mark translatable strings.
91933
91934 2000-02-10  Jim Meyering  <meyering@lucent.com>
91935
91936         With these changes, nanosleep.[ch] are finally enough like the other
91937         lib/* replacement files to compile on a few more losing systems.
91938
91939         * lib/nanosleep.h: Don't include config.h.
91940         Remove prototype from declaration of nanosleep.
91941         (PARAMS): Remove now-unneeded definition.
91942         * lib/nanosleep.c: #undef nanosleep.
91943         (rpl_nanosleep): Rename from nanosleep.
91944
91945 2000-02-10  Jim Meyering  <meyering@lucent.com>
91946
91947         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
91948         gnu_nanosleep to rpl_nanosleep.
91949
91950 2000-02-09  Jim Meyering  <meyering@lucent.com>
91951
91952         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
91953         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
91954
91955 2000-02-08  Akim Demaille  <akim@epita.fr>
91956
91957         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
91958         `[' and `]' and remove uses of `changequote'.
91959         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
91960         (AC_SYS_LARGEFILE): Likewise.
91961         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
91962         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
91963         of changequote.
91964         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
91965         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
91966         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
91967         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
91968
91969 2000-02-05  Jim Meyering  <meyering@lucent.com>
91970
91971         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
91972         Remove explicit use of AC_HEADER_TIME.  It is required by
91973         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
91974         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
91975         in autoconf whereby the expansion of the latter ended up preceding
91976         the expansion of its prerequisite, AC_HEADER_TIME.
91977         Reported by Volker Borchert.
91978
91979 2000-02-03  Jim Meyering  <meyering@lucent.com>
91980
91981         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
91982
91983 2000-02-03  Jim Meyering  <meyering@lucent.com>
91984
91985         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
91986         rather than with `#if HAVE_UTMPNAME'.
91987
91988 2000-02-02  Jim Meyering  <meyering@lucent.com>
91989
91990         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
91991         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
91992         Reported by Eli Zaretskii.
91993
91994 2000-02-01  Jim Meyering  <meyering@lucent.com>
91995
91996         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
91997
91998 2000-01-31  Jim Meyering  <meyering@lucent.com>
91999
92000         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
92001         functions.  Add the time.h and sys/time.h headers along with the
92002         AC_REQUIRE'ment of AC_HEADER_TIME.
92003
92004 2000-01-31  Jim Meyering  <meyering@lucent.com>
92005
92006         * lib/nanosleep.h (nanosleep): Guard declaration with
92007         `#if ! HAVE_DECL_NANOSLEEP'.
92008         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
92009         the declaration in that vendor's sys/timers.h.
92010         Reported by Christian Krackowizer.
92011
92012         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
92013         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
92014         (ISPRINT): Likewise.
92015         Reported by Tom Tromey.
92016
92017 2000-01-30  Jim Meyering  <meyering@lucent.com>
92018
92019         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
92020
92021         * m4/prereq.m4 (utmp_includes): Define.
92022         Check for ut_user and ut_name members in both struct utmpx
92023         and struct utmp.
92024
92025 2000-01-30  Jim Meyering  <meyering@lucent.com>
92026
92027         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
92028         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
92029         header files where only utmpx.ut_user is declared.
92030
92031         * lib/readutmp.h (UT_USER): Define.
92032
92033 2000-01-29  Jim Meyering  <meyering@lucent.com>
92034
92035         * m4/lib-check.m4: New file containing library-related checks from
92036         fileutils and sh-utils (textutils had none).
92037
92038 2000-01-28  Jim Meyering  <meyering@lucent.com>
92039
92040         * m4/perl.m4: Change format of warning message to look more like that
92041         from the missing script.  Suggestion from François Pinard.
92042
92043 2000-01-25  Jim Meyering  <meyering@lucent.com>
92044
92045         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
92046         well as time.h in the compile check.
92047         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
92048         Fix typo in cross-compiling case: s/yes/no/.
92049
92050 2000-01-23  Jim Meyering  <meyering@lucent.com>
92051
92052         * m4/jm-macros.m4: Move df-related tests here from
92053         fileutils/configure.in
92054
92055         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
92056         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
92057
92058         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
92059         s/space/ac_fsusage_space/.
92060         (jm_FILE_SYSTEM_USAGE): Take two parameters.
92061
92062         * m4/ftruncate.m4: New file (derived from part of
92063         fileutils/configure.in).
92064         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
92065         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
92066
92067         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
92068         AC_SUBST these here, rather than just in sh-util/configure.in, so
92069         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
92070         all the same.
92071         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
92072         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
92073         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
92074         (AC_SUBST(POW_LIBM)): Likewise.
92075         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
92076
92077 2000-01-23  Jim Meyering  <meyering@lucent.com>
92078
92079         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
92080         obstack.c.
92081
92082 2000-01-22  Jim Meyering  <meyering@lucent.com>
92083
92084         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
92085
92086         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
92087
92088         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
92089         configure.in
92090         (AC_CHECK_HEADERS): Likewise for sh-utils.
92091         (AC_CHECK_HEADERS): Likewise for textutils.
92092         Merge the three lists of headers.
92093
92094         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
92095         from fileutils' configure.in.
92096
92097         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
92098         code. Moved tests into their own function (_jm_DECL_HEADERS) in
92099         check-decl.m4.
92100
92101         * m4/check-decl.m4: Use #if rather than #ifdef.
92102         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
92103         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
92104         (_jm_DECL_HEADERS): Define new function.
92105         (jm_CHECK_DECLARATIONS): Require it.
92106
92107 2000-01-22  Jim Meyering  <meyering@lucent.com>
92108
92109         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
92110         [! HAVE_DECL_STRTOULL]: Declare strtoull.
92111         Required for some AIX systems.  Reported by Christian Krackowizer.
92112         [TESTING] (main): New function.
92113
92114         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
92115         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
92116         letters.
92117
92118         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
92119         iswprint.
92120
92121         * lib/strverscmp.c (ISDIGIT): Define.
92122         (strverscmp): Use ISDIGIT, not isdigit.
92123
92124 2000-01-19  Jim Meyering  <meyering@lucent.com>
92125
92126         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
92127         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
92128         defines `struct timespec' in <sys/time.h>
92129
92130         * m4/c-bs-a.m4: Remove uses of changequote altogether.
92131         Thanks to Akim for explaining.
92132
92133 2000-01-17  Paul Eggert  <eggert@twinsun.com>
92134
92135         * lib/nanosleep.c (nanosleep):
92136         Don't use SA_INTERRUPT to decide whether to call sigaction, as
92137         POSIX.1 doesn't require SA_INTERRUPT and some systems
92138         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
92139         it's been part of POSIX.1 since day 1 (in 1988).
92140
92141 2000-01-17  Jim Meyering  <meyering@lucent.com>
92142
92143         * lib/interlock: Remove unused file.  Reported by François Pinard.
92144
92145 2000-01-16  Paul Eggert  <eggert@twinsun.com>
92146
92147         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
92148         alert, backslash, formfeed, and vertical tab unnecessarily in
92149         shell quoting style.
92150
92151 2000-01-16  Jim Meyering  <meyering@lucent.com>
92152
92153         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
92154         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
92155         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
92156         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
92157
92158 2000-01-16  Jim Meyering  <meyering@lucent.com>
92159
92160         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
92161         because the latter didn't work.
92162
92163 2000-01-15  Jim Meyering  <meyering@lucent.com>
92164
92165         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
92166         (AC_REPLACE_FUNCS): Add memcpy and memset.
92167         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
92168         Add strpbrk.
92169         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
92170
92171 2000-01-12  Jim Meyering  <meyering@lucent.com>
92172
92173         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
92174         (jm_PREREQ): Use it.
92175         (jm_PREREQ_READUTMP): New macro.
92176         (jm_PREREQ): Use it.
92177
92178 2000-01-11  Paul Eggert  <eggert@twinsun.com>
92179
92180         Quote multibyte characters correctly.
92181         * m4/c-bs-a.m4: New file.
92182         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
92183         (jm_PREREQ): Use it.
92184
92185 2000-01-11  Paul Eggert  <eggert@twinsun.com>
92186
92187         * m4/uintmax_t.m4: Port to autoconf 2.13.
92188
92189 2000-01-08  Jim Meyering  <meyering@ascend.com>
92190
92191         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
92192         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
92193
92194 2000-01-04  Jim Meyering  <meyering@ascend.com>
92195
92196         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
92197         jm_STRUCT_DIRENT_D_TYPE.
92198         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
92199         jm_STRUCT_DIRENT_D_INO.
92200         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
92201         jm_STRUCT_UTIMBUF.
92202         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
92203         renamings.
92204         * m4/utime.m4: Likewise.
92205
92206         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
92207         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
92208
92209 2000-01-03  Paul Eggert  <eggert@twinsun.com>
92210
92211         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
92212         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
92213
92214 2000-01-02  Jim Meyering  <meyering@ascend.com>
92215
92216         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
92217         remember if this is necessary.
92218
92219 1999-12-26  Jim Meyering  <meyering@ascend.com>
92220
92221         * m4/jm-macros.m4: Use it here.
92222         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
92223
92224 1999-12-23  Jim Meyering  <meyering@ascend.com>
92225
92226         * m4/jm-macros.m4: Check for clock_gettime (moved from
92227         fileutils/configure.in)
92228         Check for gettimeofday.
92229
92230 1999-12-20  Jim Meyering  <meyering@ascend.com>
92231
92232         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
92233         autoconf-2.14a-1999-12-20.
92234
92235 1999-12-19  Jim Meyering  <meyering@ascend.com>
92236
92237         * m4/lstat-slash.m4: New file.
92238         * m4/jm-macros.m4: Use the new macro:
92239         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92240
92241 1999-12-07  Jim Meyering  <meyering@ascend.com>
92242
92243         * m4/perl.m4: Require that File::Compare be available, too.
92244         Too many systems seem to lack it.
92245
92246         * m4/strftime.m4: Add checks for most of the cpp macros tested in
92247         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
92248
92249 1999-11-18  Paul Eggert  <eggert@twinsun.com>
92250
92251         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
92252         problem with the QNX 4.25 shell, which doesn't propagate exit
92253         status of failed commands inside shell assignments.
92254
92255 1999-11-17  Jim Meyering  <meyering@ascend.com>
92256
92257         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
92258
92259 1999-11-07  Jim Meyering  <meyering@ascend.com>
92260
92261         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
92262
92263 1999-11-06  Jim Meyering  <meyering@ascend.com>
92264
92265         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
92266         * m4/jm-macros.m4 (jm_MACROS): Use it here.
92267
92268 1999-11-05  Jim Meyering  <meyering@ascend.com>
92269
92270         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
92271         configure.in of textutils, fileutils, and sh-utils into this one
92272         (shared between those packages) file.
92273         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
92274         AC_STRUCT_ST_BLKSIZE.
92275
92276 1999-11-03  Jim Meyering  <meyering@ascend.com>
92277
92278         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
92279         of AC_CHECK_TYPE checks includes unistd.h.
92280         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
92281         Suggestion from Akim Demaille.
92282
92283 1999-10-30  Jim Meyering  <meyering@ascend.com>
92284
92285         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
92286         m4-quoted string.
92287         * m4/ls-mntd-fs.m4: Likewise.
92288         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
92289         * m4/jm-winsz1.m4: Likewise.
92290
92291         * m4/const.m4: Remove file, since the fix made it into the experimental
92292         version of autoconf.
92293         * m4/mktime.m4: Likewise.
92294
92295         * m4/check-type.m4: Remove file, now that the latest version of
92296         AC_CHECK_TYPE takes a third arg to specify additional #includes.
92297
92298         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
92299         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
92300         AC_CHECK_TYPE.
92301
92302 1999-10-04  Jim Meyering  <meyering@ascend.com>
92303
92304         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
92305
92306 1999-09-22  Paul Eggert  <eggert@twinsun.com>
92307
92308         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
92309         2.95.1 bug with HP-UX 10.20.
92310
92311 1999-09-17  Jim Meyering  <meyering@ascend.com>
92312
92313         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
92314         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
92315         due to missing strdup (against sh-utils-2.0).
92316
92317 1999-08-29  Jim Meyering  <meyering@ascend.com>
92318
92319         * m4/jm-macros.m4: Require jm_BISON.
92320         * m4/bison.m4: New file.
92321
92322 1999-08-17  Paul Eggert  <eggert@twinsun.com>
92323
92324         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
92325         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
92326
92327 1999-08-05  Jim Meyering  <meyering@ascend.com>
92328
92329         * m4/getline.m4: Rename test file from conftestdata to conftest.data
92330         to avoid conflicts with `conftest' on 8+3 filesystems.
92331         Suggestion from Eli Zaretskii.
92332
92333 1999-08-04  Jim Meyering  <meyering@ascend.com>
92334
92335         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
92336         fileutils and sh-utils (textutils's getline test was inadequate).
92337         (AM_FUNC_GETLINE): Run this test.
92338         (AC_CHECK_FUNCS): Check for getdelim.
92339         Reported by Bob Proulx.
92340
92341 1999-08-02  Jim Meyering  <meyering@ascend.com>
92342
92343         * m4/jm-macros.m4: Add a comment.
92344
92345 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92346
92347         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
92348         <inttypes.h> defines strtoumax as a macro (and not as a
92349         function).
92350
92351 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92352
92353         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
92354         that we can shift, multiply and divide unsigned long long
92355         values; Ultrix cc can't do it.
92356
92357 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92358
92359         * m4/mktime.m4: New file, which is a preview of what should appear
92360         in the next public autoconf release.
92361
92362 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92363
92364         * m4/lfs.m4: Remove this file.
92365         * m4/largefile.m4: New file.  It contains the old contents of
92366         lfs.m4, except that all names with prefix AC_LFS have been
92367         changed to use the prefix AC_SYS_LARGEFILE instead, to be
92368         compatible with future autoconf versions.  Also, some minor m4
92369         quoting problems have been fixed.
92370
92371 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92372
92373         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
92374         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
92375         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
92376         and simplify the shell code.
92377
92378 1999-08-01  Jim Meyering  <meyering@ascend.com>
92379
92380         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
92381         m4.
92382
92383 1999-07-20  Jim Meyering  <meyering@ascend.com>
92384
92385         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
92386
92387 1999-07-15  Jim Meyering  <meyering@ascend.com>
92388
92389         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
92390
92391 1999-05-22  Jim Meyering  <meyering@ascend.com>
92392
92393         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
92394
92395 1999-05-20  Jim Meyering  <meyering@ascend.com>
92396
92397         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
92398         Add a colon after each `then' in case $4 is empty.
92399
92400 1999-05-16  Jim Meyering  <meyering@ascend.com>
92401
92402         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
92403
92404 1999-05-10  Jim Meyering  <meyering@ascend.com>
92405
92406         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
92407
92408         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
92409         AC_FUNC_MKTIME.
92410
92411 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
92412
92413         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
92414
92415 1999-05-04  Paul Eggert  <eggert@twinsun.com>
92416
92417         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
92418         not CPPFLAGS, so that linking works correctly in IRIX.
92419
92420 1999-04-30  Paul Eggert  <eggert@twinsun.com>
92421
92422         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
92423
92424 1999-04-20  Paul Eggert  <eggert@twinsun.com>
92425
92426         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
92427         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
92428         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
92429         jm_AC_TYPE_UNSIGNED_LONG_LONG.
92430         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
92431
92432         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
92433
92434 1999-04-20  Jim Meyering  <meyering@ascend.com>
92435
92436         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
92437         AC_REPLACE xstroull if necessary.  From Paul Eggert.
92438         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
92439
92440 1999-04-18  Jim Meyering  <meyering@ascend.com>
92441
92442         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
92443         * m4/jm-macros.m4: Use it.
92444
92445 1999-04-06  Jim Meyering  <meyering@ascend.com>
92446
92447         * m4/strftime.m4: Remove test for %f.
92448
92449 1999-03-29  Jim Meyering  <meyering@ascend.com>
92450
92451         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
92452         superset of the AC_TYPE_* checks in the textutils, fileutils,
92453         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
92454         AC_TYPE_PID_T.
92455
92456 1999-03-28  Jim Meyering  <meyering@ascend.com>
92457
92458         * m4/jm-macros.m4: Define GNU_PACKAGE here.
92459         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
92460         replaced e.g., in the *.sh files of the sh-utils.
92461
92462 1999-03-20  Jim Meyering  <meyering@ascend.com>
92463
92464         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
92465         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
92466         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
92467
92468 1999-03-19  Jim Meyering  <meyering@ascend.com>
92469
92470         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
92471
92472 1999-03-12  Jim Meyering  <meyering@ascend.com>
92473
92474         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
92475
92476 1999-03-07  Jim Meyering  <meyering@ascend.com>
92477
92478         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
92479         declared.
92480
92481 1999-02-17  Jim Meyering  <meyering@ascend.com>
92482
92483         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
92484         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
92485
92486 1999-02-07  Jim Meyering  <meyering@ascend.com>
92487
92488         * m4/group-member.m4: New file -- extracted from sh-utils'
92489         configure.in.
92490
92491         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
92492         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
92493
92494 1999-02-06  Jim Meyering  <meyering@ascend.com>
92495
92496         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
92497         * m4/fnmatch.m4: Likewise.
92498         * m4/getgroups.m4: Likewise.
92499         * m4/lstat.m4: Likewise.
92500         * m4/malloc.m4: Likewise.
92501         * m4/putenv.m4: Likewise.
92502         * m4/realloc.m4: Likewise.
92503         * m4/regex.m4: Likewise.
92504         * m4/stat.m4: Likewise.
92505         * m4/strftime.m4: Likewise.
92506         Suggestion from Alain Magloire.
92507
92508         * m4/chown.m4: Use `.$ac_objext', not `.o'.
92509         * m4/fnmatch.m4: Likewise.
92510         * m4/getgroups.m4: Likewise.
92511         * m4/getline.m4: Likewise.
92512         * m4/lstat.m4: Likewise.
92513         * m4/malloc.m4: Likewise.
92514         * m4/memcmp.m4: Likewise.
92515         * m4/putenv.m4: Likewise.
92516         * m4/realloc.m4: Likewise.
92517         * m4/regex.m4: Likewise.
92518         * m4/stat.m4: Likewise.
92519         * m4/strftime.m4: Likewise.
92520         Suggestion from Alain Magloire.
92521
92522         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
92523         an argument.
92524
92525         * m4/regex.m4: Add a run-time Test for proper operation of
92526         re_compile_pattern.
92527
92528 1999-01-31  Jim Meyering  <meyering@ascend.com>
92529
92530         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
92531
92532 1999-01-30  Jim Meyering  <meyering@ascend.com>
92533
92534         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
92535
92536         * m4/jm-mktime.m4: Make this a wrapper around the official
92537         AM_FUNC_MKTIME rather than my private copy, now that the official one
92538         is up to date.
92539         * m4/mktime.m4: Remove file.
92540
92541         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
92542         * m4/uptime.m4: Likewise.
92543         * m4/uintmax_t.m4: Likewise.
92544
92545 1999-01-28  Jim Meyering  <meyering@ascend.com>
92546
92547         * m4/jm-macros.m4: Use jm_AFS.
92548         * m4/afs.m4: New file (from fileutils' configure.in).
92549
92550         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
92551         * m4/chown.m4: Likewise.
92552         * m4/d-ino.m4: Likewise.
92553         * m4/d-type.m4: Likewise.
92554         * m4/fnmatch.m4: Likewise.
92555         * m4/getgroups.m4: Likewise.
92556         * m4/gettext.m4: Likewise.
92557         * m4/jm-mktime.m4: Likewise.
92558         * m4/jm-winsz2.m4: Likewise.
92559         * m4/lcmessage.m4: Likewise.
92560         * m4/ls-mntd-fs.m4: Likewise.
92561         * m4/malloc.m4: Likewise.
92562         * m4/memcmp.m4: Likewise.
92563         * m4/putenv.m4: Likewise.
92564         * m4/realloc.m4: Likewise.
92565         * m4/st_mtim.m4: Likewise.
92566         * m4/strftime.m4: Likewise.
92567
92568 1999-01-16  Jim Meyering  <meyering@ascend.com>
92569
92570         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
92571         (ARGMATCH_DIE_DECL): Define.
92572
92573 1999-01-12  Jim Meyering  <meyering@ascend.com>
92574
92575         * m4/Makefile.am.in: Rewrite to avoid using fmt.
92576         Reported by Lars Hecking.
92577
92578 1999-01-10  Jim Meyering  <meyering@ascend.com>
92579
92580         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
92581         gross kludge.
92582         * m4/inttypes_h.m4: Likewise.
92583         * m4/lstat.m4: Likewise.
92584         * m4/malloc.m4: Likewise.
92585         * m4/readdir.m4: Likewise.
92586         * m4/realloc.m4: Likewise.
92587         * m4/st_dm_mode.m4: Likewise.
92588         * m4/stat.m4: Likewise.
92589         * m4/utimbuf.m4: Likewise.
92590         * m4/utimes.m4: Likewise.
92591
92592         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
92593         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
92594         comments in config.h.in are meaningful.
92595
92596         * m4/jm-macros.m4: Require autoconf-2.13 here.
92597
92598         * m4/regex.m4: By default, don't use the included regex.c on systems
92599         with glibc 2.  Suggestion from Uli Drepper.
92600
92601 1999-01-02  Jim Meyering  <meyering@ascend.com>
92602
92603         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
92604
92605 1998-12-18  Jim Meyering  <meyering@ascend.com>
92606
92607         * m4/Makefile.am.in (Makefile.am): Simplify rule.
92608         Based on a suggestion from Lars Hecking.
92609
92610 1998-11-16  Paul Eggert  <eggert@twinsun.com>
92611
92612         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
92613
92614 1998-11-16  Jim Meyering  <meyering@ascend.com>
92615
92616         * m4/lfs.m4: Double-quote the `uname...` expression.
92617
92618 1998-11-14  Jim Meyering  <meyering@ascend.com>
92619
92620         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
92621         * m4/stat.m4: Likewise.
92622
92623 1998-11-03  Jim Meyering  <meyering@ascend.com>
92624
92625         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
92626         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
92627
92628 1998-10-18  Jim Meyering  <meyering@ascend.com>
92629
92630         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
92631
92632 1998-10-17  Jim Meyering  <meyering@ascend.com>
92633
92634         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
92635         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
92636         calls for those previously hard-coded headers.  Instead, take a new
92637         parameter.
92638         (jm_CHECK_DECLARATIONS): Reflect interface change.
92639         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
92640         (jm_CHECK_DECL_LOCALTIME_R): New macro.
92641
92642         * m4/mktime.m4: Test for spring-forward gap before long-running test.
92643
92644 1998-10-14  Jim Meyering  <meyering@ascend.com>
92645
92646         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
92647         instead of "TZ=America/Vancouver".  From Paul Eggert.
92648
92649 1998-10-11  Jim Meyering  <meyering@ascend.com>
92650
92651         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
92652         This adds a test for a recently added compatibility fix for mktime.c.
92653         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
92654
92655 1998-09-27  Jim Meyering  <meyering@ascend.com>
92656
92657         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
92658
92659         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
92660         ../configure.in, including a change from Gordon Matzigkeit to allow
92661         cross-compiling for the Hurd.
92662
92663         * m4/glibc.m4: New file/macro to test for the GNU C Library
92664         versions 1 and 2.  From Gordon Matzigkeit.
92665         Indent.
92666
92667 1998-09-21  Jim Meyering  <meyering@ascend.com>
92668
92669         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
92670
92671 1998-08-18  Paul Eggert  <eggert@twinsun.com>
92672
92673         Port nanosecond-resolution times to UnixWare 2.1.2 and
92674         pedantic Solaris 2.6.
92675
92676         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
92677         AC_STRUCT_ST_MTIM.
92678         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
92679         Generate name of ns member, instead of just 1 or undef.
92680         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
92681
92682 1998-08-15  Jim Meyering  <meyering@ascend.com>
92683
92684         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
92685         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
92686         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
92687         instead of jm_TYPE_SSIZE_T.
92688
92689 1998-08-12  Jim Meyering  <meyering@ascend.com>
92690
92691         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
92692
92693 1998-08-02  Jim Meyering  <meyering@ascend.com>
92694
92695         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
92696         in acconfig.h manually.
92697
92698 1998-07-31  Paul Eggert  <eggert@twinsun.com>
92699
92700         * m4/st_mtim.m4: New file.
92701
92702 1998-07-28  Jim Meyering  <meyering@ascend.com>
92703
92704         * m4/utimes.m4: Undef stat.
92705
92706 1998-07-25  Jim Meyering  <meyering@ascend.com>
92707
92708         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
92709         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
92710
92711 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
92712
92713         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
92714         uid and gid actually remain unchanged.
92715
92716 1998-07-07  Jim Meyering  <meyering@ascend.com>
92717
92718         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
92719
92720 1998-07-04  Jim Meyering  <meyering@ascend.com>
92721
92722         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
92723         to prove that this macro can be used in packages without regex.c.
92724
92725 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
92726
92727         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
92728         is to be used.
92729
92730 1998-07-03  Jim Meyering  <meyering@ascend.com>
92731
92732         * m4/gettext.m4: Add -lintl if it's found to be necessary.
92733
92734         * m4/gettext.m4: New file -- from gettext-0.10.35.
92735         * m4/lcmessage.m4: Likewise.
92736         * m4/progtest.m4: Likewise.
92737
92738         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
92739         * m4/jm-macros.m4: Require the new macro.
92740
92741 1998-06-29  Jim Meyering  <meyering@ascend.com>
92742
92743         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
92744         for the definition of NGROUPS (used in a system header included
92745         by sys/mount.h).
92746
92747 1998-06-28  Jim Meyering  <meyering@ascend.com>
92748
92749         * m4/ls-mntd-fs.m4: New file.
92750         * m4/fstypename.m4: New file.
92751
92752         * m4/jm-macros.m4: Require the new macro.
92753         * m4/jm-glibc-io.m4: New file.
92754
92755 1998-05-19  Jim Meyering  <meyering@ascend.com>
92756
92757         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
92758         * m4/lchown.m4: New file.
92759
92760         * m4/Makefile.am.in: New file.
92761         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
92762
92763 1998-05-14  Jim Meyering  <meyering@ascend.com>
92764
92765         * m4/Makefile.am (EXTRA_DIST): Add them.
92766         * m4/jm-macros.m4: New file.
92767         * m4/utimbuf.m4: New file.
92768
92769 1998-05-12  Jim Meyering  <meyering@ascend.com>
92770
92771         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
92772
92773 1998-05-11  Jim Meyering  <meyering@ascend.com>
92774
92775         * m4/isc-posix.m4: New file.
92776
92777 1998-05-10  Jim Meyering  <meyering@ascend.com>
92778
92779         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
92780
92781 1998-05-09  Jim Meyering  <meyering@ascend.com>
92782
92783         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
92784         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
92785         with automake.
92786
92787         * m4/ssize_t.m4: New file.
92788         * m4/mktime.m4: Remove file -- the new automake has this now.
92789
92790 1998-04-26  Jim Meyering  <meyering@ascend.com>
92791
92792         * m4/assert.m4: New file.
92793         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
92794
92795 1998-04-05  Jim Meyering  <meyering@ascend.com>
92796
92797         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
92798         (jm_PREREQ): Use it here.
92799
92800 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
92801
92802         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
92803         in acconfig.h.
92804
92805 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
92806
92807         * m4/prereq.m4: New file.
92808         * m4/error.m4: New file.
92809         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
92810
92811 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
92812
92813         * m4/getline.m4: Don't set am_cv_func_working_getline before the
92814         cache-check for the same variable -- that defeated the purpose of
92815         the test; the test program was never run.  This was a problem only
92816         on systems with losing getline functions -- HP-UX 10.20 is one.
92817         Reported by Bjorn Helgaas.
92818
92819 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
92820
92821         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
92822
92823 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
92824
92825         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
92826
92827         * m4/const.m4: New file.  Use an initializer in this declaration
92828         typedef int charset[2]; const charset x;
92829         Reported by Bob Glickstein.
92830
92831 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
92832
92833         * m4/chown.m4: Fix reversed types on -1 args to chown.
92834         From Kaveh Ghazi.
92835
92836 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
92837
92838         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
92839         Add lseek and memchr.
92840
92841         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
92842         T.E.Dickey <dickey@clark.net> said that some older preprocessors
92843         have a 20-character limit on names.
92844
92845 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
92846
92847         * m4/inttypes_h.m4: New file.
92848         * m4/uintmax_t.m4: New file.
92849         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
92850
92851
92852         -----
92853
92854         Local Variables:
92855         coding: utf-8
92856         End:
92857
92858         Copyright (C) 1997-2012 Free Software Foundation, Inc.
92859
92860         Copying and distribution of this file, with or without
92861         modification, are permitted provided the copyright notice
92862         and this notice are preserved.